metronome-sdk 1.0.0 → 2.1.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 +91 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/errors.rb +25 -11
- data/lib/metronome_sdk/file_part.rb +10 -7
- data/lib/metronome_sdk/internal/body_cursor_page.rb +1 -1
- data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
- data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +11 -7
- data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +34 -31
- data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
- data/lib/metronome_sdk/internal/type/enum.rb +25 -0
- data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
- data/lib/metronome_sdk/internal/util.rb +8 -7
- data/lib/metronome_sdk/models/contract.rb +1 -0
- data/lib/metronome_sdk/models/contract_v2.rb +275 -6
- data/lib/metronome_sdk/models/contract_without_amendments.rb +2 -2
- data/lib/metronome_sdk/models/hierarchy_configuration.rb +123 -2
- data/lib/metronome_sdk/models/payment_gate_config.rb +1 -0
- data/lib/metronome_sdk/models/payment_gate_config_v2.rb +1 -0
- data/lib/metronome_sdk/models/subscription.rb +95 -1
- data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +38 -36
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +157 -9
- data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
- data/lib/metronome_sdk/models/v1/customer_create_params.rb +11 -1
- data/lib/metronome_sdk/models/v1/customer_detail.rb +9 -1
- data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +19 -25
- data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
- data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +1 -0
- data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -3
- data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +12 -12
- data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -1
- data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +6 -1
- data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +1 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +41 -38
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +256 -16
- data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
- data/lib/metronome_sdk/models/v1/payment.rb +157 -0
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
- data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
- data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +65 -0
- data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rb +12 -0
- data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +73 -0
- data/lib/metronome_sdk/models/v1/settings/billing_provider_create_response.rb +31 -0
- data/lib/metronome_sdk/models/v1/settings/billing_provider_list_params.rb +26 -0
- data/lib/metronome_sdk/models/v1/settings/billing_provider_list_response.rb +105 -0
- data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +9 -1
- data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +9 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +219 -9
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +195 -8
- data/lib/metronome_sdk/resources/v1/alerts.rb +57 -53
- data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
- data/lib/metronome_sdk/resources/v1/credit_grants.rb +10 -5
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +70 -51
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +7 -4
- data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -1
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +57 -1
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -4
- data/lib/metronome_sdk/resources/v1/customers.rb +13 -8
- data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
- data/lib/metronome_sdk/resources/v1/plans.rb +8 -4
- data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +75 -0
- data/lib/metronome_sdk/resources/v1/settings.rb +55 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +4 -2
- data/lib/metronome_sdk/resources/v1.rb +8 -0
- data/lib/metronome_sdk/resources/v2/contracts.rb +9 -3
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +17 -0
- data/rbi/metronome_sdk/errors.rbi +29 -2
- data/rbi/metronome_sdk/file_part.rbi +1 -1
- data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
- data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
- data/rbi/metronome_sdk/internal/util.rbi +1 -1
- data/rbi/metronome_sdk/models/contract.rbi +5 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +635 -10
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2 -2
- data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +286 -6
- data/rbi/metronome_sdk/models/payment_gate_config.rbi +5 -0
- data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +5 -0
- data/rbi/metronome_sdk/models/subscription.rbi +190 -0
- data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +51 -47
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +326 -10
- data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
- data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +11 -0
- data/rbi/metronome_sdk/models/v1/customer_detail.rbi +8 -0
- data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +24 -32
- data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
- data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
- data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +14 -14
- data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +11 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +6 -0
- data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +2 -2
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +53 -44
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +462 -38
- data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
- data/rbi/metronome_sdk/models/v1/payment.rbi +324 -0
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
- data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +115 -0
- data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbi +25 -0
- data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +157 -0
- data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_response.rbi +75 -0
- data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_params.rbi +50 -0
- data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_response.rbi +245 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +18 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +18 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +536 -12
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +462 -14
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +68 -64
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +10 -5
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +73 -54
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -2
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +38 -1
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1/customers.rbi +17 -11
- data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
- data/rbi/metronome_sdk/resources/v1/plans.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +63 -0
- data/rbi/metronome_sdk/resources/v1/settings.rbi +47 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +4 -2
- data/rbi/metronome_sdk/resources/v1.rbi +6 -0
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +14 -0
- data/sig/metronome_sdk/errors.rbs +7 -0
- data/sig/metronome_sdk/file_part.rbs +1 -1
- data/sig/metronome_sdk/models/contract.rbs +2 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +241 -12
- data/sig/metronome_sdk/models/hierarchy_configuration.rbs +87 -6
- data/sig/metronome_sdk/models/payment_gate_config.rbs +2 -1
- data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +2 -1
- data/sig/metronome_sdk/models/subscription.rbs +80 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +2 -1
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +91 -5
- data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customer_create_params.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
- data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
- data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
- data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +2 -0
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +244 -19
- data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
- data/sig/metronome_sdk/models/v1/payment.rbs +198 -0
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
- data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
- data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +54 -0
- data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbs +13 -0
- data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +64 -0
- data/sig/metronome_sdk/models/v1/settings/billing_provider_create_response.rbs +34 -0
- data/sig/metronome_sdk/models/v1/settings/billing_provider_list_params.rbs +28 -0
- data/sig/metronome_sdk/models/v1/settings/billing_provider_list_response.rbs +102 -0
- data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +9 -0
- data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +9 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +184 -7
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +221 -18
- data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
- data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
- data/sig/metronome_sdk/resources/v1/settings/billing_providers.rbs +23 -0
- data/sig/metronome_sdk/resources/v1/settings.rbs +19 -0
- data/sig/metronome_sdk/resources/v1.rbs +4 -0
- data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -0
- metadata +53 -2
|
@@ -111,15 +111,19 @@ module MetronomeSDK
|
|
|
111
111
|
|
|
112
112
|
# Either a **parent** configuration with a list of children or a **child**
|
|
113
113
|
# configuration with a single parent.
|
|
114
|
-
sig
|
|
114
|
+
sig do
|
|
115
|
+
returns(
|
|
116
|
+
T.nilable(MetronomeSDK::ContractV2::HierarchyConfiguration::Variants)
|
|
117
|
+
)
|
|
118
|
+
end
|
|
115
119
|
attr_reader :hierarchy_configuration
|
|
116
120
|
|
|
117
121
|
sig do
|
|
118
122
|
params(
|
|
119
123
|
hierarchy_configuration:
|
|
120
124
|
T.any(
|
|
121
|
-
MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
|
|
122
|
-
MetronomeSDK::HierarchyConfiguration::
|
|
125
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
|
|
126
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::OrHash
|
|
123
127
|
)
|
|
124
128
|
).void
|
|
125
129
|
end
|
|
@@ -328,8 +332,8 @@ module MetronomeSDK
|
|
|
328
332
|
has_more: MetronomeSDK::ContractV2::HasMore::OrHash,
|
|
329
333
|
hierarchy_configuration:
|
|
330
334
|
T.any(
|
|
331
|
-
MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
|
|
332
|
-
MetronomeSDK::HierarchyConfiguration::
|
|
335
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
|
|
336
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::OrHash
|
|
333
337
|
),
|
|
334
338
|
multiplier_override_prioritization:
|
|
335
339
|
MetronomeSDK::ContractV2::MultiplierOverridePrioritization::OrSymbol,
|
|
@@ -444,7 +448,7 @@ module MetronomeSDK
|
|
|
444
448
|
ending_before: Time,
|
|
445
449
|
has_more: MetronomeSDK::ContractV2::HasMore,
|
|
446
450
|
hierarchy_configuration:
|
|
447
|
-
MetronomeSDK::HierarchyConfiguration::Variants,
|
|
451
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::Variants,
|
|
448
452
|
multiplier_override_prioritization:
|
|
449
453
|
MetronomeSDK::ContractV2::MultiplierOverridePrioritization::TaggedSymbol,
|
|
450
454
|
name: String,
|
|
@@ -2372,10 +2376,17 @@ module MetronomeSDK
|
|
|
2372
2376
|
end
|
|
2373
2377
|
attr_writer :override_tiers
|
|
2374
2378
|
|
|
2375
|
-
sig
|
|
2379
|
+
sig do
|
|
2380
|
+
returns(T.nilable(MetronomeSDK::ContractV2::Override::OverwriteRate))
|
|
2381
|
+
end
|
|
2376
2382
|
attr_reader :overwrite_rate
|
|
2377
2383
|
|
|
2378
|
-
sig
|
|
2384
|
+
sig do
|
|
2385
|
+
params(
|
|
2386
|
+
overwrite_rate:
|
|
2387
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::OrHash
|
|
2388
|
+
).void
|
|
2389
|
+
end
|
|
2379
2390
|
attr_writer :overwrite_rate
|
|
2380
2391
|
|
|
2381
2392
|
sig { returns(T.nilable(Float)) }
|
|
@@ -2434,7 +2445,8 @@ module MetronomeSDK
|
|
|
2434
2445
|
MetronomeSDK::ContractV2::Override::OverrideSpecifier::OrHash
|
|
2435
2446
|
],
|
|
2436
2447
|
override_tiers: T::Array[MetronomeSDK::OverrideTier::OrHash],
|
|
2437
|
-
overwrite_rate:
|
|
2448
|
+
overwrite_rate:
|
|
2449
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::OrHash,
|
|
2438
2450
|
priority: Float,
|
|
2439
2451
|
product: MetronomeSDK::ContractV2::Override::Product::OrHash,
|
|
2440
2452
|
target: MetronomeSDK::ContractV2::Override::Target::OrSymbol,
|
|
@@ -2472,7 +2484,7 @@ module MetronomeSDK
|
|
|
2472
2484
|
override_specifiers:
|
|
2473
2485
|
T::Array[MetronomeSDK::ContractV2::Override::OverrideSpecifier],
|
|
2474
2486
|
override_tiers: T::Array[MetronomeSDK::OverrideTier],
|
|
2475
|
-
overwrite_rate: MetronomeSDK::OverwriteRate,
|
|
2487
|
+
overwrite_rate: MetronomeSDK::ContractV2::Override::OverwriteRate,
|
|
2476
2488
|
priority: Float,
|
|
2477
2489
|
product: MetronomeSDK::ContractV2::Override::Product,
|
|
2478
2490
|
target: MetronomeSDK::ContractV2::Override::Target::TaggedSymbol,
|
|
@@ -2643,6 +2655,164 @@ module MetronomeSDK
|
|
|
2643
2655
|
end
|
|
2644
2656
|
end
|
|
2645
2657
|
|
|
2658
|
+
class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
|
|
2659
|
+
OrHash =
|
|
2660
|
+
T.type_alias do
|
|
2661
|
+
T.any(
|
|
2662
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate,
|
|
2663
|
+
MetronomeSDK::Internal::AnyHash
|
|
2664
|
+
)
|
|
2665
|
+
end
|
|
2666
|
+
|
|
2667
|
+
sig do
|
|
2668
|
+
returns(
|
|
2669
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2670
|
+
)
|
|
2671
|
+
end
|
|
2672
|
+
attr_accessor :rate_type
|
|
2673
|
+
|
|
2674
|
+
sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
|
|
2675
|
+
attr_reader :credit_type
|
|
2676
|
+
|
|
2677
|
+
sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
|
|
2678
|
+
attr_writer :credit_type
|
|
2679
|
+
|
|
2680
|
+
# Only set for CUSTOM rate_type. This field is interpreted by custom rate
|
|
2681
|
+
# processors.
|
|
2682
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
2683
|
+
attr_reader :custom_rate
|
|
2684
|
+
|
|
2685
|
+
sig { params(custom_rate: T::Hash[Symbol, T.anything]).void }
|
|
2686
|
+
attr_writer :custom_rate
|
|
2687
|
+
|
|
2688
|
+
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
2689
|
+
# set to true.
|
|
2690
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
2691
|
+
attr_reader :is_prorated
|
|
2692
|
+
|
|
2693
|
+
sig { params(is_prorated: T::Boolean).void }
|
|
2694
|
+
attr_writer :is_prorated
|
|
2695
|
+
|
|
2696
|
+
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2697
|
+
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2698
|
+
sig { returns(T.nilable(Float)) }
|
|
2699
|
+
attr_reader :price
|
|
2700
|
+
|
|
2701
|
+
sig { params(price: Float).void }
|
|
2702
|
+
attr_writer :price
|
|
2703
|
+
|
|
2704
|
+
# Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
2705
|
+
sig { returns(T.nilable(Float)) }
|
|
2706
|
+
attr_reader :quantity
|
|
2707
|
+
|
|
2708
|
+
sig { params(quantity: Float).void }
|
|
2709
|
+
attr_writer :quantity
|
|
2710
|
+
|
|
2711
|
+
# Only set for TIERED rate_type.
|
|
2712
|
+
sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
|
|
2713
|
+
attr_reader :tiers
|
|
2714
|
+
|
|
2715
|
+
sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
|
|
2716
|
+
attr_writer :tiers
|
|
2717
|
+
|
|
2718
|
+
sig do
|
|
2719
|
+
params(
|
|
2720
|
+
rate_type:
|
|
2721
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::OrSymbol,
|
|
2722
|
+
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
2723
|
+
custom_rate: T::Hash[Symbol, T.anything],
|
|
2724
|
+
is_prorated: T::Boolean,
|
|
2725
|
+
price: Float,
|
|
2726
|
+
quantity: Float,
|
|
2727
|
+
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
2728
|
+
).returns(T.attached_class)
|
|
2729
|
+
end
|
|
2730
|
+
def self.new(
|
|
2731
|
+
rate_type:,
|
|
2732
|
+
credit_type: nil,
|
|
2733
|
+
# Only set for CUSTOM rate_type. This field is interpreted by custom rate
|
|
2734
|
+
# processors.
|
|
2735
|
+
custom_rate: nil,
|
|
2736
|
+
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
2737
|
+
# set to true.
|
|
2738
|
+
is_prorated: nil,
|
|
2739
|
+
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2740
|
+
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2741
|
+
price: nil,
|
|
2742
|
+
# Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
2743
|
+
quantity: nil,
|
|
2744
|
+
# Only set for TIERED rate_type.
|
|
2745
|
+
tiers: nil
|
|
2746
|
+
)
|
|
2747
|
+
end
|
|
2748
|
+
|
|
2749
|
+
sig do
|
|
2750
|
+
override.returns(
|
|
2751
|
+
{
|
|
2752
|
+
rate_type:
|
|
2753
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol,
|
|
2754
|
+
credit_type: MetronomeSDK::CreditTypeData,
|
|
2755
|
+
custom_rate: T::Hash[Symbol, T.anything],
|
|
2756
|
+
is_prorated: T::Boolean,
|
|
2757
|
+
price: Float,
|
|
2758
|
+
quantity: Float,
|
|
2759
|
+
tiers: T::Array[MetronomeSDK::Tier]
|
|
2760
|
+
}
|
|
2761
|
+
)
|
|
2762
|
+
end
|
|
2763
|
+
def to_hash
|
|
2764
|
+
end
|
|
2765
|
+
|
|
2766
|
+
module RateType
|
|
2767
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
2768
|
+
|
|
2769
|
+
TaggedSymbol =
|
|
2770
|
+
T.type_alias do
|
|
2771
|
+
T.all(
|
|
2772
|
+
Symbol,
|
|
2773
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType
|
|
2774
|
+
)
|
|
2775
|
+
end
|
|
2776
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2777
|
+
|
|
2778
|
+
FLAT =
|
|
2779
|
+
T.let(
|
|
2780
|
+
:FLAT,
|
|
2781
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2782
|
+
)
|
|
2783
|
+
PERCENTAGE =
|
|
2784
|
+
T.let(
|
|
2785
|
+
:PERCENTAGE,
|
|
2786
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2787
|
+
)
|
|
2788
|
+
SUBSCRIPTION =
|
|
2789
|
+
T.let(
|
|
2790
|
+
:SUBSCRIPTION,
|
|
2791
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2792
|
+
)
|
|
2793
|
+
TIERED =
|
|
2794
|
+
T.let(
|
|
2795
|
+
:TIERED,
|
|
2796
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2797
|
+
)
|
|
2798
|
+
CUSTOM =
|
|
2799
|
+
T.let(
|
|
2800
|
+
:CUSTOM,
|
|
2801
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2802
|
+
)
|
|
2803
|
+
|
|
2804
|
+
sig do
|
|
2805
|
+
override.returns(
|
|
2806
|
+
T::Array[
|
|
2807
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::RateType::TaggedSymbol
|
|
2808
|
+
]
|
|
2809
|
+
)
|
|
2810
|
+
end
|
|
2811
|
+
def self.values
|
|
2812
|
+
end
|
|
2813
|
+
end
|
|
2814
|
+
end
|
|
2815
|
+
|
|
2646
2816
|
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
2647
2817
|
OrHash =
|
|
2648
2818
|
T.type_alias do
|
|
@@ -4062,6 +4232,11 @@ module MetronomeSDK
|
|
|
4062
4232
|
:gcp_marketplace,
|
|
4063
4233
|
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
4064
4234
|
)
|
|
4235
|
+
METRONOME =
|
|
4236
|
+
T.let(
|
|
4237
|
+
:metronome,
|
|
4238
|
+
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
4239
|
+
)
|
|
4065
4240
|
|
|
4066
4241
|
sig do
|
|
4067
4242
|
override.returns(
|
|
@@ -4164,6 +4339,456 @@ module MetronomeSDK
|
|
|
4164
4339
|
end
|
|
4165
4340
|
end
|
|
4166
4341
|
|
|
4342
|
+
# Either a **parent** configuration with a list of children or a **child**
|
|
4343
|
+
# configuration with a single parent.
|
|
4344
|
+
module HierarchyConfiguration
|
|
4345
|
+
extend MetronomeSDK::Internal::Type::Union
|
|
4346
|
+
|
|
4347
|
+
Variants =
|
|
4348
|
+
T.type_alias do
|
|
4349
|
+
T.any(
|
|
4350
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration,
|
|
4351
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2
|
|
4352
|
+
)
|
|
4353
|
+
end
|
|
4354
|
+
|
|
4355
|
+
class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
4356
|
+
OrHash =
|
|
4357
|
+
T.type_alias do
|
|
4358
|
+
T.any(
|
|
4359
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration,
|
|
4360
|
+
MetronomeSDK::Internal::AnyHash
|
|
4361
|
+
)
|
|
4362
|
+
end
|
|
4363
|
+
|
|
4364
|
+
# List of contracts that belong to this parent.
|
|
4365
|
+
sig do
|
|
4366
|
+
returns(
|
|
4367
|
+
T::Array[
|
|
4368
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::Child
|
|
4369
|
+
]
|
|
4370
|
+
)
|
|
4371
|
+
end
|
|
4372
|
+
attr_accessor :children
|
|
4373
|
+
|
|
4374
|
+
sig do
|
|
4375
|
+
returns(
|
|
4376
|
+
T.nilable(
|
|
4377
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
|
|
4378
|
+
)
|
|
4379
|
+
)
|
|
4380
|
+
end
|
|
4381
|
+
attr_reader :parent_behavior
|
|
4382
|
+
|
|
4383
|
+
sig do
|
|
4384
|
+
params(
|
|
4385
|
+
parent_behavior:
|
|
4386
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::OrHash
|
|
4387
|
+
).void
|
|
4388
|
+
end
|
|
4389
|
+
attr_writer :parent_behavior
|
|
4390
|
+
|
|
4391
|
+
sig do
|
|
4392
|
+
params(
|
|
4393
|
+
children:
|
|
4394
|
+
T::Array[
|
|
4395
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::Child::OrHash
|
|
4396
|
+
],
|
|
4397
|
+
parent_behavior:
|
|
4398
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::OrHash
|
|
4399
|
+
).returns(T.attached_class)
|
|
4400
|
+
end
|
|
4401
|
+
def self.new(
|
|
4402
|
+
# List of contracts that belong to this parent.
|
|
4403
|
+
children:,
|
|
4404
|
+
parent_behavior: nil
|
|
4405
|
+
)
|
|
4406
|
+
end
|
|
4407
|
+
|
|
4408
|
+
sig do
|
|
4409
|
+
override.returns(
|
|
4410
|
+
{
|
|
4411
|
+
children:
|
|
4412
|
+
T::Array[
|
|
4413
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::Child
|
|
4414
|
+
],
|
|
4415
|
+
parent_behavior:
|
|
4416
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
|
|
4417
|
+
}
|
|
4418
|
+
)
|
|
4419
|
+
end
|
|
4420
|
+
def to_hash
|
|
4421
|
+
end
|
|
4422
|
+
|
|
4423
|
+
class Child < MetronomeSDK::Internal::Type::BaseModel
|
|
4424
|
+
OrHash =
|
|
4425
|
+
T.type_alias do
|
|
4426
|
+
T.any(
|
|
4427
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::Child,
|
|
4428
|
+
MetronomeSDK::Internal::AnyHash
|
|
4429
|
+
)
|
|
4430
|
+
end
|
|
4431
|
+
|
|
4432
|
+
sig { returns(String) }
|
|
4433
|
+
attr_accessor :contract_id
|
|
4434
|
+
|
|
4435
|
+
sig { returns(String) }
|
|
4436
|
+
attr_accessor :customer_id
|
|
4437
|
+
|
|
4438
|
+
sig do
|
|
4439
|
+
params(contract_id: String, customer_id: String).returns(
|
|
4440
|
+
T.attached_class
|
|
4441
|
+
)
|
|
4442
|
+
end
|
|
4443
|
+
def self.new(contract_id:, customer_id:)
|
|
4444
|
+
end
|
|
4445
|
+
|
|
4446
|
+
sig do
|
|
4447
|
+
override.returns({ contract_id: String, customer_id: String })
|
|
4448
|
+
end
|
|
4449
|
+
def to_hash
|
|
4450
|
+
end
|
|
4451
|
+
end
|
|
4452
|
+
|
|
4453
|
+
class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
|
|
4454
|
+
OrHash =
|
|
4455
|
+
T.type_alias do
|
|
4456
|
+
T.any(
|
|
4457
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior,
|
|
4458
|
+
MetronomeSDK::Internal::AnyHash
|
|
4459
|
+
)
|
|
4460
|
+
end
|
|
4461
|
+
|
|
4462
|
+
# Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
|
|
4463
|
+
# generated by the parent in a customer hierarchy
|
|
4464
|
+
#
|
|
4465
|
+
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
4466
|
+
# to the consolidated invoice
|
|
4467
|
+
#
|
|
4468
|
+
# **NONE**: Do not generate consolidated invoices
|
|
4469
|
+
sig do
|
|
4470
|
+
returns(
|
|
4471
|
+
T.nilable(
|
|
4472
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
|
|
4473
|
+
)
|
|
4474
|
+
)
|
|
4475
|
+
end
|
|
4476
|
+
attr_reader :invoice_consolidation_type
|
|
4477
|
+
|
|
4478
|
+
sig do
|
|
4479
|
+
params(
|
|
4480
|
+
invoice_consolidation_type:
|
|
4481
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::OrSymbol
|
|
4482
|
+
).void
|
|
4483
|
+
end
|
|
4484
|
+
attr_writer :invoice_consolidation_type
|
|
4485
|
+
|
|
4486
|
+
sig do
|
|
4487
|
+
params(
|
|
4488
|
+
invoice_consolidation_type:
|
|
4489
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::OrSymbol
|
|
4490
|
+
).returns(T.attached_class)
|
|
4491
|
+
end
|
|
4492
|
+
def self.new(
|
|
4493
|
+
# Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
|
|
4494
|
+
# generated by the parent in a customer hierarchy
|
|
4495
|
+
#
|
|
4496
|
+
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
4497
|
+
# to the consolidated invoice
|
|
4498
|
+
#
|
|
4499
|
+
# **NONE**: Do not generate consolidated invoices
|
|
4500
|
+
invoice_consolidation_type: nil
|
|
4501
|
+
)
|
|
4502
|
+
end
|
|
4503
|
+
|
|
4504
|
+
sig do
|
|
4505
|
+
override.returns(
|
|
4506
|
+
{
|
|
4507
|
+
invoice_consolidation_type:
|
|
4508
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
|
|
4509
|
+
}
|
|
4510
|
+
)
|
|
4511
|
+
end
|
|
4512
|
+
def to_hash
|
|
4513
|
+
end
|
|
4514
|
+
|
|
4515
|
+
# Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
|
|
4516
|
+
# generated by the parent in a customer hierarchy
|
|
4517
|
+
#
|
|
4518
|
+
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
4519
|
+
# to the consolidated invoice
|
|
4520
|
+
#
|
|
4521
|
+
# **NONE**: Do not generate consolidated invoices
|
|
4522
|
+
module InvoiceConsolidationType
|
|
4523
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4524
|
+
|
|
4525
|
+
TaggedSymbol =
|
|
4526
|
+
T.type_alias do
|
|
4527
|
+
T.all(
|
|
4528
|
+
Symbol,
|
|
4529
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType
|
|
4530
|
+
)
|
|
4531
|
+
end
|
|
4532
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4533
|
+
|
|
4534
|
+
CONCATENATE =
|
|
4535
|
+
T.let(
|
|
4536
|
+
:CONCATENATE,
|
|
4537
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
|
|
4538
|
+
)
|
|
4539
|
+
NONE =
|
|
4540
|
+
T.let(
|
|
4541
|
+
:NONE,
|
|
4542
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
|
|
4543
|
+
)
|
|
4544
|
+
|
|
4545
|
+
sig do
|
|
4546
|
+
override.returns(
|
|
4547
|
+
T::Array[
|
|
4548
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
|
|
4549
|
+
]
|
|
4550
|
+
)
|
|
4551
|
+
end
|
|
4552
|
+
def self.values
|
|
4553
|
+
end
|
|
4554
|
+
end
|
|
4555
|
+
end
|
|
4556
|
+
end
|
|
4557
|
+
|
|
4558
|
+
class ChildHierarchyConfigurationV2 < MetronomeSDK::Internal::Type::BaseModel
|
|
4559
|
+
OrHash =
|
|
4560
|
+
T.type_alias do
|
|
4561
|
+
T.any(
|
|
4562
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2,
|
|
4563
|
+
MetronomeSDK::Internal::AnyHash
|
|
4564
|
+
)
|
|
4565
|
+
end
|
|
4566
|
+
|
|
4567
|
+
# The single parent contract/customer for this child.
|
|
4568
|
+
sig do
|
|
4569
|
+
returns(
|
|
4570
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent
|
|
4571
|
+
)
|
|
4572
|
+
end
|
|
4573
|
+
attr_reader :parent
|
|
4574
|
+
|
|
4575
|
+
sig do
|
|
4576
|
+
params(
|
|
4577
|
+
parent:
|
|
4578
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent::OrHash
|
|
4579
|
+
).void
|
|
4580
|
+
end
|
|
4581
|
+
attr_writer :parent
|
|
4582
|
+
|
|
4583
|
+
# Account hierarchy M3 - Indicates which customer should pay for the child's
|
|
4584
|
+
# invoice charges **SELF**: The child pays for its own invoice charges **PARENT**:
|
|
4585
|
+
# The parent pays for the child's invoice charges
|
|
4586
|
+
sig do
|
|
4587
|
+
returns(
|
|
4588
|
+
T.nilable(
|
|
4589
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::TaggedSymbol
|
|
4590
|
+
)
|
|
4591
|
+
)
|
|
4592
|
+
end
|
|
4593
|
+
attr_reader :payer
|
|
4594
|
+
|
|
4595
|
+
sig do
|
|
4596
|
+
params(
|
|
4597
|
+
payer:
|
|
4598
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::OrSymbol
|
|
4599
|
+
).void
|
|
4600
|
+
end
|
|
4601
|
+
attr_writer :payer
|
|
4602
|
+
|
|
4603
|
+
# Account hierarchy M3 - Indicates the behavior of the child's invoice statements
|
|
4604
|
+
# on the parent's invoices.
|
|
4605
|
+
#
|
|
4606
|
+
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
4607
|
+
# consolidated invoices
|
|
4608
|
+
#
|
|
4609
|
+
# **SEPARATE**: Child's invoice statements will appear not appear on parent's
|
|
4610
|
+
# consolidated invoices
|
|
4611
|
+
sig do
|
|
4612
|
+
returns(
|
|
4613
|
+
T.nilable(
|
|
4614
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::TaggedSymbol
|
|
4615
|
+
)
|
|
4616
|
+
)
|
|
4617
|
+
end
|
|
4618
|
+
attr_reader :usage_statement_behavior
|
|
4619
|
+
|
|
4620
|
+
sig do
|
|
4621
|
+
params(
|
|
4622
|
+
usage_statement_behavior:
|
|
4623
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::OrSymbol
|
|
4624
|
+
).void
|
|
4625
|
+
end
|
|
4626
|
+
attr_writer :usage_statement_behavior
|
|
4627
|
+
|
|
4628
|
+
sig do
|
|
4629
|
+
params(
|
|
4630
|
+
parent:
|
|
4631
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent::OrHash,
|
|
4632
|
+
payer:
|
|
4633
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::OrSymbol,
|
|
4634
|
+
usage_statement_behavior:
|
|
4635
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::OrSymbol
|
|
4636
|
+
).returns(T.attached_class)
|
|
4637
|
+
end
|
|
4638
|
+
def self.new(
|
|
4639
|
+
# The single parent contract/customer for this child.
|
|
4640
|
+
parent:,
|
|
4641
|
+
# Account hierarchy M3 - Indicates which customer should pay for the child's
|
|
4642
|
+
# invoice charges **SELF**: The child pays for its own invoice charges **PARENT**:
|
|
4643
|
+
# The parent pays for the child's invoice charges
|
|
4644
|
+
payer: nil,
|
|
4645
|
+
# Account hierarchy M3 - Indicates the behavior of the child's invoice statements
|
|
4646
|
+
# on the parent's invoices.
|
|
4647
|
+
#
|
|
4648
|
+
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
4649
|
+
# consolidated invoices
|
|
4650
|
+
#
|
|
4651
|
+
# **SEPARATE**: Child's invoice statements will appear not appear on parent's
|
|
4652
|
+
# consolidated invoices
|
|
4653
|
+
usage_statement_behavior: nil
|
|
4654
|
+
)
|
|
4655
|
+
end
|
|
4656
|
+
|
|
4657
|
+
sig do
|
|
4658
|
+
override.returns(
|
|
4659
|
+
{
|
|
4660
|
+
parent:
|
|
4661
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent,
|
|
4662
|
+
payer:
|
|
4663
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::TaggedSymbol,
|
|
4664
|
+
usage_statement_behavior:
|
|
4665
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::TaggedSymbol
|
|
4666
|
+
}
|
|
4667
|
+
)
|
|
4668
|
+
end
|
|
4669
|
+
def to_hash
|
|
4670
|
+
end
|
|
4671
|
+
|
|
4672
|
+
class Parent < MetronomeSDK::Internal::Type::BaseModel
|
|
4673
|
+
OrHash =
|
|
4674
|
+
T.type_alias do
|
|
4675
|
+
T.any(
|
|
4676
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent,
|
|
4677
|
+
MetronomeSDK::Internal::AnyHash
|
|
4678
|
+
)
|
|
4679
|
+
end
|
|
4680
|
+
|
|
4681
|
+
sig { returns(String) }
|
|
4682
|
+
attr_accessor :contract_id
|
|
4683
|
+
|
|
4684
|
+
sig { returns(String) }
|
|
4685
|
+
attr_accessor :customer_id
|
|
4686
|
+
|
|
4687
|
+
# The single parent contract/customer for this child.
|
|
4688
|
+
sig do
|
|
4689
|
+
params(contract_id: String, customer_id: String).returns(
|
|
4690
|
+
T.attached_class
|
|
4691
|
+
)
|
|
4692
|
+
end
|
|
4693
|
+
def self.new(contract_id:, customer_id:)
|
|
4694
|
+
end
|
|
4695
|
+
|
|
4696
|
+
sig do
|
|
4697
|
+
override.returns({ contract_id: String, customer_id: String })
|
|
4698
|
+
end
|
|
4699
|
+
def to_hash
|
|
4700
|
+
end
|
|
4701
|
+
end
|
|
4702
|
+
|
|
4703
|
+
# Account hierarchy M3 - Indicates which customer should pay for the child's
|
|
4704
|
+
# invoice charges **SELF**: The child pays for its own invoice charges **PARENT**:
|
|
4705
|
+
# The parent pays for the child's invoice charges
|
|
4706
|
+
module Payer
|
|
4707
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4708
|
+
|
|
4709
|
+
TaggedSymbol =
|
|
4710
|
+
T.type_alias do
|
|
4711
|
+
T.all(
|
|
4712
|
+
Symbol,
|
|
4713
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer
|
|
4714
|
+
)
|
|
4715
|
+
end
|
|
4716
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4717
|
+
|
|
4718
|
+
SELF =
|
|
4719
|
+
T.let(
|
|
4720
|
+
:SELF,
|
|
4721
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::TaggedSymbol
|
|
4722
|
+
)
|
|
4723
|
+
PARENT =
|
|
4724
|
+
T.let(
|
|
4725
|
+
:PARENT,
|
|
4726
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::TaggedSymbol
|
|
4727
|
+
)
|
|
4728
|
+
|
|
4729
|
+
sig do
|
|
4730
|
+
override.returns(
|
|
4731
|
+
T::Array[
|
|
4732
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer::TaggedSymbol
|
|
4733
|
+
]
|
|
4734
|
+
)
|
|
4735
|
+
end
|
|
4736
|
+
def self.values
|
|
4737
|
+
end
|
|
4738
|
+
end
|
|
4739
|
+
|
|
4740
|
+
# Account hierarchy M3 - Indicates the behavior of the child's invoice statements
|
|
4741
|
+
# on the parent's invoices.
|
|
4742
|
+
#
|
|
4743
|
+
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
4744
|
+
# consolidated invoices
|
|
4745
|
+
#
|
|
4746
|
+
# **SEPARATE**: Child's invoice statements will appear not appear on parent's
|
|
4747
|
+
# consolidated invoices
|
|
4748
|
+
module UsageStatementBehavior
|
|
4749
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4750
|
+
|
|
4751
|
+
TaggedSymbol =
|
|
4752
|
+
T.type_alias do
|
|
4753
|
+
T.all(
|
|
4754
|
+
Symbol,
|
|
4755
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior
|
|
4756
|
+
)
|
|
4757
|
+
end
|
|
4758
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4759
|
+
|
|
4760
|
+
CONSOLIDATE =
|
|
4761
|
+
T.let(
|
|
4762
|
+
:CONSOLIDATE,
|
|
4763
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::TaggedSymbol
|
|
4764
|
+
)
|
|
4765
|
+
SEPARATE =
|
|
4766
|
+
T.let(
|
|
4767
|
+
:SEPARATE,
|
|
4768
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::TaggedSymbol
|
|
4769
|
+
)
|
|
4770
|
+
|
|
4771
|
+
sig do
|
|
4772
|
+
override.returns(
|
|
4773
|
+
T::Array[
|
|
4774
|
+
MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior::TaggedSymbol
|
|
4775
|
+
]
|
|
4776
|
+
)
|
|
4777
|
+
end
|
|
4778
|
+
def self.values
|
|
4779
|
+
end
|
|
4780
|
+
end
|
|
4781
|
+
end
|
|
4782
|
+
|
|
4783
|
+
sig do
|
|
4784
|
+
override.returns(
|
|
4785
|
+
T::Array[MetronomeSDK::ContractV2::HierarchyConfiguration::Variants]
|
|
4786
|
+
)
|
|
4787
|
+
end
|
|
4788
|
+
def self.variants
|
|
4789
|
+
end
|
|
4790
|
+
end
|
|
4791
|
+
|
|
4167
4792
|
# Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
|
|
4168
4793
|
# prices automatically. EXPLICIT prioritization requires specifying priorities for
|
|
4169
4794
|
# each multiplier; the one with the lowest priority value will be prioritized
|