Class: MetronomeSDK::Models::ContractV2
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- MetronomeSDK::Models::ContractV2
- 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
- #archived_at ⇒ Time?
- #commits ⇒ Array<MetronomeSDK::Models::ContractV2::Commit>
- #created_at ⇒ Time
- #created_by ⇒ String
- #credits ⇒ Array<MetronomeSDK::Models::ContractV2::Credit>?
-
#custom_fields ⇒ Hash{Symbol=>String}?
Custom fields to be added eg.
-
#customer_billing_provider_configuration ⇒ MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration?
This field’s availability is dependent on your client’s configuration.
- #customer_id ⇒ String
-
#discounts ⇒ Array<MetronomeSDK::Models::Discount>?
This field’s availability is dependent on your client’s configuration.
- #ending_before ⇒ Time?
-
#has_more ⇒ MetronomeSDK::Models::ContractV2::HasMore?
Indicates whether there are more items than the limit for this endpoint.
-
#hierarchy_configuration ⇒ MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration, ...
Either a parent configuration with a list of children or a child configuration with a single parent.
- #id ⇒ String
-
#multiplier_override_prioritization ⇒ Symbol, ...
Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list prices automatically.
- #name ⇒ String?
- #net_payment_terms_days ⇒ Float?
-
#netsuite_sales_order_id ⇒ String?
This field’s availability is dependent on your client’s configuration.
- #overrides ⇒ Array<MetronomeSDK::Models::ContractV2::Override>
- #prepaid_balance_threshold_configuration ⇒ MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2?
-
#priority ⇒ Float?
Priority of the contract.
-
#professional_services ⇒ Array<MetronomeSDK::Models::ProService>?
This field’s availability is dependent on your client’s configuration.
- #rate_card_id ⇒ String?
- #recurring_commits ⇒ Array<MetronomeSDK::Models::ContractV2::RecurringCommit>?
- #recurring_credits ⇒ Array<MetronomeSDK::Models::ContractV2::RecurringCredit>?
-
#reseller_royalties ⇒ Array<MetronomeSDK::Models::ContractV2::ResellerRoyalty>?
This field’s availability is dependent on your client’s configuration.
-
#salesforce_opportunity_id ⇒ String?
This field’s availability is dependent on your client’s configuration.
- #scheduled_charges ⇒ Array<MetronomeSDK::Models::ScheduledCharge>
-
#scheduled_charges_on_usage_invoices ⇒ Symbol, ...
Determines which scheduled and commit charges to consolidate onto the Contract’s usage invoice.
- #spend_threshold_configuration ⇒ MetronomeSDK::Models::SpendThresholdConfigurationV2?
-
#spend_trackers ⇒ Array<MetronomeSDK::Models::ContractV2::SpendTracker>?
Spend trackers attached to this contract.
- #starting_at ⇒ Time
-
#subscriptions ⇒ Array<MetronomeSDK::Models::ContractV2::Subscription>?
List of subscriptions on the contract.
- #total_contract_value ⇒ Float?
- #transitions ⇒ Array<MetronomeSDK::Models::ContractV2::Transition>
-
#uniqueness_key ⇒ String?
Optional uniqueness key to prevent duplicate contract creations.
- #usage_filter ⇒ Array<MetronomeSDK::Models::ContractV2::UsageFilter>
- #usage_statement_schedule ⇒ MetronomeSDK::Models::ContractV2::UsageStatementSchedule
Class Method Summary collapse
- .values ⇒ Array<Symbol>
- .variants ⇒ Array(MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2)
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
|
|
# File 'lib/metronome_sdk/models/contract_v2.rb', line 1260
|
Instance Attribute Details
#archived_at ⇒ Time?
65 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 65 optional :archived_at, Time |
#commits ⇒ Array<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_at ⇒ Time
19 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 19 required :created_at, Time |
#created_by ⇒ String
24 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 24 required :created_by, String |
#credits ⇒ Array<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_fields ⇒ Hash{Symbol=>String}?
Custom fields to be added eg. { “key1”: “value1”, “key2”: “value2” }
76 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 76 optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String] |
#customer_billing_provider_configuration ⇒ MetronomeSDK::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_id ⇒ String
29 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 29 required :customer_id, String |
#discounts ⇒ Array<MetronomeSDK::Models::Discount>?
This field’s availability is dependent on your client’s configuration.
89 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 89 optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] } |
#ending_before ⇒ Time?
94 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 94 optional :ending_before, Time |
#has_more ⇒ MetronomeSDK::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_configuration ⇒ MetronomeSDK::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 } |
#id ⇒ String
9 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 9 required :id, String |
#multiplier_override_prioritization ⇒ Symbol, ...
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 } |
#name ⇒ String?
123 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 123 optional :name, String |
#net_payment_terms_days ⇒ Float?
128 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 128 optional :net_payment_terms_days, Float |
#netsuite_sales_order_id ⇒ String?
This field’s availability is dependent on your client’s configuration.
134 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 134 optional :netsuite_sales_order_id, String |
#overrides ⇒ Array<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_configuration ⇒ MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2?
139 140 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 139 optional :prepaid_balance_threshold_configuration, -> { MetronomeSDK::PrepaidBalanceThresholdConfigurationV2 } |
#priority ⇒ Float?
Priority of the contract.
146 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 146 optional :priority, Float |
#professional_services ⇒ Array<MetronomeSDK::Models::ProService>?
This field’s availability is dependent on your client’s configuration.
152 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 152 optional :professional_services, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService] } |
#rate_card_id ⇒ String?
157 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 157 optional :rate_card_id, String |
#recurring_commits ⇒ Array<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_credits ⇒ Array<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_royalties ⇒ Array<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_id ⇒ String?
This field’s availability is dependent on your client’s configuration.
182 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 182 optional :salesforce_opportunity_id, String |
#scheduled_charges ⇒ Array<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_invoices ⇒ Symbol, ...
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_configuration ⇒ MetronomeSDK::Models::SpendThresholdConfigurationV2?
198 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 198 optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfigurationV2 } |
#spend_trackers ⇒ Array<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_at ⇒ Time
44 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 44 required :starting_at, Time |
#subscriptions ⇒ Array<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_value ⇒ Float?
217 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 217 optional :total_contract_value, Float |
#transitions ⇒ Array<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_key ⇒ String?
Optional uniqueness key to prevent duplicate contract creations.
223 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 223 optional :uniqueness_key, String |
#usage_filter ⇒ Array<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_schedule ⇒ MetronomeSDK::Models::ContractV2::UsageStatementSchedule
60 |
# File 'lib/metronome_sdk/models/contract_v2.rb', line 60 required :usage_statement_schedule, -> { MetronomeSDK::ContractV2::UsageStatementSchedule } |
Class Method Details
.values ⇒ Array<Symbol>
|
|
# File 'lib/metronome_sdk/models/contract_v2.rb', line 1540
|
.variants ⇒ Array(MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2)
|
|
# File 'lib/metronome_sdk/models/contract_v2.rb', line 2545
|