Class: MetronomeSDK::Models::ContractV2

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

Defined Under Namespace

Modules: HierarchyConfiguration, MultiplierOverridePrioritization, ScheduledChargesOnUsageInvoices Classes: Commit, Credit, CustomerBillingProviderConfiguration, HasMore, Override, RecurringCommit, RecurringCredit, ResellerRoyalty, SpendTracker, Subscription, Transition, UsageFilter, UsageStatementSchedule

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 1260

Instance Attribute Details

#archived_atTime?

Returns:

  • (Time, nil)


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

optional :archived_at, Time

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



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

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

#created_atTime

Returns:

  • (Time)


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

required :created_at, Time

#created_byString

Returns:

  • (String)


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

required :created_by, String

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



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

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

#custom_fieldsHash{Symbol=>String}?

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

Returns:

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


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

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

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

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



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

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

#customer_idString

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:



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

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

#ending_beforeTime?

Returns:

  • (Time, nil)


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

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.



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

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.



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

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

#idString

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.



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

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

#nameString?

Returns:

  • (String, nil)


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

optional :name, String

#net_payment_terms_daysFloat?

Returns:

  • (Float, nil)


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

optional :net_payment_terms_days, Float

#netsuite_sales_order_idString?

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

Returns:

  • (String, nil)


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

optional :netsuite_sales_order_id, String

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



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?



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

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

#priorityFloat?

Priority of the contract.

Returns:

  • (Float, nil)


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

optional :priority, Float

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

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

Returns:



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

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

#rate_card_idString?

Returns:

  • (String, nil)


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

optional :rate_card_id, String

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



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

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

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



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

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.



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

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

#salesforce_opportunity_idString?

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

Returns:

  • (String, nil)


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

optional :salesforce_opportunity_id, String

#scheduled_chargesArray<MetronomeSDK::Models::ScheduledCharge>



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.



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

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

#spend_threshold_configurationMetronomeSDK::Models::SpendThresholdConfigurationV2?



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

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

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

Spend trackers attached to this contract.



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

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

#starting_atTime

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.



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

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

#total_contract_valueFloat?

Returns:

  • (Float, nil)


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

optional :total_contract_value, Float

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



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.

Returns:

  • (String, nil)


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

optional :uniqueness_key, String

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



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



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 1540