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, 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(commits: , credits: ) ⇒ Object

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

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

Parameters:

  • commits (Boolean) (defaults to: )

    Whether there are more commits on this contract than the limit for this endpoint

  • credits (Boolean) (defaults to: )

    Whether there are more credits on this contract than the limit for this endpoint



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


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 }

#starting_atTime

Returns:

  • (Time)


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

required :starting_at, Time

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

List of subscriptions on the contract.

Returns:



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

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

#total_contract_valueFloat?

Returns:

  • (Float, nil)


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

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)


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

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 1486


.variantsArray(MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2)



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