Class: MetronomeSDK::Models::Commit

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

Defined Under Namespace

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

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

The contract that this commit will be billed on.

Parameters:

  • id (String) (defaults to: )


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


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.

Returns:

  • (Float, nil)


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

optional :amount, Float

#applicable_contract_idsArray<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>?

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>?

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.

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.

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 }

#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

Returns:

  • (Time)


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

required :created_at, Time

#custom_fieldsHash{Symbol=>String}?

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

Returns:

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


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

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

#descriptionString?

Returns:

  • (String, nil)


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

optional :description, String

#hierarchy_configurationMetronomeSDK::Models::CommitHierarchyConfiguration?

Optional configuration for commit hierarchy access control



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

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

#idString

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.



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

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

#invoice_scheduleMetronomeSDK::Models::SchedulePointInTime?

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



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

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.



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

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

#nameString?

Returns:

  • (String, nil)


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

optional :name, String

#netsuite_sales_order_idString?

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

Returns:

  • (String, nil)


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

optional :netsuite_sales_order_id, String

#priorityFloat?

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

Returns:

  • (Float, nil)


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

optional :priority, Float

#productMetronomeSDK::Models::Commit::Product



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

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

#rate_typeSymbol, ...

Returns:



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

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

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



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

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

#rollover_fractionFloat?

Returns:

  • (Float, nil)


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

optional :rollover_fraction, Float

#salesforce_opportunity_idString?

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

Returns:

  • (String, nil)


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

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:



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

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

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



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.

Returns:

  • (String, nil)


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

optional :uniqueness_key, String

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


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


.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 906