Class: MetronomeSDK::Models::ContractV2::RecurringCredit

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/metronome_sdk/models/contract_v2.rb,
sig/metronome_sdk/models/contract_v2.rbs

Defined Under Namespace

Modules: Proration, RateType, RecurrenceFrequency Classes: AccessAmount, CommitDuration, Contract, Product, ProrationRounding

Constant Summary collapse

MetronomeSDK =

Returns:

  • (:CommitHierarchyConfiguration)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(id:) ⇒ Object

Parameters:

  • id (String)


# File 'lib/metronome_sdk/models/contract_v2.rb', line 3392

Instance Attribute Details

#access_amountMetronomeSDK::Models::ContractV2::RecurringCredit::AccessAmount

The amount of commit to grant.

Parameters:

  • value (MetronomeSDK::ContractV2::RecurringCredit::AccessAmount)

Returns:



3265
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3265

required :access_amount, -> { MetronomeSDK::ContractV2::RecurringCredit::AccessAmount }

#applicable_product_idsArray<String>?

Will be passed down to the individual commits

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


3300
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3300

optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]

#applicable_product_tagsArray<String>?

Will be passed down to the individual commits

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


3306
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3306

optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]

#commit_durationMetronomeSDK::Models::ContractV2::RecurringCredit::CommitDuration

The amount of time the created commits will be valid for

Parameters:

  • value (MetronomeSDK::ContractV2::RecurringCredit::CommitDuration)

Returns:



3271
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3271

required :commit_duration, -> { MetronomeSDK::ContractV2::RecurringCredit::CommitDuration }

#contractMetronomeSDK::Models::ContractV2::RecurringCredit::Contract?



3311
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3311

optional :contract, -> { MetronomeSDK::ContractV2::RecurringCredit::Contract }

#descriptionString?

Will be passed down to the individual commits

Parameters:

  • (String)

Returns:

  • (String, nil)


3317
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3317

optional :description, String

#ending_beforeTime?

Determines when the contract will stop creating recurring commits. Optional

Parameters:

  • (Time)

Returns:

  • (Time, nil)


3323
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3323

optional :ending_before, Time

#hierarchy_configurationMetronomeSDK::Models::CommitHierarchyConfiguration?

Optional configuration for recurring credit hierarchy access control



3329
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3329

optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }

#idString

Parameters:

  • value (String)

Returns:

  • (String)


3259
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3259

required :id, String

#nameString?

Displayed on invoices. Will be passed through to the individual commits

Parameters:

  • (String)

Returns:

  • (String, nil)


3335
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3335

optional :name, String

#netsuite_sales_order_idString?

Will be passed down to the individual commits

Parameters:

  • (String)

Returns:

  • (String, nil)


3341
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3341

optional :netsuite_sales_order_id, String

#priorityFloat

Will be passed down to the individual commits

Parameters:

  • value (Float)

Returns:

  • (Float)


3277
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3277

required :priority, Float

#productMetronomeSDK::Models::ContractV2::RecurringCredit::Product

Parameters:

  • value (MetronomeSDK::ContractV2::RecurringCredit::Product)

Returns:



3282
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3282

required :product, -> { MetronomeSDK::ContractV2::RecurringCredit::Product }

#prorationSymbol, ...

Determines whether the first and last commit will be prorated. If not provided, the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).



3348
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3348

optional :proration, enum: -> { MetronomeSDK::ContractV2::RecurringCredit::Proration }

#proration_roundingMetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding?

Rounding configuration for prorated recurring credit amounts.

Parameters:

  • value (MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding, nil)

Returns:



3354
3355
3356
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3354

optional :proration_rounding,
-> { MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding },
nil?: true

#rate_typeSymbol, MetronomeSDK::Models::ContractV2::RecurringCredit::RateType

Whether the created commits will use the commit rate or list rate

Parameters:

  • value (MetronomeSDK::Models::ContractV2::RecurringCredit::rate_type)

Returns:



3288
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3288

required :rate_type, enum: -> { MetronomeSDK::ContractV2::RecurringCredit::RateType }

#recurrence_frequencySymbol, ...

The frequency at which the recurring commits will be created. If not provided: - The commits will be created on the usage invoice frequency. If provided: - The period defined in the duration will correspond to this frequency. - Commits will be created aligned with the recurring commit's starting_at rather than the usage invoice dates. - Daily recurring commits have a limit of one per contract, and are unable to be created with seat-based subscriptions



3367
3368
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3367

optional :recurrence_frequency,
enum: -> { MetronomeSDK::ContractV2::RecurringCredit::RecurrenceFrequency }

#rollover_fractionFloat?

Will be passed down to the individual commits. This controls how much of an individual unexpired commit will roll over upon contract transition. Must be between 0 and 1.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


3376
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3376

optional :rollover_fraction, Float

#specifiersArray<MetronomeSDK::Models::CommitSpecifier>?

List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown.

Returns:



3384
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3384

optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }

#starting_atTime

Determines the start time for the first commit

Parameters:

  • value (Time)

Returns:

  • (Time)


3294
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3294

required :starting_at, Time

#subscription_configMetronomeSDK::Models::RecurringCommitSubscriptionConfig?

Attach a subscription to the recurring commit/credit.



3390
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3390

optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/contract_v2.rb', line 3487

Instance Method Details

#to_hash{

Returns:

  • ({)


3260
# File 'sig/metronome_sdk/models/contract_v2.rbs', line 3260

def to_hash: -> {