Class: MetronomeSDK::Models::Commit

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

Defined Under Namespace

Modules: Ledger, RateType, Type Classes: Contract, InvoiceContract, Product, RolledOverFrom, SpendTrackerAttributes, SubscriptionConfig

Constant Summary collapse

MetronomeSDK =

Returns:

  • (:ScheduleDuration)

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(counts_as_discounted:) ⇒ Object

Some parameter documentations has been truncated, see SpendTrackerAttributes for more details.

Optional attributes controlling how this commit interacts with spend trackers.

Parameters:

  • counts_as_discounted (Boolean)

    If true, this commit is included in spend trackers with discounted set to DISCOU



# File 'lib/metronome_sdk/models/commit.rb', line 209

Instance Attribute Details

#access_scheduleMetronomeSDK::Models::ScheduleDuration?

The schedule that the customer will gain access to the credits purposed with this commit.



36
# File 'lib/metronome_sdk/models/commit.rb', line 36

optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }

#amountFloat?

(DEPRECATED) Use access_schedule + invoice_schedule instead.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


42
# File 'lib/metronome_sdk/models/commit.rb', line 42

optional :amount, Float

#applicable_contract_idsArray<String>?

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


47
# File 'lib/metronome_sdk/models/commit.rb', line 47

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

#applicable_product_idsArray<String>?

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


52
# File 'lib/metronome_sdk/models/commit.rb', line 52

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

#applicable_product_tagsArray<String>?

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


57
# File 'lib/metronome_sdk/models/commit.rb', line 57

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

#archived_atTime?

RFC 3339 timestamp indicating when the commit was archived. If not provided, the commit is not archived.

Parameters:

  • (Time)

Returns:

  • (Time, nil)


64
# File 'lib/metronome_sdk/models/commit.rb', line 64

optional :archived_at, Time

#balanceFloat?

The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


77
# File 'lib/metronome_sdk/models/commit.rb', line 77

optional :balance, Float

#contractMetronomeSDK::Models::Commit::Contract?



82
# File 'lib/metronome_sdk/models/commit.rb', line 82

optional :contract, -> { MetronomeSDK::Commit::Contract }

#cost_basisFloat?

The ratio of the amount paid for the commit to the amount of credit granted.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


88
# File 'lib/metronome_sdk/models/commit.rb', line 88

optional :cost_basis, Float

#created_atTime

Timestamp of when the commit was created.

  • Recurring commits: latter of commit service period date and parent commit start date
  • Rollover commits: when the new contract started

Parameters:

  • value (Time)

Returns:

  • (Time)


19
# File 'lib/metronome_sdk/models/commit.rb', line 19

required :created_at, Time

#created_byString?

The actor who created this commit. Omitted for system-generated commits such as recurring commits, rollover commits, and threshold commits.

Parameters:

  • (String)

Returns:

  • (String, nil)


95
# File 'lib/metronome_sdk/models/commit.rb', line 95

optional :created_by, String

#custom_fieldsHash{Symbol=>String}?

Custom fields to be added eg. { "key1": "value1", "key2": "value2" }

Parameters:

  • (::Hash[Symbol, String])

Returns:

  • (Hash{Symbol=>String}, nil)


101
# File 'lib/metronome_sdk/models/commit.rb', line 101

optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]

#descriptionString?

Parameters:

  • (String)

Returns:

  • (String, nil)


106
# File 'lib/metronome_sdk/models/commit.rb', line 106

optional :description, String

#hierarchy_configurationMetronomeSDK::Models::CommitHierarchyConfiguration?

Optional configuration for commit hierarchy access control



112
# File 'lib/metronome_sdk/models/commit.rb', line 112

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

#idString

Parameters:

  • value (String)

Returns:

  • (String)


9
# File 'lib/metronome_sdk/models/commit.rb', line 9

required :id, String

#invoice_contractMetronomeSDK::Models::Commit::InvoiceContract?

The contract that this commit will be billed on.



118
# File 'lib/metronome_sdk/models/commit.rb', line 118

optional :invoice_contract, -> { MetronomeSDK::Commit::InvoiceContract }

#invoice_scheduleMetronomeSDK::Models::SchedulePointInTime?

