Class: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit

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

Defined Under Namespace

Modules: Proration, RateType, RecurrenceFrequency Classes: AccessAmount, CommitDuration, Duration, InvoiceAmount, Product, ProrationRounding, StartingAtOffset, SubscriptionConfig

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(credit_type_id:, quantity:, unit_price:) ⇒ Object

The amount the customer should be billed for the commit.

Parameters:

  • credit_type_id (String)
  • quantity (Float)
  • unit_price (Float)


# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1494

Instance Attribute Details

#access_amountMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::AccessAmount

The amount of commit to grant.



1371
1372
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1371

required :access_amount,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::AccessAmount }

#applicable_product_idsArray<String>?

Will be passed down to the individual commits

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


1411
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1411

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)


1417
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1417

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

#commit_durationMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::CommitDuration

The amount of time each of the created commits will be valid for



1378
1379
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1378

required :commit_duration,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::CommitDuration }

#descriptionString?

Parameters:

  • (String)

Returns:

  • (String, nil)


1422
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1422

optional :description, String

#durationMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::Duration?

Offset relative to the recurring credit start that determines when the contract will stop creating recurring commits. optional



1429
1430
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1429

optional :duration,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::Duration }

#idString

Parameters:

  • value (String)

Returns:

  • (String)


1365
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1365

required :id, String

#invoice_amountMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::InvoiceAmount?

The amount the customer should be billed for the commit.



1436
1437
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1436

optional :invoice_amount,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::InvoiceAmount }

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


1442
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1442

optional :name, String

#priorityFloat

Parameters:

  • value (Float)

Returns:

  • (Float)


1384
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1384

required :priority, Float

#productMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::Product



1389
1390
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1389

required :product,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::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).



1449
1450
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1449

optional :proration,
enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::Proration }

#proration_roundingMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding?

Rounding configuration for prorated recurring commit amounts.



1456
1457
1458
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1456

optional :proration_rounding,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding },
nil?: true

#rate_typeSymbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::RateType

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

Parameters:

  • value (MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::rate_type)

Returns:



1396
1397
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1396

required :rate_type,
enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::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.



1468
1469
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1468

optional :recurrence_frequency,
enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::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)


1477
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1477

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:



1485
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1485

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

#starting_at_offsetMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::StartingAtOffset

Offset relative to the contract start date that determines the start time for the first commit



1404
1405
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1404

required :starting_at_offset,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::StartingAtOffset }

#subscription_configMetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::SubscriptionConfig?

Attach a subscription to the recurring commit/credit.



1491
1492
# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1491

optional :subscription_config,
-> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::SubscriptionConfig }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/v1/package_retrieve_response.rb', line 1587

Instance Method Details

#to_hash{

Returns:

  • ({)


1574
# File 'sig/metronome_sdk/models/v1/package_retrieve_response.rbs', line 1574

def to_hash: -> {