metronome-sdk 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +46 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
- data/lib/metronome_sdk/models/commit.rb +10 -1
- data/lib/metronome_sdk/models/contract.rb +46 -16
- data/lib/metronome_sdk/models/contract_v2.rb +645 -16
- data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
- data/lib/metronome_sdk/models/credit.rb +10 -1
- data/lib/metronome_sdk/models/override.rb +7 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
- data/lib/metronome_sdk/models/subscription.rb +90 -2
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +243 -17
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
- data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +517 -9
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
- data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
- data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -0
- data/rbi/metronome_sdk/models/commit.rbi +13 -0
- data/rbi/metronome_sdk/models/contract.rbi +47 -22
- data/rbi/metronome_sdk/models/contract_v2.rbi +1472 -96
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
- data/rbi/metronome_sdk/models/credit.rbi +13 -0
- data/rbi/metronome_sdk/models/override.rbi +9 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
- data/rbi/metronome_sdk/models/subscription.rbi +212 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +523 -32
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1372 -69
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
- data/sig/metronome_sdk/models/commit.rbs +7 -0
- data/sig/metronome_sdk/models/contract.rbs +22 -11
- data/sig/metronome_sdk/models/contract_v2.rbs +559 -8
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
- data/sig/metronome_sdk/models/credit.rbs +7 -0
- data/sig/metronome_sdk/models/override.rbs +7 -0
- data/sig/metronome_sdk/models/subscription.rbs +88 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +197 -17
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +472 -7
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
- metadata +8 -2
|
@@ -64,6 +64,14 @@ module MetronomeSDK
|
|
|
64
64
|
# @return [Time, nil]
|
|
65
65
|
optional :archived_at, Time
|
|
66
66
|
|
|
67
|
+
# @!attribute billing_provider_configuration_schedule
|
|
68
|
+
# The schedule of billing provider configuration changes on the contract, ordered
|
|
69
|
+
# by effective_at ascending.
|
|
70
|
+
#
|
|
71
|
+
# @return [Array<MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule>, nil]
|
|
72
|
+
optional :billing_provider_configuration_schedule,
|
|
73
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule] }
|
|
74
|
+
|
|
67
75
|
# @!attribute credits
|
|
68
76
|
#
|
|
69
77
|
# @return [Array<MetronomeSDK::Models::ContractV2::Credit>, nil]
|
|
@@ -76,7 +84,6 @@ module MetronomeSDK
|
|
|
76
84
|
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
|
77
85
|
|
|
78
86
|
# @!attribute customer_billing_provider_configuration
|
|
79
|
-
# This field's availability is dependent on your client's configuration.
|
|
80
87
|
#
|
|
81
88
|
# @return [MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration, nil]
|
|
82
89
|
optional :customer_billing_provider_configuration,
|
|
@@ -175,6 +182,14 @@ module MetronomeSDK
|
|
|
175
182
|
optional :reseller_royalties,
|
|
176
183
|
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::ResellerRoyalty] }
|
|
177
184
|
|
|
185
|
+
# @!attribute revenue_system_configuration_schedule
|
|
186
|
+
# The schedule of revenue system configuration changes on the contract, ordered by
|
|
187
|
+
# effective_at ascending.
|
|
188
|
+
#
|
|
189
|
+
# @return [Array<MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule>, nil]
|
|
190
|
+
optional :revenue_system_configuration_schedule,
|
|
191
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule] }
|
|
192
|
+
|
|
178
193
|
# @!attribute salesforce_opportunity_id
|
|
179
194
|
# This field's availability is dependent on your client's configuration.
|
|
180
195
|
#
|
|
@@ -222,7 +237,7 @@ module MetronomeSDK
|
|
|
222
237
|
# @return [String, nil]
|
|
223
238
|
optional :uniqueness_key, String
|
|
224
239
|
|
|
225
|
-
# @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
|
|
240
|
+
# @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, billing_provider_configuration_schedule: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, revenue_system_configuration_schedule: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
|
|
226
241
|
# Some parameter documentations has been truncated, see
|
|
227
242
|
# {MetronomeSDK::Models::ContractV2} for more details.
|
|
228
243
|
#
|
|
@@ -250,11 +265,13 @@ module MetronomeSDK
|
|
|
250
265
|
#
|
|
251
266
|
# @param archived_at [Time]
|
|
252
267
|
#
|
|
268
|
+
# @param billing_provider_configuration_schedule [Array<MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule>] The schedule of billing provider configuration changes on the contract, ordered
|
|
269
|
+
#
|
|
253
270
|
# @param credits [Array<MetronomeSDK::Models::ContractV2::Credit>]
|
|
254
271
|
#
|
|
255
272
|
# @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
256
273
|
#
|
|
257
|
-
# @param customer_billing_provider_configuration [MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration]
|
|
274
|
+
# @param customer_billing_provider_configuration [MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration]
|
|
258
275
|
#
|
|
259
276
|
# @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
|
|
260
277
|
#
|
|
@@ -286,6 +303,8 @@ module MetronomeSDK
|
|
|
286
303
|
#
|
|
287
304
|
# @param reseller_royalties [Array<MetronomeSDK::Models::ContractV2::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
|
|
288
305
|
#
|
|
306
|
+
# @param revenue_system_configuration_schedule [Array<MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule>] The schedule of revenue system configuration changes on the contract, ordered by
|
|
307
|
+
#
|
|
289
308
|
# @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
|
|
290
309
|
#
|
|
291
310
|
# @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::ContractV2::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
@@ -371,6 +390,13 @@ module MetronomeSDK
|
|
|
371
390
|
# @return [MetronomeSDK::Models::ContractV2::Commit::Contract, nil]
|
|
372
391
|
optional :contract, -> { MetronomeSDK::ContractV2::Commit::Contract }
|
|
373
392
|
|
|
393
|
+
# @!attribute created_by
|
|
394
|
+
# The actor who created this commit. Omitted for system-generated commits such as
|
|
395
|
+
# recurring commits, rollover commits, and threshold commits.
|
|
396
|
+
#
|
|
397
|
+
# @return [String, nil]
|
|
398
|
+
optional :created_by, String
|
|
399
|
+
|
|
374
400
|
# @!attribute custom_fields
|
|
375
401
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
376
402
|
#
|
|
@@ -473,7 +499,7 @@ module MetronomeSDK
|
|
|
473
499
|
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
474
500
|
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
475
501
|
|
|
476
|
-
# @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_commit_id: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, spend_tracker_attributes: nil, subscription_config: nil)
|
|
502
|
+
# @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, created_by: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_commit_id: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, spend_tracker_attributes: nil, subscription_config: nil)
|
|
477
503
|
# Some parameter documentations has been truncated, see
|
|
478
504
|
# {MetronomeSDK::Models::ContractV2::Commit} for more details.
|
|
479
505
|
#
|
|
@@ -499,6 +525,8 @@ module MetronomeSDK
|
|
|
499
525
|
#
|
|
500
526
|
# @param contract [MetronomeSDK::Models::ContractV2::Commit::Contract]
|
|
501
527
|
#
|
|
528
|
+
# @param created_by [String] The actor who created this commit. Omitted for system-generated commits such as
|
|
529
|
+
#
|
|
502
530
|
# @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
503
531
|
#
|
|
504
532
|
# @param description [String]
|
|
@@ -1363,6 +1391,11 @@ module MetronomeSDK
|
|
|
1363
1391
|
# @param type [Symbol, MetronomeSDK::Models::ContractV2::Override::Type]
|
|
1364
1392
|
|
|
1365
1393
|
class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
1394
|
+
# @!attribute any_commit_or_credit_ids
|
|
1395
|
+
#
|
|
1396
|
+
# @return [Array<String>, nil]
|
|
1397
|
+
optional :any_commit_or_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
|
1398
|
+
|
|
1366
1399
|
# @!attribute billing_frequency
|
|
1367
1400
|
#
|
|
1368
1401
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::BillingFrequency, nil]
|
|
@@ -1399,7 +1432,8 @@ module MetronomeSDK
|
|
|
1399
1432
|
# @return [Array<String>, nil]
|
|
1400
1433
|
optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
|
1401
1434
|
|
|
1402
|
-
# @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil)
|
|
1435
|
+
# @!method initialize(any_commit_or_credit_ids: nil, billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil)
|
|
1436
|
+
# @param any_commit_or_credit_ids [Array<String>]
|
|
1403
1437
|
# @param billing_frequency [Symbol, MetronomeSDK::Models::ContractV2::Override::OverrideSpecifier::BillingFrequency]
|
|
1404
1438
|
# @param commit_ids [Array<String>]
|
|
1405
1439
|
# @param presentation_group_values [Hash{Symbol=>String, nil}]
|
|
@@ -1645,6 +1679,149 @@ module MetronomeSDK
|
|
|
1645
1679
|
end
|
|
1646
1680
|
end
|
|
1647
1681
|
|
|
1682
|
+
class BillingProviderConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
1683
|
+
# @!attribute billing_provider_configuration
|
|
1684
|
+
#
|
|
1685
|
+
# @return [MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration]
|
|
1686
|
+
required :billing_provider_configuration,
|
|
1687
|
+
-> { MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration }
|
|
1688
|
+
|
|
1689
|
+
# @!attribute effective_at
|
|
1690
|
+
# The date this billing provider configuration became or becomes active.
|
|
1691
|
+
#
|
|
1692
|
+
# @return [Time]
|
|
1693
|
+
required :effective_at, Time
|
|
1694
|
+
|
|
1695
|
+
# @!attribute effective_until
|
|
1696
|
+
# The date this billing provider configuration is superseded by the next entry.
|
|
1697
|
+
# Null for the last entry in the schedule.
|
|
1698
|
+
#
|
|
1699
|
+
# @return [Time, nil]
|
|
1700
|
+
optional :effective_until, Time
|
|
1701
|
+
|
|
1702
|
+
# @!method initialize(billing_provider_configuration:, effective_at:, effective_until: nil)
|
|
1703
|
+
# Some parameter documentations has been truncated, see
|
|
1704
|
+
# {MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule} for
|
|
1705
|
+
# more details.
|
|
1706
|
+
#
|
|
1707
|
+
# @param billing_provider_configuration [MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration]
|
|
1708
|
+
#
|
|
1709
|
+
# @param effective_at [Time] The date this billing provider configuration became or becomes active.
|
|
1710
|
+
#
|
|
1711
|
+
# @param effective_until [Time] The date this billing provider configuration is superseded by the next entry. Nu
|
|
1712
|
+
|
|
1713
|
+
# @see MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule#billing_provider_configuration
|
|
1714
|
+
class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
1715
|
+
# @!attribute id
|
|
1716
|
+
# ID of this configuration; can be provided as the
|
|
1717
|
+
# billing_provider_configuration_id when creating a contract.
|
|
1718
|
+
#
|
|
1719
|
+
# @return [String]
|
|
1720
|
+
required :id, String
|
|
1721
|
+
|
|
1722
|
+
# @!attribute archived_at
|
|
1723
|
+
#
|
|
1724
|
+
# @return [Time, nil]
|
|
1725
|
+
required :archived_at, Time, nil?: true
|
|
1726
|
+
|
|
1727
|
+
# @!attribute billing_provider
|
|
1728
|
+
# The billing provider set for this configuration.
|
|
1729
|
+
#
|
|
1730
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider]
|
|
1731
|
+
required :billing_provider,
|
|
1732
|
+
enum: -> { MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider }
|
|
1733
|
+
|
|
1734
|
+
# @!attribute configuration
|
|
1735
|
+
# Configuration for the billing provider. The structure of this object is specific
|
|
1736
|
+
# to the billing provider.
|
|
1737
|
+
#
|
|
1738
|
+
# @return [Hash{Symbol=>Object}]
|
|
1739
|
+
required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
|
1740
|
+
|
|
1741
|
+
# @!attribute customer_id
|
|
1742
|
+
#
|
|
1743
|
+
# @return [String]
|
|
1744
|
+
required :customer_id, String
|
|
1745
|
+
|
|
1746
|
+
# @!attribute delivery_method
|
|
1747
|
+
# The method to use for delivering invoices to this customer.
|
|
1748
|
+
#
|
|
1749
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod]
|
|
1750
|
+
required :delivery_method,
|
|
1751
|
+
enum: -> { MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod }
|
|
1752
|
+
|
|
1753
|
+
# @!attribute delivery_method_configuration
|
|
1754
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
1755
|
+
# to the delivery method.
|
|
1756
|
+
#
|
|
1757
|
+
# @return [Hash{Symbol=>Object}]
|
|
1758
|
+
required :delivery_method_configuration,
|
|
1759
|
+
MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
|
1760
|
+
|
|
1761
|
+
# @!attribute delivery_method_id
|
|
1762
|
+
# ID of the delivery method to use for this customer.
|
|
1763
|
+
#
|
|
1764
|
+
# @return [String]
|
|
1765
|
+
required :delivery_method_id, String
|
|
1766
|
+
|
|
1767
|
+
# @!method initialize(id:, archived_at:, billing_provider:, configuration:, customer_id:, delivery_method:, delivery_method_configuration:, delivery_method_id:)
|
|
1768
|
+
# Some parameter documentations has been truncated, see
|
|
1769
|
+
# {MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration}
|
|
1770
|
+
# for more details.
|
|
1771
|
+
#
|
|
1772
|
+
# @param id [String] ID of this configuration; can be provided as the billing*provider_configuration*
|
|
1773
|
+
#
|
|
1774
|
+
# @param archived_at [Time, nil]
|
|
1775
|
+
#
|
|
1776
|
+
# @param billing_provider [Symbol, MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider] The billing provider set for this configuration.
|
|
1777
|
+
#
|
|
1778
|
+
# @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
|
|
1779
|
+
#
|
|
1780
|
+
# @param customer_id [String]
|
|
1781
|
+
#
|
|
1782
|
+
# @param delivery_method [Symbol, MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod] The method to use for delivering invoices to this customer.
|
|
1783
|
+
#
|
|
1784
|
+
# @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
|
|
1785
|
+
#
|
|
1786
|
+
# @param delivery_method_id [String] ID of the delivery method to use for this customer.
|
|
1787
|
+
|
|
1788
|
+
# The billing provider set for this configuration.
|
|
1789
|
+
#
|
|
1790
|
+
# @see MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration#billing_provider
|
|
1791
|
+
module BillingProvider
|
|
1792
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
1793
|
+
|
|
1794
|
+
AWS_MARKETPLACE = :aws_marketplace
|
|
1795
|
+
STRIPE = :stripe
|
|
1796
|
+
NETSUITE = :netsuite
|
|
1797
|
+
CUSTOM = :custom
|
|
1798
|
+
AZURE_MARKETPLACE = :azure_marketplace
|
|
1799
|
+
QUICKBOOKS_ONLINE = :quickbooks_online
|
|
1800
|
+
WORKDAY = :workday
|
|
1801
|
+
GCP_MARKETPLACE = :gcp_marketplace
|
|
1802
|
+
METRONOME = :metronome
|
|
1803
|
+
|
|
1804
|
+
# @!method self.values
|
|
1805
|
+
# @return [Array<Symbol>]
|
|
1806
|
+
end
|
|
1807
|
+
|
|
1808
|
+
# The method to use for delivering invoices to this customer.
|
|
1809
|
+
#
|
|
1810
|
+
# @see MetronomeSDK::Models::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration#delivery_method
|
|
1811
|
+
module DeliveryMethod
|
|
1812
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
1813
|
+
|
|
1814
|
+
DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
|
|
1815
|
+
AWS_SQS = :aws_sqs
|
|
1816
|
+
TACKLE = :tackle
|
|
1817
|
+
AWS_SNS = :aws_sns
|
|
1818
|
+
|
|
1819
|
+
# @!method self.values
|
|
1820
|
+
# @return [Array<Symbol>]
|
|
1821
|
+
end
|
|
1822
|
+
end
|
|
1823
|
+
end
|
|
1824
|
+
|
|
1648
1825
|
class Credit < MetronomeSDK::Internal::Type::BaseModel
|
|
1649
1826
|
# @!attribute id
|
|
1650
1827
|
#
|
|
@@ -1714,6 +1891,13 @@ module MetronomeSDK
|
|
|
1714
1891
|
# @return [Time, nil]
|
|
1715
1892
|
optional :created_at, Time
|
|
1716
1893
|
|
|
1894
|
+
# @!attribute created_by
|
|
1895
|
+
# The actor who created this credit. Omitted for system-generated credits such as
|
|
1896
|
+
# recurring credits.
|
|
1897
|
+
#
|
|
1898
|
+
# @return [String, nil]
|
|
1899
|
+
optional :created_by, String
|
|
1900
|
+
|
|
1717
1901
|
# @!attribute custom_fields
|
|
1718
1902
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
1719
1903
|
#
|
|
@@ -1788,7 +1972,7 @@ module MetronomeSDK
|
|
|
1788
1972
|
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
1789
1973
|
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
1790
1974
|
|
|
1791
|
-
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, created_at: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, recurring_credit_id: nil, rolled_over_from: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil)
|
|
1975
|
+
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, created_at: nil, created_by: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, recurring_credit_id: nil, rolled_over_from: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil)
|
|
1792
1976
|
# Some parameter documentations has been truncated, see
|
|
1793
1977
|
# {MetronomeSDK::Models::ContractV2::Credit} for more details.
|
|
1794
1978
|
#
|
|
@@ -1814,6 +1998,8 @@ module MetronomeSDK
|
|
|
1814
1998
|
#
|
|
1815
1999
|
# @param created_at [Time] Timestamp of when the credit was created.
|
|
1816
2000
|
#
|
|
2001
|
+
# @param created_by [String] The actor who created this credit. Omitted for system-generated credits such as
|
|
2002
|
+
#
|
|
1817
2003
|
# @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
1818
2004
|
#
|
|
1819
2005
|
# @param description [String]
|
|
@@ -2268,32 +2454,80 @@ module MetronomeSDK
|
|
|
2268
2454
|
# @see MetronomeSDK::Models::ContractV2#customer_billing_provider_configuration
|
|
2269
2455
|
class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
2270
2456
|
# @!attribute id
|
|
2271
|
-
# ID of
|
|
2457
|
+
# ID of this configuration; can be provided as the
|
|
2458
|
+
# billing_provider_configuration_id when creating a contract.
|
|
2272
2459
|
#
|
|
2273
2460
|
# @return [String]
|
|
2274
2461
|
required :id, String
|
|
2275
2462
|
|
|
2463
|
+
# @!attribute archived_at
|
|
2464
|
+
#
|
|
2465
|
+
# @return [Time, nil]
|
|
2466
|
+
required :archived_at, Time, nil?: true
|
|
2467
|
+
|
|
2276
2468
|
# @!attribute billing_provider
|
|
2469
|
+
# The billing provider set for this configuration.
|
|
2277
2470
|
#
|
|
2278
2471
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::BillingProvider]
|
|
2279
2472
|
required :billing_provider,
|
|
2280
2473
|
enum: -> { MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::BillingProvider }
|
|
2281
2474
|
|
|
2475
|
+
# @!attribute configuration
|
|
2476
|
+
# Configuration for the billing provider. The structure of this object is specific
|
|
2477
|
+
# to the billing provider.
|
|
2478
|
+
#
|
|
2479
|
+
# @return [Hash{Symbol=>Object}]
|
|
2480
|
+
required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
|
2481
|
+
|
|
2482
|
+
# @!attribute customer_id
|
|
2483
|
+
#
|
|
2484
|
+
# @return [String]
|
|
2485
|
+
required :customer_id, String
|
|
2486
|
+
|
|
2282
2487
|
# @!attribute delivery_method
|
|
2488
|
+
# The method to use for delivering invoices to this customer.
|
|
2283
2489
|
#
|
|
2284
2490
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod]
|
|
2285
2491
|
required :delivery_method,
|
|
2286
2492
|
enum: -> { MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod }
|
|
2287
2493
|
|
|
2288
|
-
# @!
|
|
2289
|
-
#
|
|
2494
|
+
# @!attribute delivery_method_configuration
|
|
2495
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
2496
|
+
# to the delivery method.
|
|
2497
|
+
#
|
|
2498
|
+
# @return [Hash{Symbol=>Object}]
|
|
2499
|
+
required :delivery_method_configuration,
|
|
2500
|
+
MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
|
2501
|
+
|
|
2502
|
+
# @!attribute delivery_method_id
|
|
2503
|
+
# ID of the delivery method to use for this customer.
|
|
2504
|
+
#
|
|
2505
|
+
# @return [String]
|
|
2506
|
+
required :delivery_method_id, String
|
|
2507
|
+
|
|
2508
|
+
# @!method initialize(id:, archived_at:, billing_provider:, configuration:, customer_id:, delivery_method:, delivery_method_configuration:, delivery_method_id:)
|
|
2509
|
+
# Some parameter documentations has been truncated, see
|
|
2510
|
+
# {MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration} for
|
|
2511
|
+
# more details.
|
|
2290
2512
|
#
|
|
2291
|
-
# @param id [String] ID of
|
|
2513
|
+
# @param id [String] ID of this configuration; can be provided as the billing*provider_configuration*
|
|
2292
2514
|
#
|
|
2293
|
-
# @param
|
|
2515
|
+
# @param archived_at [Time, nil]
|
|
2294
2516
|
#
|
|
2295
|
-
# @param
|
|
2517
|
+
# @param billing_provider [Symbol, MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::BillingProvider] The billing provider set for this configuration.
|
|
2518
|
+
#
|
|
2519
|
+
# @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
|
|
2520
|
+
#
|
|
2521
|
+
# @param customer_id [String]
|
|
2522
|
+
#
|
|
2523
|
+
# @param delivery_method [Symbol, MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod] The method to use for delivering invoices to this customer.
|
|
2524
|
+
#
|
|
2525
|
+
# @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
|
|
2526
|
+
#
|
|
2527
|
+
# @param delivery_method_id [String] ID of the delivery method to use for this customer.
|
|
2296
2528
|
|
|
2529
|
+
# The billing provider set for this configuration.
|
|
2530
|
+
#
|
|
2297
2531
|
# @see MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration#billing_provider
|
|
2298
2532
|
module BillingProvider
|
|
2299
2533
|
extend MetronomeSDK::Internal::Type::Enum
|
|
@@ -2312,6 +2546,8 @@ module MetronomeSDK
|
|
|
2312
2546
|
# @return [Array<Symbol>]
|
|
2313
2547
|
end
|
|
2314
2548
|
|
|
2549
|
+
# The method to use for delivering invoices to this customer.
|
|
2550
|
+
#
|
|
2315
2551
|
# @see MetronomeSDK::Models::ContractV2::CustomerBillingProviderConfiguration#delivery_method
|
|
2316
2552
|
module DeliveryMethod
|
|
2317
2553
|
extend MetronomeSDK::Internal::Type::Enum
|
|
@@ -2663,6 +2899,14 @@ module MetronomeSDK
|
|
|
2663
2899
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::Proration, nil]
|
|
2664
2900
|
optional :proration, enum: -> { MetronomeSDK::ContractV2::RecurringCommit::Proration }
|
|
2665
2901
|
|
|
2902
|
+
# @!attribute proration_rounding
|
|
2903
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
2904
|
+
#
|
|
2905
|
+
# @return [MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding, nil]
|
|
2906
|
+
optional :proration_rounding,
|
|
2907
|
+
-> { MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding },
|
|
2908
|
+
nil?: true
|
|
2909
|
+
|
|
2666
2910
|
# @!attribute recurrence_frequency
|
|
2667
2911
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
2668
2912
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
@@ -2696,7 +2940,7 @@ module MetronomeSDK
|
|
|
2696
2940
|
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
2697
2941
|
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
2698
2942
|
|
|
2699
|
-
# @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
|
|
2943
|
+
# @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
|
|
2700
2944
|
# Some parameter documentations has been truncated, see
|
|
2701
2945
|
# {MetronomeSDK::Models::ContractV2::RecurringCommit} for more details.
|
|
2702
2946
|
#
|
|
@@ -2734,6 +2978,8 @@ module MetronomeSDK
|
|
|
2734
2978
|
#
|
|
2735
2979
|
# @param proration [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
|
|
2736
2980
|
#
|
|
2981
|
+
# @param proration_rounding [MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding, nil] Rounding configuration for prorated recurring commit amounts.
|
|
2982
|
+
#
|
|
2737
2983
|
# @param recurrence_frequency [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
|
|
2738
2984
|
#
|
|
2739
2985
|
# @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
|
|
@@ -2878,6 +3124,101 @@ module MetronomeSDK
|
|
|
2878
3124
|
# @return [Array<Symbol>]
|
|
2879
3125
|
end
|
|
2880
3126
|
|
|
3127
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCommit#proration_rounding
|
|
3128
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
3129
|
+
# @!attribute access
|
|
3130
|
+
#
|
|
3131
|
+
# @return [MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access, nil]
|
|
3132
|
+
optional :access, -> { MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access }
|
|
3133
|
+
|
|
3134
|
+
# @!attribute invoice
|
|
3135
|
+
#
|
|
3136
|
+
# @return [MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice, nil]
|
|
3137
|
+
optional :invoice, -> { MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice }
|
|
3138
|
+
|
|
3139
|
+
# @!method initialize(access: nil, invoice: nil)
|
|
3140
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
3141
|
+
#
|
|
3142
|
+
# @param access [MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access]
|
|
3143
|
+
# @param invoice [MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice]
|
|
3144
|
+
|
|
3145
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding#access
|
|
3146
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
3147
|
+
# @!attribute decimal_places
|
|
3148
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3149
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3150
|
+
# nearest 100 in the stored unit).
|
|
3151
|
+
#
|
|
3152
|
+
# @return [Float]
|
|
3153
|
+
required :decimal_places, Float
|
|
3154
|
+
|
|
3155
|
+
# @!attribute rounding_method
|
|
3156
|
+
#
|
|
3157
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod]
|
|
3158
|
+
required :rounding_method,
|
|
3159
|
+
enum: -> { MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod }
|
|
3160
|
+
|
|
3161
|
+
# @!method initialize(decimal_places:, rounding_method:)
|
|
3162
|
+
# Some parameter documentations has been truncated, see
|
|
3163
|
+
# {MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access}
|
|
3164
|
+
# for more details.
|
|
3165
|
+
#
|
|
3166
|
+
# @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
|
|
3167
|
+
#
|
|
3168
|
+
# @param rounding_method [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod]
|
|
3169
|
+
|
|
3170
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Access#rounding_method
|
|
3171
|
+
module RoundingMethod
|
|
3172
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3173
|
+
|
|
3174
|
+
HALF_UP = :HALF_UP
|
|
3175
|
+
FLOOR = :FLOOR
|
|
3176
|
+
CEILING = :CEILING
|
|
3177
|
+
|
|
3178
|
+
# @!method self.values
|
|
3179
|
+
# @return [Array<Symbol>]
|
|
3180
|
+
end
|
|
3181
|
+
end
|
|
3182
|
+
|
|
3183
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding#invoice
|
|
3184
|
+
class Invoice < MetronomeSDK::Internal::Type::BaseModel
|
|
3185
|
+
# @!attribute decimal_places
|
|
3186
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3187
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3188
|
+
# nearest 100 in the stored unit).
|
|
3189
|
+
#
|
|
3190
|
+
# @return [Float]
|
|
3191
|
+
required :decimal_places, Float
|
|
3192
|
+
|
|
3193
|
+
# @!attribute rounding_method
|
|
3194
|
+
#
|
|
3195
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
|
|
3196
|
+
required :rounding_method,
|
|
3197
|
+
enum: -> { MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod }
|
|
3198
|
+
|
|
3199
|
+
# @!method initialize(decimal_places:, rounding_method:)
|
|
3200
|
+
# Some parameter documentations has been truncated, see
|
|
3201
|
+
# {MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice}
|
|
3202
|
+
# for more details.
|
|
3203
|
+
#
|
|
3204
|
+
# @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
|
|
3205
|
+
#
|
|
3206
|
+
# @param rounding_method [Symbol, MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
|
|
3207
|
+
|
|
3208
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCommit::ProrationRounding::Invoice#rounding_method
|
|
3209
|
+
module RoundingMethod
|
|
3210
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3211
|
+
|
|
3212
|
+
HALF_UP = :HALF_UP
|
|
3213
|
+
FLOOR = :FLOOR
|
|
3214
|
+
CEILING = :CEILING
|
|
3215
|
+
|
|
3216
|
+
# @!method self.values
|
|
3217
|
+
# @return [Array<Symbol>]
|
|
3218
|
+
end
|
|
3219
|
+
end
|
|
3220
|
+
end
|
|
3221
|
+
|
|
2881
3222
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
2882
3223
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
2883
3224
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -2892,6 +3233,7 @@ module MetronomeSDK
|
|
|
2892
3233
|
QUARTERLY = :QUARTERLY
|
|
2893
3234
|
ANNUAL = :ANNUAL
|
|
2894
3235
|
WEEKLY = :WEEKLY
|
|
3236
|
+
DAILY = :DAILY
|
|
2895
3237
|
|
|
2896
3238
|
# @!method self.values
|
|
2897
3239
|
# @return [Array<Symbol>]
|
|
@@ -2993,6 +3335,14 @@ module MetronomeSDK
|
|
|
2993
3335
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::RecurringCredit::Proration, nil]
|
|
2994
3336
|
optional :proration, enum: -> { MetronomeSDK::ContractV2::RecurringCredit::Proration }
|
|
2995
3337
|
|
|
3338
|
+
# @!attribute proration_rounding
|
|
3339
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
3340
|
+
#
|
|
3341
|
+
# @return [MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding, nil]
|
|
3342
|
+
optional :proration_rounding,
|
|
3343
|
+
-> { MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding },
|
|
3344
|
+
nil?: true
|
|
3345
|
+
|
|
2996
3346
|
# @!attribute recurrence_frequency
|
|
2997
3347
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
2998
3348
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
@@ -3026,7 +3376,7 @@ module MetronomeSDK
|
|
|
3026
3376
|
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
3027
3377
|
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
3028
3378
|
|
|
3029
|
-
# @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
|
|
3379
|
+
# @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
|
|
3030
3380
|
# Some parameter documentations has been truncated, see
|
|
3031
3381
|
# {MetronomeSDK::Models::ContractV2::RecurringCredit} for more details.
|
|
3032
3382
|
#
|
|
@@ -3062,6 +3412,8 @@ module MetronomeSDK
|
|
|
3062
3412
|
#
|
|
3063
3413
|
# @param proration [Symbol, MetronomeSDK::Models::ContractV2::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
|
|
3064
3414
|
#
|
|
3415
|
+
# @param proration_rounding [MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding, nil] Rounding configuration for prorated recurring credit amounts.
|
|
3416
|
+
#
|
|
3065
3417
|
# @param recurrence_frequency [Symbol, MetronomeSDK::Models::ContractV2::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
|
|
3066
3418
|
#
|
|
3067
3419
|
# @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
|
|
@@ -3181,6 +3533,57 @@ module MetronomeSDK
|
|
|
3181
3533
|
# @return [Array<Symbol>]
|
|
3182
3534
|
end
|
|
3183
3535
|
|
|
3536
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCredit#proration_rounding
|
|
3537
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
3538
|
+
# @!attribute access
|
|
3539
|
+
#
|
|
3540
|
+
# @return [MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access, nil]
|
|
3541
|
+
optional :access, -> { MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access }
|
|
3542
|
+
|
|
3543
|
+
# @!method initialize(access: nil)
|
|
3544
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
3545
|
+
#
|
|
3546
|
+
# @param access [MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access]
|
|
3547
|
+
|
|
3548
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding#access
|
|
3549
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
3550
|
+
# @!attribute decimal_places
|
|
3551
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
3552
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
3553
|
+
# nearest 100 in the stored unit).
|
|
3554
|
+
#
|
|
3555
|
+
# @return [Float]
|
|
3556
|
+
required :decimal_places, Float
|
|
3557
|
+
|
|
3558
|
+
# @!attribute rounding_method
|
|
3559
|
+
#
|
|
3560
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod]
|
|
3561
|
+
required :rounding_method,
|
|
3562
|
+
enum: -> { MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod }
|
|
3563
|
+
|
|
3564
|
+
# @!method initialize(decimal_places:, rounding_method:)
|
|
3565
|
+
# Some parameter documentations has been truncated, see
|
|
3566
|
+
# {MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access}
|
|
3567
|
+
# for more details.
|
|
3568
|
+
#
|
|
3569
|
+
# @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
|
|
3570
|
+
#
|
|
3571
|
+
# @param rounding_method [Symbol, MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod]
|
|
3572
|
+
|
|
3573
|
+
# @see MetronomeSDK::Models::ContractV2::RecurringCredit::ProrationRounding::Access#rounding_method
|
|
3574
|
+
module RoundingMethod
|
|
3575
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3576
|
+
|
|
3577
|
+
HALF_UP = :HALF_UP
|
|
3578
|
+
FLOOR = :FLOOR
|
|
3579
|
+
CEILING = :CEILING
|
|
3580
|
+
|
|
3581
|
+
# @!method self.values
|
|
3582
|
+
# @return [Array<Symbol>]
|
|
3583
|
+
end
|
|
3584
|
+
end
|
|
3585
|
+
end
|
|
3586
|
+
|
|
3184
3587
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
3185
3588
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
3186
3589
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -3195,6 +3598,7 @@ module MetronomeSDK
|
|
|
3195
3598
|
QUARTERLY = :QUARTERLY
|
|
3196
3599
|
ANNUAL = :ANNUAL
|
|
3197
3600
|
WEEKLY = :WEEKLY
|
|
3601
|
+
DAILY = :DAILY
|
|
3198
3602
|
|
|
3199
3603
|
# @!method self.values
|
|
3200
3604
|
# @return [Array<Symbol>]
|
|
@@ -3326,6 +3730,140 @@ module MetronomeSDK
|
|
|
3326
3730
|
end
|
|
3327
3731
|
end
|
|
3328
3732
|
|
|
3733
|
+
class RevenueSystemConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
3734
|
+
# @!attribute effective_at
|
|
3735
|
+
# The date this revenue system configuration became or becomes active.
|
|
3736
|
+
#
|
|
3737
|
+
# @return [Time]
|
|
3738
|
+
required :effective_at, Time
|
|
3739
|
+
|
|
3740
|
+
# @!attribute revenue_system_configuration
|
|
3741
|
+
#
|
|
3742
|
+
# @return [MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration]
|
|
3743
|
+
required :revenue_system_configuration,
|
|
3744
|
+
-> { MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration }
|
|
3745
|
+
|
|
3746
|
+
# @!attribute effective_until
|
|
3747
|
+
# The date this revenue system configuration is superseded by the next entry. Null
|
|
3748
|
+
# for the last entry in the schedule.
|
|
3749
|
+
#
|
|
3750
|
+
# @return [Time, nil]
|
|
3751
|
+
optional :effective_until, Time
|
|
3752
|
+
|
|
3753
|
+
# @!method initialize(effective_at:, revenue_system_configuration:, effective_until: nil)
|
|
3754
|
+
# Some parameter documentations has been truncated, see
|
|
3755
|
+
# {MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule} for more
|
|
3756
|
+
# details.
|
|
3757
|
+
#
|
|
3758
|
+
# @param effective_at [Time] The date this revenue system configuration became or becomes active.
|
|
3759
|
+
#
|
|
3760
|
+
# @param revenue_system_configuration [MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration]
|
|
3761
|
+
#
|
|
3762
|
+
# @param effective_until [Time] The date this revenue system configuration is superseded by the next entry. Null
|
|
3763
|
+
|
|
3764
|
+
# @see MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule#revenue_system_configuration
|
|
3765
|
+
class RevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
3766
|
+
# @!attribute id
|
|
3767
|
+
# ID of the revenue system configuration.
|
|
3768
|
+
#
|
|
3769
|
+
# @return [String]
|
|
3770
|
+
required :id, String
|
|
3771
|
+
|
|
3772
|
+
# @!attribute configuration
|
|
3773
|
+
# Configuration for the revenue system. The structure of this object is specific
|
|
3774
|
+
# to the provider.
|
|
3775
|
+
#
|
|
3776
|
+
# @return [Hash{Symbol=>Object}]
|
|
3777
|
+
required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
|
3778
|
+
|
|
3779
|
+
# @!attribute customer_id
|
|
3780
|
+
#
|
|
3781
|
+
# @return [String]
|
|
3782
|
+
required :customer_id, String
|
|
3783
|
+
|
|
3784
|
+
# @!attribute delivery_method_id
|
|
3785
|
+
# ID of the delivery method used for this customer configuration.
|
|
3786
|
+
#
|
|
3787
|
+
# @return [String]
|
|
3788
|
+
required :delivery_method_id, String
|
|
3789
|
+
|
|
3790
|
+
# @!attribute provider
|
|
3791
|
+
# The revenue system provider (e.g. netsuite).
|
|
3792
|
+
#
|
|
3793
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider]
|
|
3794
|
+
required :provider,
|
|
3795
|
+
enum: -> { MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider }
|
|
3796
|
+
|
|
3797
|
+
# @!attribute archived_at
|
|
3798
|
+
#
|
|
3799
|
+
# @return [Time, nil]
|
|
3800
|
+
optional :archived_at, Time, nil?: true
|
|
3801
|
+
|
|
3802
|
+
# @!attribute delivery_method
|
|
3803
|
+
# The method to use for delivering data to the revenue system.
|
|
3804
|
+
#
|
|
3805
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod, nil]
|
|
3806
|
+
optional :delivery_method,
|
|
3807
|
+
enum: -> { MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod }
|
|
3808
|
+
|
|
3809
|
+
# @!attribute delivery_method_configuration
|
|
3810
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
3811
|
+
# to the delivery method.
|
|
3812
|
+
#
|
|
3813
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
3814
|
+
optional :delivery_method_configuration,
|
|
3815
|
+
MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
|
|
3816
|
+
|
|
3817
|
+
# @!method initialize(id:, configuration:, customer_id:, delivery_method_id:, provider:, archived_at: nil, delivery_method: nil, delivery_method_configuration: nil)
|
|
3818
|
+
# Some parameter documentations has been truncated, see
|
|
3819
|
+
# {MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration}
|
|
3820
|
+
# for more details.
|
|
3821
|
+
#
|
|
3822
|
+
# @param id [String] ID of the revenue system configuration.
|
|
3823
|
+
#
|
|
3824
|
+
# @param configuration [Hash{Symbol=>Object}] Configuration for the revenue system. The structure of this object is specific t
|
|
3825
|
+
#
|
|
3826
|
+
# @param customer_id [String]
|
|
3827
|
+
#
|
|
3828
|
+
# @param delivery_method_id [String] ID of the delivery method used for this customer configuration.
|
|
3829
|
+
#
|
|
3830
|
+
# @param provider [Symbol, MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider] The revenue system provider (e.g. netsuite).
|
|
3831
|
+
#
|
|
3832
|
+
# @param archived_at [Time, nil]
|
|
3833
|
+
#
|
|
3834
|
+
# @param delivery_method [Symbol, MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod] The method to use for delivering data to the revenue system.
|
|
3835
|
+
#
|
|
3836
|
+
# @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
|
|
3837
|
+
|
|
3838
|
+
# The revenue system provider (e.g. netsuite).
|
|
3839
|
+
#
|
|
3840
|
+
# @see MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration#provider
|
|
3841
|
+
module Provider
|
|
3842
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3843
|
+
|
|
3844
|
+
NETSUITE = :netsuite
|
|
3845
|
+
|
|
3846
|
+
# @!method self.values
|
|
3847
|
+
# @return [Array<Symbol>]
|
|
3848
|
+
end
|
|
3849
|
+
|
|
3850
|
+
# The method to use for delivering data to the revenue system.
|
|
3851
|
+
#
|
|
3852
|
+
# @see MetronomeSDK::Models::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration#delivery_method
|
|
3853
|
+
module DeliveryMethod
|
|
3854
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3855
|
+
|
|
3856
|
+
DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
|
|
3857
|
+
AWS_SQS = :aws_sqs
|
|
3858
|
+
TACKLE = :tackle
|
|
3859
|
+
AWS_SNS = :aws_sns
|
|
3860
|
+
|
|
3861
|
+
# @!method self.values
|
|
3862
|
+
# @return [Array<Symbol>]
|
|
3863
|
+
end
|
|
3864
|
+
end
|
|
3865
|
+
end
|
|
3866
|
+
|
|
3329
3867
|
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
3330
3868
|
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
|
3331
3869
|
# `ending_before` date for consolidation to occur. This field cannot be modified
|
|
@@ -3527,6 +4065,11 @@ module MetronomeSDK
|
|
|
3527
4065
|
# @return [String, nil]
|
|
3528
4066
|
optional :id, String
|
|
3529
4067
|
|
|
4068
|
+
# @!attribute billing_cycle_config
|
|
4069
|
+
#
|
|
4070
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig, nil]
|
|
4071
|
+
optional :billing_cycle_config, -> { MetronomeSDK::ContractV2::Subscription::BillingCycleConfig }
|
|
4072
|
+
|
|
3530
4073
|
# @!attribute custom_fields
|
|
3531
4074
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3532
4075
|
#
|
|
@@ -3558,7 +4101,7 @@ module MetronomeSDK
|
|
|
3558
4101
|
# @return [MetronomeSDK::Models::ContractV2::Subscription::SeatConfig, nil]
|
|
3559
4102
|
optional :seat_config, -> { MetronomeSDK::ContractV2::Subscription::SeatConfig }
|
|
3560
4103
|
|
|
3561
|
-
# @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil, seat_config: nil)
|
|
4104
|
+
# @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, billing_cycle_config: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil, seat_config: nil)
|
|
3562
4105
|
# Some parameter documentations has been truncated, see
|
|
3563
4106
|
# {MetronomeSDK::Models::ContractV2::Subscription} for more details.
|
|
3564
4107
|
#
|
|
@@ -3578,6 +4121,8 @@ module MetronomeSDK
|
|
|
3578
4121
|
#
|
|
3579
4122
|
# @param id [String]
|
|
3580
4123
|
#
|
|
4124
|
+
# @param billing_cycle_config [MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig]
|
|
4125
|
+
#
|
|
3581
4126
|
# @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3582
4127
|
#
|
|
3583
4128
|
# @param description [String]
|
|
@@ -3694,9 +4239,15 @@ module MetronomeSDK
|
|
|
3694
4239
|
# @return [Boolean]
|
|
3695
4240
|
required :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
3696
4241
|
|
|
3697
|
-
# @!
|
|
4242
|
+
# @!attribute rounding
|
|
4243
|
+
#
|
|
4244
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding, nil]
|
|
4245
|
+
optional :rounding, -> { MetronomeSDK::ContractV2::Subscription::Proration::Rounding }
|
|
4246
|
+
|
|
4247
|
+
# @!method initialize(invoice_behavior:, is_prorated:, rounding: nil)
|
|
3698
4248
|
# @param invoice_behavior [Symbol, MetronomeSDK::Models::ContractV2::Subscription::Proration::InvoiceBehavior]
|
|
3699
4249
|
# @param is_prorated [Boolean]
|
|
4250
|
+
# @param rounding [MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding]
|
|
3700
4251
|
|
|
3701
4252
|
# @see MetronomeSDK::Models::ContractV2::Subscription::Proration#invoice_behavior
|
|
3702
4253
|
module InvoiceBehavior
|
|
@@ -3708,6 +4259,44 @@ module MetronomeSDK
|
|
|
3708
4259
|
# @!method self.values
|
|
3709
4260
|
# @return [Array<Symbol>]
|
|
3710
4261
|
end
|
|
4262
|
+
|
|
4263
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::Proration#rounding
|
|
4264
|
+
class Rounding < MetronomeSDK::Internal::Type::BaseModel
|
|
4265
|
+
# @!attribute decimal_places
|
|
4266
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4267
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4268
|
+
# nearest 100 in the stored unit).
|
|
4269
|
+
#
|
|
4270
|
+
# @return [Float]
|
|
4271
|
+
required :decimal_places, Float
|
|
4272
|
+
|
|
4273
|
+
# @!attribute rounding_method
|
|
4274
|
+
#
|
|
4275
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::RoundingMethod]
|
|
4276
|
+
required :rounding_method,
|
|
4277
|
+
enum: -> { MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod }
|
|
4278
|
+
|
|
4279
|
+
# @!method initialize(decimal_places:, rounding_method:)
|
|
4280
|
+
# Some parameter documentations has been truncated, see
|
|
4281
|
+
# {MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding} for more
|
|
4282
|
+
# details.
|
|
4283
|
+
#
|
|
4284
|
+
# @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
|
|
4285
|
+
#
|
|
4286
|
+
# @param rounding_method [Symbol, MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding::RoundingMethod]
|
|
4287
|
+
|
|
4288
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::Proration::Rounding#rounding_method
|
|
4289
|
+
module RoundingMethod
|
|
4290
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4291
|
+
|
|
4292
|
+
HALF_UP = :HALF_UP
|
|
4293
|
+
FLOOR = :FLOOR
|
|
4294
|
+
CEILING = :CEILING
|
|
4295
|
+
|
|
4296
|
+
# @!method self.values
|
|
4297
|
+
# @return [Array<Symbol>]
|
|
4298
|
+
end
|
|
4299
|
+
end
|
|
3711
4300
|
end
|
|
3712
4301
|
|
|
3713
4302
|
# Determines how the subscription's quantity is controlled. Defaults to
|
|
@@ -3801,6 +4390,46 @@ module MetronomeSDK
|
|
|
3801
4390
|
end
|
|
3802
4391
|
end
|
|
3803
4392
|
|
|
4393
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#billing_cycle_config
|
|
4394
|
+
class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
4395
|
+
# @!attribute anchor_date
|
|
4396
|
+
# The date this subscription's billing cycle is anchored to.
|
|
4397
|
+
#
|
|
4398
|
+
# @return [Time]
|
|
4399
|
+
required :anchor_date, Time
|
|
4400
|
+
|
|
4401
|
+
# @!attribute invoice_placement
|
|
4402
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
4403
|
+
# own scheduled invoice.
|
|
4404
|
+
#
|
|
4405
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement]
|
|
4406
|
+
required :invoice_placement,
|
|
4407
|
+
enum: -> { MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement }
|
|
4408
|
+
|
|
4409
|
+
# @!method initialize(anchor_date:, invoice_placement:)
|
|
4410
|
+
# Some parameter documentations has been truncated, see
|
|
4411
|
+
# {MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig} for more
|
|
4412
|
+
# details.
|
|
4413
|
+
#
|
|
4414
|
+
# @param anchor_date [Time] The date this subscription's billing cycle is anchored to.
|
|
4415
|
+
#
|
|
4416
|
+
# @param invoice_placement [Symbol, MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement] Controls whether this subscription consolidates onto usage invoices or gets its
|
|
4417
|
+
|
|
4418
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
4419
|
+
# own scheduled invoice.
|
|
4420
|
+
#
|
|
4421
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig#invoice_placement
|
|
4422
|
+
module InvoicePlacement
|
|
4423
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4424
|
+
|
|
4425
|
+
ON_SCHEDULED_INVOICE = :ON_SCHEDULED_INVOICE
|
|
4426
|
+
ON_USAGE_INVOICE = :ON_USAGE_INVOICE
|
|
4427
|
+
|
|
4428
|
+
# @!method self.values
|
|
4429
|
+
# @return [Array<Symbol>]
|
|
4430
|
+
end
|
|
4431
|
+
end
|
|
4432
|
+
|
|
3804
4433
|
# @see MetronomeSDK::Models::ContractV2::Subscription#seat_config
|
|
3805
4434
|
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
3806
4435
|
# @!attribute seat_group_key
|