The schedule that the customer will be invoiced for this commit.



124
# File 'lib/metronome_sdk/models/commit.rb', line 124

optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }

#ledgerArray<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>?

A list of ordered events that impact the balance of a commit. For example, an invoice deduction or a rollover.



131
# File 'lib/metronome_sdk/models/commit.rb', line 131

optional :ledger, -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Commit::Ledger] }

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


136
# File 'lib/metronome_sdk/models/commit.rb', line 136

optional :name, String

#netsuite_sales_order_idString?

This field's availability is dependent on your client's configuration.

Parameters:

  • (String)

Returns:

  • (String, nil)


142
# File 'lib/metronome_sdk/models/commit.rb', line 142

optional :netsuite_sales_order_id, String

#priorityFloat?

If multiple credits or commits are applicable, the one with the lower priority will apply first.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


149
# File 'lib/metronome_sdk/models/commit.rb', line 149

optional :priority, Float

#productMetronomeSDK::Models::Commit::Product

Parameters:

  • value (MetronomeSDK::Commit::Product)

Returns:



24
# File 'lib/metronome_sdk/models/commit.rb', line 24

required :product, -> { MetronomeSDK::Commit::Product }

#rate_typeSymbol, ...

Returns:



154
# File 'lib/metronome_sdk/models/commit.rb', line 154

optional :rate_type, enum: -> { MetronomeSDK::Commit::RateType }

#recurring_commit_idString?

The ID of the recurring commit that this commit was generated from, if applicable.

Parameters:

  • (String)

Returns:

  • (String, nil)


161
# File 'lib/metronome_sdk/models/commit.rb', line 161

optional :recurring_commit_id, String

#rolled_over_fromMetronomeSDK::Models::Commit::RolledOverFrom?



166
# File 'lib/metronome_sdk/models/commit.rb', line 166

optional :rolled_over_from, -> { MetronomeSDK::Commit::RolledOverFrom }

#rollover_fractionFloat?

Parameters:

  • (Float)

Returns:

  • (Float, nil)


171
# File 'lib/metronome_sdk/models/commit.rb', line 171

optional :rollover_fraction, Float

#salesforce_opportunity_idString?

This field's availability is dependent on your client's configuration.

Parameters:

  • (String)

Returns:

  • (String, nil)


177
# File 'lib/metronome_sdk/models/commit.rb', line 177

optional :salesforce_opportunity_id, String

#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:



185
# File 'lib/metronome_sdk/models/commit.rb', line 185

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

#spend_tracker_attributesMetronomeSDK::Models::Commit::SpendTrackerAttributes?

Optional attributes controlling how this commit interacts with spend trackers.



191
# File 'lib/metronome_sdk/models/commit.rb', line 191

optional :spend_tracker_attributes, -> { MetronomeSDK::Commit::SpendTrackerAttributes }

#subscription_configMetronomeSDK::Models::Commit::SubscriptionConfig?

The subscription configuration for this commit, if it was generated from a recurring commit with a subscription attached.



198
# File 'lib/metronome_sdk/models/commit.rb', line 198

optional :subscription_config, -> { MetronomeSDK::Commit::SubscriptionConfig }

#typeSymbol, MetronomeSDK::Models::Commit::Type

Parameters:

  • value (MetronomeSDK::Models::Commit::type_)

Returns:



29
# File 'lib/metronome_sdk/models/commit.rb', line 29

required :type, enum: -> { MetronomeSDK::Commit::Type }

#uniqueness_keyString?

Prevents the creation of duplicates. If a request to create a commit or credit is made with a uniqueness key that was previously used to create a commit or credit, a new record will not be created and the request will fail with a 409 error.

Parameters:

  • (String)

Returns:

  • (String, nil)


207
# File 'lib/metronome_sdk/models/commit.rb', line 207

optional :uniqueness_key, String

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/commit.rb', line 301

.variantsArray(MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)



# File 'lib/metronome_sdk/models/commit.rb', line 949

Instance Method Details

#to_hash{

Returns:

  • ({)


217
# File 'sig/metronome_sdk/models/commit.rbs', line 217

def to_hash: -> {