Class: MetronomeSDK::Models::ContractV2

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: HierarchyConfiguration, MultiplierOverridePrioritization, ScheduledChargesOnUsageInvoices Classes: BillingProviderConfigurationSchedule, Commit, Credit, CustomerBillingProviderConfiguration, HasMore, Override, RecurringCommit, RecurringCredit, ResellerRoyalty, RevenueSystemConfigurationSchedule, SpendTracker, Subscription, Transition, UsageFilter, UsageStatementSchedule

Constant Summary collapse

MetronomeSDK =

Returns:

  • (:PrepaidBalanceThresholdConfigurationV2)

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(amount:, period_ending_before:, period_starting_at:) ⇒ Object

Parameters:

  • amount (Float)
  • period_ending_before (Time)
  • period_starting_at (Time)


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

Instance Attribute Details

#archived_atTime?

Parameters:

  • (Time)

Returns:

  • (Time, nil)


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

optional :archived_at, Time

#billing_provider_configuration_scheduleArray<MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule>?

The schedule of billing provider configuration changes on the contract, ordered by effective_at ascending.



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

optional :billing_provider_configuration_schedule,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule] }

#commitsArray<MetronomeSDK::Models::ContractV2::Commit>

Parameters:

  • value (::Array[MetronomeSDK::ContractV2::Commit])

Returns:



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

required :commits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Commit] }

#created_atTime

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#created_byString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :created_by, String

#creditsArray<MetronomeSDK::Models::ContractV2::Credit>?



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

optional :credits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Credit] }

#custom_fieldsHash{Symbol=>String}?

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

Parameters:

  • (::Hash[Symbol, String])

Returns:

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


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

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

#customer_billing_provider_configurationMetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration?



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

optional :customer_billing_provider_configuration,
-> { MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration }

#customer_idString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :customer_id, String

#discountsArray<MetronomeSDK::Models::Discount>?

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

Returns:



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

optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }

#ending_beforeTime?

Parameters:

  • (Time)

Returns:

  • (Time, nil)


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

optional :ending_before, Time

#has_moreMetronomeSDK::Models::ContractV2::HasMore?

Indicates whether there are more items than the limit for this endpoint. Use the respective list endpoints to get the full lists.



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

optional :has_more, -> { MetronomeSDK::ContractV2::HasMore }

#hierarchy_configurationMetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration, ...

Either a parent configuration with a list of children or a child configuration with a single parent.



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

optional :hierarchy_configuration, union: -> { MetronomeSDK::ContractV2::HierarchyConfiguration }

#idString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#multiplier_override_prioritizationSymbol, ...

Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list prices automatically. EXPLICIT prioritization requires specifying priorities for each multiplier; the one with the lowest priority value will be prioritized first.



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

optional :multiplier_override_prioritization,
enum: -> { MetronomeSDK::ContractV2::MultiplierOverridePrioritization }

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :name, String

#net_payment_terms_daysFloat?

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :net_payment_terms_days, Float

#netsuite_sales_order_idString?

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

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :netsuite_sales_order_id, String

#overridesArray<MetronomeSDK::Models::ContractV2::Override>

Parameters:

  • value (::Array[MetronomeSDK::ContractV2::Override])

Returns:



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

required :overrides, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Override] }

#prepaid_balance_threshold_configurationMetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2?



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

optional :prepaid_balance_threshold_configuration,
-> { MetronomeSDK::PrepaidBalanceThresholdConfigurationV2 }

#priorityFloat?

Priority of the contract.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :priority, Float

#professional_servicesArray<MetronomeSDK::Models::ProService>?

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

Returns:



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

optional :professional_services, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService] }

#rate_card_idString?

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :rate_card_id, String

#recurring_commitsArray<MetronomeSDK::Models::ContractV2::RecurringCommit>?



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

optional :recurring_commits,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::RecurringCommit] }

#recurring_creditsArray<MetronomeSDK::Models::ContractV2::RecurringCredit>?



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

optional :recurring_credits,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::RecurringCredit] }

#reseller_royaltiesArray<MetronomeSDK::Models::ContractV2::ResellerRoyalty>?

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



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

optional :reseller_royalties,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::ResellerRoyalty] }

#revenue_system_configuration_scheduleArray<MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule>?

The schedule of revenue system configuration changes on the contract, ordered by effective_at ascending.



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

optional :revenue_system_configuration_schedule,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule] }

#salesforce_opportunity_idString?

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

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :salesforce_opportunity_id, String

#scheduled_chargesArray<MetronomeSDK::Models::ScheduledCharge>

Parameters:

Returns:



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

required :scheduled_charges, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge] }

#scheduled_charges_on_usage_invoicesSymbol, ...

Determines which scheduled and commit charges to consolidate onto the Contract's usage invoice. The charge's timestamp must match the usage invoice's ending_before date for consolidation to occur. This field cannot be modified after a Contract has been created. If this field is omitted, charges will appear on a separate invoice from usage charges.



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

optional :scheduled_charges_on_usage_invoices,
enum: -> { MetronomeSDK::ContractV2::ScheduledChargesOnUsageInvoices }

#spend_threshold_configurationMetronomeSDK::Models::SpendThresholdConfigurationV2?



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

optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfigurationV2 }

#spend_trackersArray<MetronomeSDK::Models::ContractV2::SpendTracker>?

Spend trackers attached to this contract.



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

optional :spend_trackers,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::SpendTracker] }

#starting_atTime

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :starting_at, Time

#subscriptionsArray<MetronomeSDK::Models::ContractV2::Subscription>?

List of subscriptions on the contract.



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

optional :subscriptions,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Subscription] }

#total_contract_valueFloat?

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :total_contract_value, Float

#transitionsArray<MetronomeSDK::Models::ContractV2::Transition>

Parameters:

  • value (::Array[MetronomeSDK::ContractV2::Transition])

Returns:



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

required :transitions, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Transition] }

#uniqueness_keyString?

Optional uniqueness key to prevent duplicate contract creations.

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :uniqueness_key, String

#usage_filterArray<MetronomeSDK::Models::ContractV2::UsageFilter>

Parameters:

  • value (::Array[MetronomeSDK::ContractV2::UsageFilter])

Returns:



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

required :usage_filter,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::UsageFilter] }

#usage_statement_scheduleMetronomeSDK::Models::ContractV2::UsageStatementSchedule

Parameters:

  • value (MetronomeSDK::ContractV2::UsageStatementSchedule)

Returns:



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

required :usage_statement_schedule, -> { MetronomeSDK::ContractV2::UsageStatementSchedule }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {