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
|
@@ -55,6 +55,29 @@ module MetronomeSDK
|
|
|
55
55
|
sig { params(archived_at: Time).void }
|
|
56
56
|
attr_writer :archived_at
|
|
57
57
|
|
|
58
|
+
# The schedule of billing provider configuration changes on the contract, ordered
|
|
59
|
+
# by effective_at ascending.
|
|
60
|
+
sig do
|
|
61
|
+
returns(
|
|
62
|
+
T.nilable(
|
|
63
|
+
T::Array[
|
|
64
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule
|
|
65
|
+
]
|
|
66
|
+
)
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
attr_reader :billing_provider_configuration_schedule
|
|
70
|
+
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
billing_provider_configuration_schedule:
|
|
74
|
+
T::Array[
|
|
75
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::OrHash
|
|
76
|
+
]
|
|
77
|
+
).void
|
|
78
|
+
end
|
|
79
|
+
attr_writer :billing_provider_configuration_schedule
|
|
80
|
+
|
|
58
81
|
sig { returns(T.nilable(T::Array[MetronomeSDK::ContractV2::Credit])) }
|
|
59
82
|
attr_reader :credits
|
|
60
83
|
|
|
@@ -70,7 +93,6 @@ module MetronomeSDK
|
|
|
70
93
|
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
|
71
94
|
attr_writer :custom_fields
|
|
72
95
|
|
|
73
|
-
# This field's availability is dependent on your client's configuration.
|
|
74
96
|
sig do
|
|
75
97
|
returns(
|
|
76
98
|
T.nilable(
|
|
@@ -246,6 +268,29 @@ module MetronomeSDK
|
|
|
246
268
|
end
|
|
247
269
|
attr_writer :reseller_royalties
|
|
248
270
|
|
|
271
|
+
# The schedule of revenue system configuration changes on the contract, ordered by
|
|
272
|
+
# effective_at ascending.
|
|
273
|
+
sig do
|
|
274
|
+
returns(
|
|
275
|
+
T.nilable(
|
|
276
|
+
T::Array[
|
|
277
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule
|
|
278
|
+
]
|
|
279
|
+
)
|
|
280
|
+
)
|
|
281
|
+
end
|
|
282
|
+
attr_reader :revenue_system_configuration_schedule
|
|
283
|
+
|
|
284
|
+
sig do
|
|
285
|
+
params(
|
|
286
|
+
revenue_system_configuration_schedule:
|
|
287
|
+
T::Array[
|
|
288
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::OrHash
|
|
289
|
+
]
|
|
290
|
+
).void
|
|
291
|
+
end
|
|
292
|
+
attr_writer :revenue_system_configuration_schedule
|
|
293
|
+
|
|
249
294
|
# This field's availability is dependent on your client's configuration.
|
|
250
295
|
sig { returns(T.nilable(String)) }
|
|
251
296
|
attr_reader :salesforce_opportunity_id
|
|
@@ -342,6 +387,10 @@ module MetronomeSDK
|
|
|
342
387
|
usage_statement_schedule:
|
|
343
388
|
MetronomeSDK::ContractV2::UsageStatementSchedule::OrHash,
|
|
344
389
|
archived_at: Time,
|
|
390
|
+
billing_provider_configuration_schedule:
|
|
391
|
+
T::Array[
|
|
392
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::OrHash
|
|
393
|
+
],
|
|
345
394
|
credits: T::Array[MetronomeSDK::ContractV2::Credit::OrHash],
|
|
346
395
|
custom_fields: T::Hash[Symbol, String],
|
|
347
396
|
customer_billing_provider_configuration:
|
|
@@ -370,6 +419,10 @@ module MetronomeSDK
|
|
|
370
419
|
T::Array[MetronomeSDK::ContractV2::RecurringCredit::OrHash],
|
|
371
420
|
reseller_royalties:
|
|
372
421
|
T::Array[MetronomeSDK::ContractV2::ResellerRoyalty::OrHash],
|
|
422
|
+
revenue_system_configuration_schedule:
|
|
423
|
+
T::Array[
|
|
424
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::OrHash
|
|
425
|
+
],
|
|
373
426
|
salesforce_opportunity_id: String,
|
|
374
427
|
scheduled_charges_on_usage_invoices:
|
|
375
428
|
MetronomeSDK::ContractV2::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
@@ -396,10 +449,12 @@ module MetronomeSDK
|
|
|
396
449
|
usage_filter:,
|
|
397
450
|
usage_statement_schedule:,
|
|
398
451
|
archived_at: nil,
|
|
452
|
+
# The schedule of billing provider configuration changes on the contract, ordered
|
|
453
|
+
# by effective_at ascending.
|
|
454
|
+
billing_provider_configuration_schedule: nil,
|
|
399
455
|
credits: nil,
|
|
400
456
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
401
457
|
custom_fields: nil,
|
|
402
|
-
# This field's availability is dependent on your client's configuration.
|
|
403
458
|
customer_billing_provider_configuration: nil,
|
|
404
459
|
# This field's availability is dependent on your client's configuration.
|
|
405
460
|
discounts: nil,
|
|
@@ -429,6 +484,9 @@ module MetronomeSDK
|
|
|
429
484
|
recurring_credits: nil,
|
|
430
485
|
# This field's availability is dependent on your client's configuration.
|
|
431
486
|
reseller_royalties: nil,
|
|
487
|
+
# The schedule of revenue system configuration changes on the contract, ordered by
|
|
488
|
+
# effective_at ascending.
|
|
489
|
+
revenue_system_configuration_schedule: nil,
|
|
432
490
|
# This field's availability is dependent on your client's configuration.
|
|
433
491
|
salesforce_opportunity_id: nil,
|
|
434
492
|
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
@@ -464,6 +522,10 @@ module MetronomeSDK
|
|
|
464
522
|
usage_statement_schedule:
|
|
465
523
|
MetronomeSDK::ContractV2::UsageStatementSchedule,
|
|
466
524
|
archived_at: Time,
|
|
525
|
+
billing_provider_configuration_schedule:
|
|
526
|
+
T::Array[
|
|
527
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule
|
|
528
|
+
],
|
|
467
529
|
credits: T::Array[MetronomeSDK::ContractV2::Credit],
|
|
468
530
|
custom_fields: T::Hash[Symbol, String],
|
|
469
531
|
customer_billing_provider_configuration:
|
|
@@ -489,6 +551,10 @@ module MetronomeSDK
|
|
|
489
551
|
T::Array[MetronomeSDK::ContractV2::RecurringCredit],
|
|
490
552
|
reseller_royalties:
|
|
491
553
|
T::Array[MetronomeSDK::ContractV2::ResellerRoyalty],
|
|
554
|
+
revenue_system_configuration_schedule:
|
|
555
|
+
T::Array[
|
|
556
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule
|
|
557
|
+
],
|
|
492
558
|
salesforce_opportunity_id: String,
|
|
493
559
|
scheduled_charges_on_usage_invoices:
|
|
494
560
|
MetronomeSDK::ContractV2::ScheduledChargesOnUsageInvoices::TaggedSymbol,
|
|
@@ -595,6 +661,14 @@ module MetronomeSDK
|
|
|
595
661
|
end
|
|
596
662
|
attr_writer :contract
|
|
597
663
|
|
|
664
|
+
# The actor who created this commit. Omitted for system-generated commits such as
|
|
665
|
+
# recurring commits, rollover commits, and threshold commits.
|
|
666
|
+
sig { returns(T.nilable(String)) }
|
|
667
|
+
attr_reader :created_by
|
|
668
|
+
|
|
669
|
+
sig { params(created_by: String).void }
|
|
670
|
+
attr_writer :created_by
|
|
671
|
+
|
|
598
672
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
599
673
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
600
674
|
attr_reader :custom_fields
|
|
@@ -805,6 +879,7 @@ module MetronomeSDK
|
|
|
805
879
|
archived_at: Time,
|
|
806
880
|
balance: Float,
|
|
807
881
|
contract: MetronomeSDK::ContractV2::Commit::Contract::OrHash,
|
|
882
|
+
created_by: String,
|
|
808
883
|
custom_fields: T::Hash[Symbol, String],
|
|
809
884
|
description: String,
|
|
810
885
|
hierarchy_configuration:
|
|
@@ -874,6 +949,9 @@ module MetronomeSDK
|
|
|
874
949
|
# included in the balance, including future-dated manual ledger entries.
|
|
875
950
|
balance: nil,
|
|
876
951
|
contract: nil,
|
|
952
|
+
# The actor who created this commit. Omitted for system-generated commits such as
|
|
953
|
+
# recurring commits, rollover commits, and threshold commits.
|
|
954
|
+
created_by: nil,
|
|
877
955
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
878
956
|
custom_fields: nil,
|
|
879
957
|
description: nil,
|
|
@@ -924,6 +1002,7 @@ module MetronomeSDK
|
|
|
924
1002
|
archived_at: Time,
|
|
925
1003
|
balance: Float,
|
|
926
1004
|
contract: MetronomeSDK::ContractV2::Commit::Contract,
|
|
1005
|
+
created_by: String,
|
|
927
1006
|
custom_fields: T::Hash[Symbol, String],
|
|
928
1007
|
description: String,
|
|
929
1008
|
hierarchy_configuration:
|
|
@@ -2618,6 +2697,12 @@ module MetronomeSDK
|
|
|
2618
2697
|
)
|
|
2619
2698
|
end
|
|
2620
2699
|
|
|
2700
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
2701
|
+
attr_reader :any_commit_or_credit_ids
|
|
2702
|
+
|
|
2703
|
+
sig { params(any_commit_or_credit_ids: T::Array[String]).void }
|
|
2704
|
+
attr_writer :any_commit_or_credit_ids
|
|
2705
|
+
|
|
2621
2706
|
sig do
|
|
2622
2707
|
returns(
|
|
2623
2708
|
T.nilable(
|
|
@@ -2677,6 +2762,7 @@ module MetronomeSDK
|
|
|
2677
2762
|
|
|
2678
2763
|
sig do
|
|
2679
2764
|
params(
|
|
2765
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
2680
2766
|
billing_frequency:
|
|
2681
2767
|
MetronomeSDK::ContractV2::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
|
|
2682
2768
|
commit_ids: T::Array[String],
|
|
@@ -2688,6 +2774,7 @@ module MetronomeSDK
|
|
|
2688
2774
|
).returns(T.attached_class)
|
|
2689
2775
|
end
|
|
2690
2776
|
def self.new(
|
|
2777
|
+
any_commit_or_credit_ids: nil,
|
|
2691
2778
|
billing_frequency: nil,
|
|
2692
2779
|
commit_ids: nil,
|
|
2693
2780
|
presentation_group_values: nil,
|
|
@@ -2701,6 +2788,7 @@ module MetronomeSDK
|
|
|
2701
2788
|
sig do
|
|
2702
2789
|
override.returns(
|
|
2703
2790
|
{
|
|
2791
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
2704
2792
|
billing_frequency:
|
|
2705
2793
|
MetronomeSDK::ContractV2::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol,
|
|
2706
2794
|
commit_ids: T::Array[String],
|
|
@@ -3236,6 +3324,294 @@ module MetronomeSDK
|
|
|
3236
3324
|
end
|
|
3237
3325
|
end
|
|
3238
3326
|
|
|
3327
|
+
class BillingProviderConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
3328
|
+
OrHash =
|
|
3329
|
+
T.type_alias do
|
|
3330
|
+
T.any(
|
|
3331
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule,
|
|
3332
|
+
MetronomeSDK::Internal::AnyHash
|
|
3333
|
+
)
|
|
3334
|
+
end
|
|
3335
|
+
|
|
3336
|
+
sig do
|
|
3337
|
+
returns(
|
|
3338
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration
|
|
3339
|
+
)
|
|
3340
|
+
end
|
|
3341
|
+
attr_reader :billing_provider_configuration
|
|
3342
|
+
|
|
3343
|
+
sig do
|
|
3344
|
+
params(
|
|
3345
|
+
billing_provider_configuration:
|
|
3346
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::OrHash
|
|
3347
|
+
).void
|
|
3348
|
+
end
|
|
3349
|
+
attr_writer :billing_provider_configuration
|
|
3350
|
+
|
|
3351
|
+
# The date this billing provider configuration became or becomes active.
|
|
3352
|
+
sig { returns(Time) }
|
|
3353
|
+
attr_accessor :effective_at
|
|
3354
|
+
|
|
3355
|
+
# The date this billing provider configuration is superseded by the next entry.
|
|
3356
|
+
# Null for the last entry in the schedule.
|
|
3357
|
+
sig { returns(T.nilable(Time)) }
|
|
3358
|
+
attr_reader :effective_until
|
|
3359
|
+
|
|
3360
|
+
sig { params(effective_until: Time).void }
|
|
3361
|
+
attr_writer :effective_until
|
|
3362
|
+
|
|
3363
|
+
sig do
|
|
3364
|
+
params(
|
|
3365
|
+
billing_provider_configuration:
|
|
3366
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::OrHash,
|
|
3367
|
+
effective_at: Time,
|
|
3368
|
+
effective_until: Time
|
|
3369
|
+
).returns(T.attached_class)
|
|
3370
|
+
end
|
|
3371
|
+
def self.new(
|
|
3372
|
+
billing_provider_configuration:,
|
|
3373
|
+
# The date this billing provider configuration became or becomes active.
|
|
3374
|
+
effective_at:,
|
|
3375
|
+
# The date this billing provider configuration is superseded by the next entry.
|
|
3376
|
+
# Null for the last entry in the schedule.
|
|
3377
|
+
effective_until: nil
|
|
3378
|
+
)
|
|
3379
|
+
end
|
|
3380
|
+
|
|
3381
|
+
sig do
|
|
3382
|
+
override.returns(
|
|
3383
|
+
{
|
|
3384
|
+
billing_provider_configuration:
|
|
3385
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
|
|
3386
|
+
effective_at: Time,
|
|
3387
|
+
effective_until: Time
|
|
3388
|
+
}
|
|
3389
|
+
)
|
|
3390
|
+
end
|
|
3391
|
+
def to_hash
|
|
3392
|
+
end
|
|
3393
|
+
|
|
3394
|
+
class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
3395
|
+
OrHash =
|
|
3396
|
+
T.type_alias do
|
|
3397
|
+
T.any(
|
|
3398
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration,
|
|
3399
|
+
MetronomeSDK::Internal::AnyHash
|
|
3400
|
+
)
|
|
3401
|
+
end
|
|
3402
|
+
|
|
3403
|
+
# ID of this configuration; can be provided as the
|
|
3404
|
+
# billing_provider_configuration_id when creating a contract.
|
|
3405
|
+
sig { returns(String) }
|
|
3406
|
+
attr_accessor :id
|
|
3407
|
+
|
|
3408
|
+
sig { returns(T.nilable(Time)) }
|
|
3409
|
+
attr_accessor :archived_at
|
|
3410
|
+
|
|
3411
|
+
# The billing provider set for this configuration.
|
|
3412
|
+
sig do
|
|
3413
|
+
returns(
|
|
3414
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3415
|
+
)
|
|
3416
|
+
end
|
|
3417
|
+
attr_accessor :billing_provider
|
|
3418
|
+
|
|
3419
|
+
# Configuration for the billing provider. The structure of this object is specific
|
|
3420
|
+
# to the billing provider.
|
|
3421
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
3422
|
+
attr_accessor :configuration
|
|
3423
|
+
|
|
3424
|
+
sig { returns(String) }
|
|
3425
|
+
attr_accessor :customer_id
|
|
3426
|
+
|
|
3427
|
+
# The method to use for delivering invoices to this customer.
|
|
3428
|
+
sig do
|
|
3429
|
+
returns(
|
|
3430
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
3431
|
+
)
|
|
3432
|
+
end
|
|
3433
|
+
attr_accessor :delivery_method
|
|
3434
|
+
|
|
3435
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
3436
|
+
# to the delivery method.
|
|
3437
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
3438
|
+
attr_accessor :delivery_method_configuration
|
|
3439
|
+
|
|
3440
|
+
# ID of the delivery method to use for this customer.
|
|
3441
|
+
sig { returns(String) }
|
|
3442
|
+
attr_accessor :delivery_method_id
|
|
3443
|
+
|
|
3444
|
+
sig do
|
|
3445
|
+
params(
|
|
3446
|
+
id: String,
|
|
3447
|
+
archived_at: T.nilable(Time),
|
|
3448
|
+
billing_provider:
|
|
3449
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::OrSymbol,
|
|
3450
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
3451
|
+
customer_id: String,
|
|
3452
|
+
delivery_method:
|
|
3453
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::OrSymbol,
|
|
3454
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything],
|
|
3455
|
+
delivery_method_id: String
|
|
3456
|
+
).returns(T.attached_class)
|
|
3457
|
+
end
|
|
3458
|
+
def self.new(
|
|
3459
|
+
# ID of this configuration; can be provided as the
|
|
3460
|
+
# billing_provider_configuration_id when creating a contract.
|
|
3461
|
+
id:,
|
|
3462
|
+
archived_at:,
|
|
3463
|
+
# The billing provider set for this configuration.
|
|
3464
|
+
billing_provider:,
|
|
3465
|
+
# Configuration for the billing provider. The structure of this object is specific
|
|
3466
|
+
# to the billing provider.
|
|
3467
|
+
configuration:,
|
|
3468
|
+
customer_id:,
|
|
3469
|
+
# The method to use for delivering invoices to this customer.
|
|
3470
|
+
delivery_method:,
|
|
3471
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
3472
|
+
# to the delivery method.
|
|
3473
|
+
delivery_method_configuration:,
|
|
3474
|
+
# ID of the delivery method to use for this customer.
|
|
3475
|
+
delivery_method_id:
|
|
3476
|
+
)
|
|
3477
|
+
end
|
|
3478
|
+
|
|
3479
|
+
sig do
|
|
3480
|
+
override.returns(
|
|
3481
|
+
{
|
|
3482
|
+
id: String,
|
|
3483
|
+
archived_at: T.nilable(Time),
|
|
3484
|
+
billing_provider:
|
|
3485
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol,
|
|
3486
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
3487
|
+
customer_id: String,
|
|
3488
|
+
delivery_method:
|
|
3489
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol,
|
|
3490
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything],
|
|
3491
|
+
delivery_method_id: String
|
|
3492
|
+
}
|
|
3493
|
+
)
|
|
3494
|
+
end
|
|
3495
|
+
def to_hash
|
|
3496
|
+
end
|
|
3497
|
+
|
|
3498
|
+
# The billing provider set for this configuration.
|
|
3499
|
+
module BillingProvider
|
|
3500
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3501
|
+
|
|
3502
|
+
TaggedSymbol =
|
|
3503
|
+
T.type_alias do
|
|
3504
|
+
T.all(
|
|
3505
|
+
Symbol,
|
|
3506
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider
|
|
3507
|
+
)
|
|
3508
|
+
end
|
|
3509
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
3510
|
+
|
|
3511
|
+
AWS_MARKETPLACE =
|
|
3512
|
+
T.let(
|
|
3513
|
+
:aws_marketplace,
|
|
3514
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3515
|
+
)
|
|
3516
|
+
STRIPE =
|
|
3517
|
+
T.let(
|
|
3518
|
+
:stripe,
|
|
3519
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3520
|
+
)
|
|
3521
|
+
NETSUITE =
|
|
3522
|
+
T.let(
|
|
3523
|
+
:netsuite,
|
|
3524
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3525
|
+
)
|
|
3526
|
+
CUSTOM =
|
|
3527
|
+
T.let(
|
|
3528
|
+
:custom,
|
|
3529
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3530
|
+
)
|
|
3531
|
+
AZURE_MARKETPLACE =
|
|
3532
|
+
T.let(
|
|
3533
|
+
:azure_marketplace,
|
|
3534
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3535
|
+
)
|
|
3536
|
+
QUICKBOOKS_ONLINE =
|
|
3537
|
+
T.let(
|
|
3538
|
+
:quickbooks_online,
|
|
3539
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3540
|
+
)
|
|
3541
|
+
WORKDAY =
|
|
3542
|
+
T.let(
|
|
3543
|
+
:workday,
|
|
3544
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3545
|
+
)
|
|
3546
|
+
GCP_MARKETPLACE =
|
|
3547
|
+
T.let(
|
|
3548
|
+
:gcp_marketplace,
|
|
3549
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3550
|
+
)
|
|
3551
|
+
METRONOME =
|
|
3552
|
+
T.let(
|
|
3553
|
+
:metronome,
|
|
3554
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3555
|
+
)
|
|
3556
|
+
|
|
3557
|
+
sig do
|
|
3558
|
+
override.returns(
|
|
3559
|
+
T::Array[
|
|
3560
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
3561
|
+
]
|
|
3562
|
+
)
|
|
3563
|
+
end
|
|
3564
|
+
def self.values
|
|
3565
|
+
end
|
|
3566
|
+
end
|
|
3567
|
+
|
|
3568
|
+
# The method to use for delivering invoices to this customer.
|
|
3569
|
+
module DeliveryMethod
|
|
3570
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3571
|
+
|
|
3572
|
+
TaggedSymbol =
|
|
3573
|
+
T.type_alias do
|
|
3574
|
+
T.all(
|
|
3575
|
+
Symbol,
|
|
3576
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod
|
|
3577
|
+
)
|
|
3578
|
+
end
|
|
3579
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
3580
|
+
|
|
3581
|
+
DIRECT_TO_BILLING_PROVIDER =
|
|
3582
|
+
T.let(
|
|
3583
|
+
:direct_to_billing_provider,
|
|
3584
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
3585
|
+
)
|
|
3586
|
+
AWS_SQS =
|
|
3587
|
+
T.let(
|
|
3588
|
+
:aws_sqs,
|
|
3589
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
3590
|
+
)
|
|
3591
|
+
TACKLE =
|
|
3592
|
+
T.let(
|
|
3593
|
+
:tackle,
|
|
3594
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
3595
|
+
)
|
|
3596
|
+
AWS_SNS =
|
|
3597
|
+
T.let(
|
|
3598
|
+
:aws_sns,
|
|
3599
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
3600
|
+
)
|
|
3601
|
+
|
|
3602
|
+
sig do
|
|
3603
|
+
override.returns(
|
|
3604
|
+
T::Array[
|
|
3605
|
+
MetronomeSDK::ContractV2::BillingProviderConfigurationSchedule::BillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
3606
|
+
]
|
|
3607
|
+
)
|
|
3608
|
+
end
|
|
3609
|
+
def self.values
|
|
3610
|
+
end
|
|
3611
|
+
end
|
|
3612
|
+
end
|
|
3613
|
+
end
|
|
3614
|
+
|
|
3239
3615
|
class Credit < MetronomeSDK::Internal::Type::BaseModel
|
|
3240
3616
|
OrHash =
|
|
3241
3617
|
T.type_alias do
|
|
@@ -3328,6 +3704,14 @@ module MetronomeSDK
|
|
|
3328
3704
|
sig { params(created_at: Time).void }
|
|
3329
3705
|
attr_writer :created_at
|
|
3330
3706
|
|
|
3707
|
+
# The actor who created this credit. Omitted for system-generated credits such as
|
|
3708
|
+
# recurring credits.
|
|
3709
|
+
sig { returns(T.nilable(String)) }
|
|
3710
|
+
attr_reader :created_by
|
|
3711
|
+
|
|
3712
|
+
sig { params(created_by: String).void }
|
|
3713
|
+
attr_writer :created_by
|
|
3714
|
+
|
|
3331
3715
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3332
3716
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
3333
3717
|
attr_reader :custom_fields
|
|
@@ -3471,6 +3855,7 @@ module MetronomeSDK
|
|
|
3471
3855
|
balance: Float,
|
|
3472
3856
|
contract: MetronomeSDK::ContractV2::Credit::Contract::OrHash,
|
|
3473
3857
|
created_at: Time,
|
|
3858
|
+
created_by: String,
|
|
3474
3859
|
custom_fields: T::Hash[Symbol, String],
|
|
3475
3860
|
description: String,
|
|
3476
3861
|
hierarchy_configuration:
|
|
@@ -3525,6 +3910,9 @@ module MetronomeSDK
|
|
|
3525
3910
|
# - Recurring credits: latter of credit service period date and parent credit
|
|
3526
3911
|
# start date
|
|
3527
3912
|
created_at: nil,
|
|
3913
|
+
# The actor who created this credit. Omitted for system-generated credits such as
|
|
3914
|
+
# recurring credits.
|
|
3915
|
+
created_by: nil,
|
|
3528
3916
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3529
3917
|
custom_fields: nil,
|
|
3530
3918
|
description: nil,
|
|
@@ -3567,6 +3955,7 @@ module MetronomeSDK
|
|
|
3567
3955
|
balance: Float,
|
|
3568
3956
|
contract: MetronomeSDK::ContractV2::Credit::Contract,
|
|
3569
3957
|
created_at: Time,
|
|
3958
|
+
created_by: String,
|
|
3570
3959
|
custom_fields: T::Hash[Symbol, String],
|
|
3571
3960
|
description: String,
|
|
3572
3961
|
hierarchy_configuration:
|
|
@@ -4438,10 +4827,15 @@ module MetronomeSDK
|
|
|
4438
4827
|
)
|
|
4439
4828
|
end
|
|
4440
4829
|
|
|
4441
|
-
# ID of
|
|
4830
|
+
# ID of this configuration; can be provided as the
|
|
4831
|
+
# billing_provider_configuration_id when creating a contract.
|
|
4442
4832
|
sig { returns(String) }
|
|
4443
4833
|
attr_accessor :id
|
|
4444
4834
|
|
|
4835
|
+
sig { returns(T.nilable(Time)) }
|
|
4836
|
+
attr_accessor :archived_at
|
|
4837
|
+
|
|
4838
|
+
# The billing provider set for this configuration.
|
|
4445
4839
|
sig do
|
|
4446
4840
|
returns(
|
|
4447
4841
|
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
|
|
@@ -4449,6 +4843,15 @@ module MetronomeSDK
|
|
|
4449
4843
|
end
|
|
4450
4844
|
attr_accessor :billing_provider
|
|
4451
4845
|
|
|
4846
|
+
# Configuration for the billing provider. The structure of this object is specific
|
|
4847
|
+
# to the billing provider.
|
|
4848
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
4849
|
+
attr_accessor :configuration
|
|
4850
|
+
|
|
4851
|
+
sig { returns(String) }
|
|
4852
|
+
attr_accessor :customer_id
|
|
4853
|
+
|
|
4854
|
+
# The method to use for delivering invoices to this customer.
|
|
4452
4855
|
sig do
|
|
4453
4856
|
returns(
|
|
4454
4857
|
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
@@ -4456,21 +4859,47 @@ module MetronomeSDK
|
|
|
4456
4859
|
end
|
|
4457
4860
|
attr_accessor :delivery_method
|
|
4458
4861
|
|
|
4459
|
-
#
|
|
4862
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
4863
|
+
# to the delivery method.
|
|
4864
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
4865
|
+
attr_accessor :delivery_method_configuration
|
|
4866
|
+
|
|
4867
|
+
# ID of the delivery method to use for this customer.
|
|
4868
|
+
sig { returns(String) }
|
|
4869
|
+
attr_accessor :delivery_method_id
|
|
4870
|
+
|
|
4460
4871
|
sig do
|
|
4461
4872
|
params(
|
|
4462
4873
|
id: String,
|
|
4874
|
+
archived_at: T.nilable(Time),
|
|
4463
4875
|
billing_provider:
|
|
4464
4876
|
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol,
|
|
4877
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
4878
|
+
customer_id: String,
|
|
4465
4879
|
delivery_method:
|
|
4466
|
-
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol
|
|
4880
|
+
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol,
|
|
4881
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything],
|
|
4882
|
+
delivery_method_id: String
|
|
4467
4883
|
).returns(T.attached_class)
|
|
4468
4884
|
end
|
|
4469
4885
|
def self.new(
|
|
4470
|
-
# ID of
|
|
4886
|
+
# ID of this configuration; can be provided as the
|
|
4887
|
+
# billing_provider_configuration_id when creating a contract.
|
|
4471
4888
|
id:,
|
|
4889
|
+
archived_at:,
|
|
4890
|
+
# The billing provider set for this configuration.
|
|
4472
4891
|
billing_provider:,
|
|
4473
|
-
|
|
4892
|
+
# Configuration for the billing provider. The structure of this object is specific
|
|
4893
|
+
# to the billing provider.
|
|
4894
|
+
configuration:,
|
|
4895
|
+
customer_id:,
|
|
4896
|
+
# The method to use for delivering invoices to this customer.
|
|
4897
|
+
delivery_method:,
|
|
4898
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
4899
|
+
# to the delivery method.
|
|
4900
|
+
delivery_method_configuration:,
|
|
4901
|
+
# ID of the delivery method to use for this customer.
|
|
4902
|
+
delivery_method_id:
|
|
4474
4903
|
)
|
|
4475
4904
|
end
|
|
4476
4905
|
|
|
@@ -4478,16 +4907,22 @@ module MetronomeSDK
|
|
|
4478
4907
|
override.returns(
|
|
4479
4908
|
{
|
|
4480
4909
|
id: String,
|
|
4910
|
+
archived_at: T.nilable(Time),
|
|
4481
4911
|
billing_provider:
|
|
4482
4912
|
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol,
|
|
4913
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
4914
|
+
customer_id: String,
|
|
4483
4915
|
delivery_method:
|
|
4484
|
-
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
|
|
4916
|
+
MetronomeSDK::ContractV2::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol,
|
|
4917
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything],
|
|
4918
|
+
delivery_method_id: String
|
|
4485
4919
|
}
|
|
4486
4920
|
)
|
|
4487
4921
|
end
|
|
4488
4922
|
def to_hash
|
|
4489
4923
|
end
|
|
4490
4924
|
|
|
4925
|
+
# The billing provider set for this configuration.
|
|
4491
4926
|
module BillingProvider
|
|
4492
4927
|
extend MetronomeSDK::Internal::Type::Enum
|
|
4493
4928
|
|
|
@@ -4557,6 +4992,7 @@ module MetronomeSDK
|
|
|
4557
4992
|
end
|
|
4558
4993
|
end
|
|
4559
4994
|
|
|
4995
|
+
# The method to use for delivering invoices to this customer.
|
|
4560
4996
|
module DeliveryMethod
|
|
4561
4997
|
extend MetronomeSDK::Internal::Type::Enum
|
|
4562
4998
|
|
|
@@ -5303,6 +5739,26 @@ module MetronomeSDK
|
|
|
5303
5739
|
end
|
|
5304
5740
|
attr_writer :proration
|
|
5305
5741
|
|
|
5742
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
5743
|
+
sig do
|
|
5744
|
+
returns(
|
|
5745
|
+
T.nilable(
|
|
5746
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding
|
|
5747
|
+
)
|
|
5748
|
+
)
|
|
5749
|
+
end
|
|
5750
|
+
attr_reader :proration_rounding
|
|
5751
|
+
|
|
5752
|
+
sig do
|
|
5753
|
+
params(
|
|
5754
|
+
proration_rounding:
|
|
5755
|
+
T.nilable(
|
|
5756
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::OrHash
|
|
5757
|
+
)
|
|
5758
|
+
).void
|
|
5759
|
+
end
|
|
5760
|
+
attr_writer :proration_rounding
|
|
5761
|
+
|
|
5306
5762
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
5307
5763
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
5308
5764
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -5387,6 +5843,10 @@ module MetronomeSDK
|
|
|
5387
5843
|
netsuite_sales_order_id: String,
|
|
5388
5844
|
proration:
|
|
5389
5845
|
MetronomeSDK::ContractV2::RecurringCommit::Proration::OrSymbol,
|
|
5846
|
+
proration_rounding:
|
|
5847
|
+
T.nilable(
|
|
5848
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::OrHash
|
|
5849
|
+
),
|
|
5390
5850
|
recurrence_frequency:
|
|
5391
5851
|
MetronomeSDK::ContractV2::RecurringCommit::RecurrenceFrequency::OrSymbol,
|
|
5392
5852
|
rollover_fraction: Float,
|
|
@@ -5428,6 +5888,8 @@ module MetronomeSDK
|
|
|
5428
5888
|
# Determines whether the first and last commit will be prorated. If not provided,
|
|
5429
5889
|
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
|
5430
5890
|
proration: nil,
|
|
5891
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
5892
|
+
proration_rounding: nil,
|
|
5431
5893
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
5432
5894
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
5433
5895
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -5473,6 +5935,10 @@ module MetronomeSDK
|
|
|
5473
5935
|
netsuite_sales_order_id: String,
|
|
5474
5936
|
proration:
|
|
5475
5937
|
MetronomeSDK::ContractV2::RecurringCommit::Proration::TaggedSymbol,
|
|
5938
|
+
proration_rounding:
|
|
5939
|
+
T.nilable(
|
|
5940
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding
|
|
5941
|
+
),
|
|
5476
5942
|
recurrence_frequency:
|
|
5477
5943
|
MetronomeSDK::ContractV2::RecurringCommit::RecurrenceFrequency::TaggedSymbol,
|
|
5478
5944
|
rollover_fraction: Float,
|
|
@@ -5769,27 +6235,276 @@ module MetronomeSDK
|
|
|
5769
6235
|
end
|
|
5770
6236
|
end
|
|
5771
6237
|
|
|
5772
|
-
|
|
5773
|
-
|
|
5774
|
-
# period defined in the duration will correspond to this frequency. - Commits will
|
|
5775
|
-
# be created aligned with the recurring commit's starting_at rather than the usage
|
|
5776
|
-
# invoice dates.
|
|
5777
|
-
module RecurrenceFrequency
|
|
5778
|
-
extend MetronomeSDK::Internal::Type::Enum
|
|
5779
|
-
|
|
5780
|
-
TaggedSymbol =
|
|
6238
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
6239
|
+
OrHash =
|
|
5781
6240
|
T.type_alias do
|
|
5782
|
-
T.
|
|
5783
|
-
|
|
5784
|
-
MetronomeSDK::
|
|
6241
|
+
T.any(
|
|
6242
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding,
|
|
6243
|
+
MetronomeSDK::Internal::AnyHash
|
|
5785
6244
|
)
|
|
5786
6245
|
end
|
|
5787
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
5788
6246
|
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5792
|
-
|
|
6247
|
+
sig do
|
|
6248
|
+
returns(
|
|
6249
|
+
T.nilable(
|
|
6250
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access
|
|
6251
|
+
)
|
|
6252
|
+
)
|
|
6253
|
+
end
|
|
6254
|
+
attr_reader :access
|
|
6255
|
+
|
|
6256
|
+
sig do
|
|
6257
|
+
params(
|
|
6258
|
+
access:
|
|
6259
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::OrHash
|
|
6260
|
+
).void
|
|
6261
|
+
end
|
|
6262
|
+
attr_writer :access
|
|
6263
|
+
|
|
6264
|
+
sig do
|
|
6265
|
+
returns(
|
|
6266
|
+
T.nilable(
|
|
6267
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
|
|
6268
|
+
)
|
|
6269
|
+
)
|
|
6270
|
+
end
|
|
6271
|
+
attr_reader :invoice
|
|
6272
|
+
|
|
6273
|
+
sig do
|
|
6274
|
+
params(
|
|
6275
|
+
invoice:
|
|
6276
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::OrHash
|
|
6277
|
+
).void
|
|
6278
|
+
end
|
|
6279
|
+
attr_writer :invoice
|
|
6280
|
+
|
|
6281
|
+
# Rounding configuration for prorated recurring commit amounts.
|
|
6282
|
+
sig do
|
|
6283
|
+
params(
|
|
6284
|
+
access:
|
|
6285
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::OrHash,
|
|
6286
|
+
invoice:
|
|
6287
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::OrHash
|
|
6288
|
+
).returns(T.attached_class)
|
|
6289
|
+
end
|
|
6290
|
+
def self.new(access: nil, invoice: nil)
|
|
6291
|
+
end
|
|
6292
|
+
|
|
6293
|
+
sig do
|
|
6294
|
+
override.returns(
|
|
6295
|
+
{
|
|
6296
|
+
access:
|
|
6297
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
|
|
6298
|
+
invoice:
|
|
6299
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice
|
|
6300
|
+
}
|
|
6301
|
+
)
|
|
6302
|
+
end
|
|
6303
|
+
def to_hash
|
|
6304
|
+
end
|
|
6305
|
+
|
|
6306
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
6307
|
+
OrHash =
|
|
6308
|
+
T.type_alias do
|
|
6309
|
+
T.any(
|
|
6310
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access,
|
|
6311
|
+
MetronomeSDK::Internal::AnyHash
|
|
6312
|
+
)
|
|
6313
|
+
end
|
|
6314
|
+
|
|
6315
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
6316
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
6317
|
+
# nearest 100 in the stored unit).
|
|
6318
|
+
sig { returns(Float) }
|
|
6319
|
+
attr_accessor :decimal_places
|
|
6320
|
+
|
|
6321
|
+
sig do
|
|
6322
|
+
returns(
|
|
6323
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
6324
|
+
)
|
|
6325
|
+
end
|
|
6326
|
+
attr_accessor :rounding_method
|
|
6327
|
+
|
|
6328
|
+
sig do
|
|
6329
|
+
params(
|
|
6330
|
+
decimal_places: Float,
|
|
6331
|
+
rounding_method:
|
|
6332
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
6333
|
+
).returns(T.attached_class)
|
|
6334
|
+
end
|
|
6335
|
+
def self.new(
|
|
6336
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
6337
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
6338
|
+
# nearest 100 in the stored unit).
|
|
6339
|
+
decimal_places:,
|
|
6340
|
+
rounding_method:
|
|
6341
|
+
)
|
|
6342
|
+
end
|
|
6343
|
+
|
|
6344
|
+
sig do
|
|
6345
|
+
override.returns(
|
|
6346
|
+
{
|
|
6347
|
+
decimal_places: Float,
|
|
6348
|
+
rounding_method:
|
|
6349
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
6350
|
+
}
|
|
6351
|
+
)
|
|
6352
|
+
end
|
|
6353
|
+
def to_hash
|
|
6354
|
+
end
|
|
6355
|
+
|
|
6356
|
+
module RoundingMethod
|
|
6357
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6358
|
+
|
|
6359
|
+
TaggedSymbol =
|
|
6360
|
+
T.type_alias do
|
|
6361
|
+
T.all(
|
|
6362
|
+
Symbol,
|
|
6363
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod
|
|
6364
|
+
)
|
|
6365
|
+
end
|
|
6366
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6367
|
+
|
|
6368
|
+
HALF_UP =
|
|
6369
|
+
T.let(
|
|
6370
|
+
:HALF_UP,
|
|
6371
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
6372
|
+
)
|
|
6373
|
+
FLOOR =
|
|
6374
|
+
T.let(
|
|
6375
|
+
:FLOOR,
|
|
6376
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
6377
|
+
)
|
|
6378
|
+
CEILING =
|
|
6379
|
+
T.let(
|
|
6380
|
+
:CEILING,
|
|
6381
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
6382
|
+
)
|
|
6383
|
+
|
|
6384
|
+
sig do
|
|
6385
|
+
override.returns(
|
|
6386
|
+
T::Array[
|
|
6387
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
6388
|
+
]
|
|
6389
|
+
)
|
|
6390
|
+
end
|
|
6391
|
+
def self.values
|
|
6392
|
+
end
|
|
6393
|
+
end
|
|
6394
|
+
end
|
|
6395
|
+
|
|
6396
|
+
class Invoice < MetronomeSDK::Internal::Type::BaseModel
|
|
6397
|
+
OrHash =
|
|
6398
|
+
T.type_alias do
|
|
6399
|
+
T.any(
|
|
6400
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice,
|
|
6401
|
+
MetronomeSDK::Internal::AnyHash
|
|
6402
|
+
)
|
|
6403
|
+
end
|
|
6404
|
+
|
|
6405
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
6406
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
6407
|
+
# nearest 100 in the stored unit).
|
|
6408
|
+
sig { returns(Float) }
|
|
6409
|
+
attr_accessor :decimal_places
|
|
6410
|
+
|
|
6411
|
+
sig do
|
|
6412
|
+
returns(
|
|
6413
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
6414
|
+
)
|
|
6415
|
+
end
|
|
6416
|
+
attr_accessor :rounding_method
|
|
6417
|
+
|
|
6418
|
+
sig do
|
|
6419
|
+
params(
|
|
6420
|
+
decimal_places: Float,
|
|
6421
|
+
rounding_method:
|
|
6422
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
6423
|
+
).returns(T.attached_class)
|
|
6424
|
+
end
|
|
6425
|
+
def self.new(
|
|
6426
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
6427
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
6428
|
+
# nearest 100 in the stored unit).
|
|
6429
|
+
decimal_places:,
|
|
6430
|
+
rounding_method:
|
|
6431
|
+
)
|
|
6432
|
+
end
|
|
6433
|
+
|
|
6434
|
+
sig do
|
|
6435
|
+
override.returns(
|
|
6436
|
+
{
|
|
6437
|
+
decimal_places: Float,
|
|
6438
|
+
rounding_method:
|
|
6439
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
6440
|
+
}
|
|
6441
|
+
)
|
|
6442
|
+
end
|
|
6443
|
+
def to_hash
|
|
6444
|
+
end
|
|
6445
|
+
|
|
6446
|
+
module RoundingMethod
|
|
6447
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6448
|
+
|
|
6449
|
+
TaggedSymbol =
|
|
6450
|
+
T.type_alias do
|
|
6451
|
+
T.all(
|
|
6452
|
+
Symbol,
|
|
6453
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod
|
|
6454
|
+
)
|
|
6455
|
+
end
|
|
6456
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6457
|
+
|
|
6458
|
+
HALF_UP =
|
|
6459
|
+
T.let(
|
|
6460
|
+
:HALF_UP,
|
|
6461
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
6462
|
+
)
|
|
6463
|
+
FLOOR =
|
|
6464
|
+
T.let(
|
|
6465
|
+
:FLOOR,
|
|
6466
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
6467
|
+
)
|
|
6468
|
+
CEILING =
|
|
6469
|
+
T.let(
|
|
6470
|
+
:CEILING,
|
|
6471
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
6472
|
+
)
|
|
6473
|
+
|
|
6474
|
+
sig do
|
|
6475
|
+
override.returns(
|
|
6476
|
+
T::Array[
|
|
6477
|
+
MetronomeSDK::ContractV2::RecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
6478
|
+
]
|
|
6479
|
+
)
|
|
6480
|
+
end
|
|
6481
|
+
def self.values
|
|
6482
|
+
end
|
|
6483
|
+
end
|
|
6484
|
+
end
|
|
6485
|
+
end
|
|
6486
|
+
|
|
6487
|
+
# The frequency at which the recurring commits will be created. If not provided: -
|
|
6488
|
+
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
6489
|
+
# period defined in the duration will correspond to this frequency. - Commits will
|
|
6490
|
+
# be created aligned with the recurring commit's starting_at rather than the usage
|
|
6491
|
+
# invoice dates.
|
|
6492
|
+
module RecurrenceFrequency
|
|
6493
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6494
|
+
|
|
6495
|
+
TaggedSymbol =
|
|
6496
|
+
T.type_alias do
|
|
6497
|
+
T.all(
|
|
6498
|
+
Symbol,
|
|
6499
|
+
MetronomeSDK::ContractV2::RecurringCommit::RecurrenceFrequency
|
|
6500
|
+
)
|
|
6501
|
+
end
|
|
6502
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6503
|
+
|
|
6504
|
+
MONTHLY =
|
|
6505
|
+
T.let(
|
|
6506
|
+
:MONTHLY,
|
|
6507
|
+
MetronomeSDK::ContractV2::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
5793
6508
|
)
|
|
5794
6509
|
QUARTERLY =
|
|
5795
6510
|
T.let(
|
|
@@ -5806,6 +6521,11 @@ module MetronomeSDK
|
|
|
5806
6521
|
:WEEKLY,
|
|
5807
6522
|
MetronomeSDK::ContractV2::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
5808
6523
|
)
|
|
6524
|
+
DAILY =
|
|
6525
|
+
T.let(
|
|
6526
|
+
:DAILY,
|
|
6527
|
+
MetronomeSDK::ContractV2::RecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
6528
|
+
)
|
|
5809
6529
|
|
|
5810
6530
|
sig do
|
|
5811
6531
|
override.returns(
|
|
@@ -5971,6 +6691,26 @@ module MetronomeSDK
|
|
|
5971
6691
|
end
|
|
5972
6692
|
attr_writer :proration
|
|
5973
6693
|
|
|
6694
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
6695
|
+
sig do
|
|
6696
|
+
returns(
|
|
6697
|
+
T.nilable(
|
|
6698
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding
|
|
6699
|
+
)
|
|
6700
|
+
)
|
|
6701
|
+
end
|
|
6702
|
+
attr_reader :proration_rounding
|
|
6703
|
+
|
|
6704
|
+
sig do
|
|
6705
|
+
params(
|
|
6706
|
+
proration_rounding:
|
|
6707
|
+
T.nilable(
|
|
6708
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::OrHash
|
|
6709
|
+
)
|
|
6710
|
+
).void
|
|
6711
|
+
end
|
|
6712
|
+
attr_writer :proration_rounding
|
|
6713
|
+
|
|
5974
6714
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
5975
6715
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
5976
6716
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -6053,6 +6793,10 @@ module MetronomeSDK
|
|
|
6053
6793
|
netsuite_sales_order_id: String,
|
|
6054
6794
|
proration:
|
|
6055
6795
|
MetronomeSDK::ContractV2::RecurringCredit::Proration::OrSymbol,
|
|
6796
|
+
proration_rounding:
|
|
6797
|
+
T.nilable(
|
|
6798
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::OrHash
|
|
6799
|
+
),
|
|
6056
6800
|
recurrence_frequency:
|
|
6057
6801
|
MetronomeSDK::ContractV2::RecurringCredit::RecurrenceFrequency::OrSymbol,
|
|
6058
6802
|
rollover_fraction: Float,
|
|
@@ -6092,6 +6836,8 @@ module MetronomeSDK
|
|
|
6092
6836
|
# Determines whether the first and last commit will be prorated. If not provided,
|
|
6093
6837
|
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
|
6094
6838
|
proration: nil,
|
|
6839
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
6840
|
+
proration_rounding: nil,
|
|
6095
6841
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
6096
6842
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
6097
6843
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -6135,6 +6881,10 @@ module MetronomeSDK
|
|
|
6135
6881
|
netsuite_sales_order_id: String,
|
|
6136
6882
|
proration:
|
|
6137
6883
|
MetronomeSDK::ContractV2::RecurringCredit::Proration::TaggedSymbol,
|
|
6884
|
+
proration_rounding:
|
|
6885
|
+
T.nilable(
|
|
6886
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding
|
|
6887
|
+
),
|
|
6138
6888
|
recurrence_frequency:
|
|
6139
6889
|
MetronomeSDK::ContractV2::RecurringCredit::RecurrenceFrequency::TaggedSymbol,
|
|
6140
6890
|
rollover_fraction: Float,
|
|
@@ -6393,6 +7143,144 @@ module MetronomeSDK
|
|
|
6393
7143
|
end
|
|
6394
7144
|
end
|
|
6395
7145
|
|
|
7146
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
7147
|
+
OrHash =
|
|
7148
|
+
T.type_alias do
|
|
7149
|
+
T.any(
|
|
7150
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding,
|
|
7151
|
+
MetronomeSDK::Internal::AnyHash
|
|
7152
|
+
)
|
|
7153
|
+
end
|
|
7154
|
+
|
|
7155
|
+
sig do
|
|
7156
|
+
returns(
|
|
7157
|
+
T.nilable(
|
|
7158
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
|
|
7159
|
+
)
|
|
7160
|
+
)
|
|
7161
|
+
end
|
|
7162
|
+
attr_reader :access
|
|
7163
|
+
|
|
7164
|
+
sig do
|
|
7165
|
+
params(
|
|
7166
|
+
access:
|
|
7167
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::OrHash
|
|
7168
|
+
).void
|
|
7169
|
+
end
|
|
7170
|
+
attr_writer :access
|
|
7171
|
+
|
|
7172
|
+
# Rounding configuration for prorated recurring credit amounts.
|
|
7173
|
+
sig do
|
|
7174
|
+
params(
|
|
7175
|
+
access:
|
|
7176
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::OrHash
|
|
7177
|
+
).returns(T.attached_class)
|
|
7178
|
+
end
|
|
7179
|
+
def self.new(access: nil)
|
|
7180
|
+
end
|
|
7181
|
+
|
|
7182
|
+
sig do
|
|
7183
|
+
override.returns(
|
|
7184
|
+
{
|
|
7185
|
+
access:
|
|
7186
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access
|
|
7187
|
+
}
|
|
7188
|
+
)
|
|
7189
|
+
end
|
|
7190
|
+
def to_hash
|
|
7191
|
+
end
|
|
7192
|
+
|
|
7193
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
7194
|
+
OrHash =
|
|
7195
|
+
T.type_alias do
|
|
7196
|
+
T.any(
|
|
7197
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access,
|
|
7198
|
+
MetronomeSDK::Internal::AnyHash
|
|
7199
|
+
)
|
|
7200
|
+
end
|
|
7201
|
+
|
|
7202
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
7203
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
7204
|
+
# nearest 100 in the stored unit).
|
|
7205
|
+
sig { returns(Float) }
|
|
7206
|
+
attr_accessor :decimal_places
|
|
7207
|
+
|
|
7208
|
+
sig do
|
|
7209
|
+
returns(
|
|
7210
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
7211
|
+
)
|
|
7212
|
+
end
|
|
7213
|
+
attr_accessor :rounding_method
|
|
7214
|
+
|
|
7215
|
+
sig do
|
|
7216
|
+
params(
|
|
7217
|
+
decimal_places: Float,
|
|
7218
|
+
rounding_method:
|
|
7219
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
7220
|
+
).returns(T.attached_class)
|
|
7221
|
+
end
|
|
7222
|
+
def self.new(
|
|
7223
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
7224
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
7225
|
+
# nearest 100 in the stored unit).
|
|
7226
|
+
decimal_places:,
|
|
7227
|
+
rounding_method:
|
|
7228
|
+
)
|
|
7229
|
+
end
|
|
7230
|
+
|
|
7231
|
+
sig do
|
|
7232
|
+
override.returns(
|
|
7233
|
+
{
|
|
7234
|
+
decimal_places: Float,
|
|
7235
|
+
rounding_method:
|
|
7236
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
7237
|
+
}
|
|
7238
|
+
)
|
|
7239
|
+
end
|
|
7240
|
+
def to_hash
|
|
7241
|
+
end
|
|
7242
|
+
|
|
7243
|
+
module RoundingMethod
|
|
7244
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7245
|
+
|
|
7246
|
+
TaggedSymbol =
|
|
7247
|
+
T.type_alias do
|
|
7248
|
+
T.all(
|
|
7249
|
+
Symbol,
|
|
7250
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod
|
|
7251
|
+
)
|
|
7252
|
+
end
|
|
7253
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7254
|
+
|
|
7255
|
+
HALF_UP =
|
|
7256
|
+
T.let(
|
|
7257
|
+
:HALF_UP,
|
|
7258
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
7259
|
+
)
|
|
7260
|
+
FLOOR =
|
|
7261
|
+
T.let(
|
|
7262
|
+
:FLOOR,
|
|
7263
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
7264
|
+
)
|
|
7265
|
+
CEILING =
|
|
7266
|
+
T.let(
|
|
7267
|
+
:CEILING,
|
|
7268
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
7269
|
+
)
|
|
7270
|
+
|
|
7271
|
+
sig do
|
|
7272
|
+
override.returns(
|
|
7273
|
+
T::Array[
|
|
7274
|
+
MetronomeSDK::ContractV2::RecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
7275
|
+
]
|
|
7276
|
+
)
|
|
7277
|
+
end
|
|
7278
|
+
def self.values
|
|
7279
|
+
end
|
|
7280
|
+
end
|
|
7281
|
+
end
|
|
7282
|
+
end
|
|
7283
|
+
|
|
6396
7284
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
6397
7285
|
# The commits will be created on the usage invoice frequency. If provided: - The
|
|
6398
7286
|
# period defined in the duration will correspond to this frequency. - Commits will
|
|
@@ -6430,6 +7318,11 @@ module MetronomeSDK
|
|
|
6430
7318
|
:WEEKLY,
|
|
6431
7319
|
MetronomeSDK::ContractV2::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
6432
7320
|
)
|
|
7321
|
+
DAILY =
|
|
7322
|
+
T.let(
|
|
7323
|
+
:DAILY,
|
|
7324
|
+
MetronomeSDK::ContractV2::RecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
7325
|
+
)
|
|
6433
7326
|
|
|
6434
7327
|
sig do
|
|
6435
7328
|
override.returns(
|
|
@@ -6595,119 +7488,382 @@ module MetronomeSDK
|
|
|
6595
7488
|
sig { params(ending_before: Time).void }
|
|
6596
7489
|
attr_writer :ending_before
|
|
6597
7490
|
|
|
6598
|
-
sig { returns(T.nilable(String)) }
|
|
6599
|
-
attr_reader :gcp_account_id
|
|
7491
|
+
sig { returns(T.nilable(String)) }
|
|
7492
|
+
attr_reader :gcp_account_id
|
|
7493
|
+
|
|
7494
|
+
sig { params(gcp_account_id: String).void }
|
|
7495
|
+
attr_writer :gcp_account_id
|
|
7496
|
+
|
|
7497
|
+
sig { returns(T.nilable(String)) }
|
|
7498
|
+
attr_reader :gcp_offer_id
|
|
7499
|
+
|
|
7500
|
+
sig { params(gcp_offer_id: String).void }
|
|
7501
|
+
attr_writer :gcp_offer_id
|
|
7502
|
+
|
|
7503
|
+
sig { returns(T.nilable(Float)) }
|
|
7504
|
+
attr_reader :reseller_contract_value
|
|
7505
|
+
|
|
7506
|
+
sig { params(reseller_contract_value: Float).void }
|
|
7507
|
+
attr_writer :reseller_contract_value
|
|
7508
|
+
|
|
7509
|
+
sig do
|
|
7510
|
+
params(
|
|
7511
|
+
fraction: Float,
|
|
7512
|
+
netsuite_reseller_id: String,
|
|
7513
|
+
reseller_type:
|
|
7514
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::OrSymbol,
|
|
7515
|
+
starting_at: Time,
|
|
7516
|
+
applicable_product_ids: T::Array[String],
|
|
7517
|
+
applicable_product_tags: T::Array[String],
|
|
7518
|
+
aws_account_number: String,
|
|
7519
|
+
aws_offer_id: String,
|
|
7520
|
+
aws_payer_reference_id: String,
|
|
7521
|
+
ending_before: Time,
|
|
7522
|
+
gcp_account_id: String,
|
|
7523
|
+
gcp_offer_id: String,
|
|
7524
|
+
reseller_contract_value: Float
|
|
7525
|
+
).returns(T.attached_class)
|
|
7526
|
+
end
|
|
7527
|
+
def self.new(
|
|
7528
|
+
fraction:,
|
|
7529
|
+
netsuite_reseller_id:,
|
|
7530
|
+
reseller_type:,
|
|
7531
|
+
starting_at:,
|
|
7532
|
+
applicable_product_ids: nil,
|
|
7533
|
+
applicable_product_tags: nil,
|
|
7534
|
+
aws_account_number: nil,
|
|
7535
|
+
aws_offer_id: nil,
|
|
7536
|
+
aws_payer_reference_id: nil,
|
|
7537
|
+
ending_before: nil,
|
|
7538
|
+
gcp_account_id: nil,
|
|
7539
|
+
gcp_offer_id: nil,
|
|
7540
|
+
reseller_contract_value: nil
|
|
7541
|
+
)
|
|
7542
|
+
end
|
|
7543
|
+
|
|
7544
|
+
sig do
|
|
7545
|
+
override.returns(
|
|
7546
|
+
{
|
|
7547
|
+
fraction: Float,
|
|
7548
|
+
netsuite_reseller_id: String,
|
|
7549
|
+
reseller_type:
|
|
7550
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::TaggedSymbol,
|
|
7551
|
+
starting_at: Time,
|
|
7552
|
+
applicable_product_ids: T::Array[String],
|
|
7553
|
+
applicable_product_tags: T::Array[String],
|
|
7554
|
+
aws_account_number: String,
|
|
7555
|
+
aws_offer_id: String,
|
|
7556
|
+
aws_payer_reference_id: String,
|
|
7557
|
+
ending_before: Time,
|
|
7558
|
+
gcp_account_id: String,
|
|
7559
|
+
gcp_offer_id: String,
|
|
7560
|
+
reseller_contract_value: Float
|
|
7561
|
+
}
|
|
7562
|
+
)
|
|
7563
|
+
end
|
|
7564
|
+
def to_hash
|
|
7565
|
+
end
|
|
7566
|
+
|
|
7567
|
+
module ResellerType
|
|
7568
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7569
|
+
|
|
7570
|
+
TaggedSymbol =
|
|
7571
|
+
T.type_alias do
|
|
7572
|
+
T.all(
|
|
7573
|
+
Symbol,
|
|
7574
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType
|
|
7575
|
+
)
|
|
7576
|
+
end
|
|
7577
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7578
|
+
|
|
7579
|
+
AWS =
|
|
7580
|
+
T.let(
|
|
7581
|
+
:AWS,
|
|
7582
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::TaggedSymbol
|
|
7583
|
+
)
|
|
7584
|
+
AWS_PRO_SERVICE =
|
|
7585
|
+
T.let(
|
|
7586
|
+
:AWS_PRO_SERVICE,
|
|
7587
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::TaggedSymbol
|
|
7588
|
+
)
|
|
7589
|
+
GCP =
|
|
7590
|
+
T.let(
|
|
7591
|
+
:GCP,
|
|
7592
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::TaggedSymbol
|
|
7593
|
+
)
|
|
7594
|
+
GCP_PRO_SERVICE =
|
|
7595
|
+
T.let(
|
|
7596
|
+
:GCP_PRO_SERVICE,
|
|
7597
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::TaggedSymbol
|
|
7598
|
+
)
|
|
7599
|
+
|
|
7600
|
+
sig do
|
|
7601
|
+
override.returns(
|
|
7602
|
+
T::Array[
|
|
7603
|
+
MetronomeSDK::ContractV2::ResellerRoyalty::Segment::ResellerType::TaggedSymbol
|
|
7604
|
+
]
|
|
7605
|
+
)
|
|
7606
|
+
end
|
|
7607
|
+
def self.values
|
|
7608
|
+
end
|
|
7609
|
+
end
|
|
7610
|
+
end
|
|
7611
|
+
end
|
|
7612
|
+
|
|
7613
|
+
class RevenueSystemConfigurationSchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
7614
|
+
OrHash =
|
|
7615
|
+
T.type_alias do
|
|
7616
|
+
T.any(
|
|
7617
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule,
|
|
7618
|
+
MetronomeSDK::Internal::AnyHash
|
|
7619
|
+
)
|
|
7620
|
+
end
|
|
7621
|
+
|
|
7622
|
+
# The date this revenue system configuration became or becomes active.
|
|
7623
|
+
sig { returns(Time) }
|
|
7624
|
+
attr_accessor :effective_at
|
|
7625
|
+
|
|
7626
|
+
sig do
|
|
7627
|
+
returns(
|
|
7628
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration
|
|
7629
|
+
)
|
|
7630
|
+
end
|
|
7631
|
+
attr_reader :revenue_system_configuration
|
|
7632
|
+
|
|
7633
|
+
sig do
|
|
7634
|
+
params(
|
|
7635
|
+
revenue_system_configuration:
|
|
7636
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::OrHash
|
|
7637
|
+
).void
|
|
7638
|
+
end
|
|
7639
|
+
attr_writer :revenue_system_configuration
|
|
7640
|
+
|
|
7641
|
+
# The date this revenue system configuration is superseded by the next entry. Null
|
|
7642
|
+
# for the last entry in the schedule.
|
|
7643
|
+
sig { returns(T.nilable(Time)) }
|
|
7644
|
+
attr_reader :effective_until
|
|
7645
|
+
|
|
7646
|
+
sig { params(effective_until: Time).void }
|
|
7647
|
+
attr_writer :effective_until
|
|
7648
|
+
|
|
7649
|
+
sig do
|
|
7650
|
+
params(
|
|
7651
|
+
effective_at: Time,
|
|
7652
|
+
revenue_system_configuration:
|
|
7653
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::OrHash,
|
|
7654
|
+
effective_until: Time
|
|
7655
|
+
).returns(T.attached_class)
|
|
7656
|
+
end
|
|
7657
|
+
def self.new(
|
|
7658
|
+
# The date this revenue system configuration became or becomes active.
|
|
7659
|
+
effective_at:,
|
|
7660
|
+
revenue_system_configuration:,
|
|
7661
|
+
# The date this revenue system configuration is superseded by the next entry. Null
|
|
7662
|
+
# for the last entry in the schedule.
|
|
7663
|
+
effective_until: nil
|
|
7664
|
+
)
|
|
7665
|
+
end
|
|
7666
|
+
|
|
7667
|
+
sig do
|
|
7668
|
+
override.returns(
|
|
7669
|
+
{
|
|
7670
|
+
effective_at: Time,
|
|
7671
|
+
revenue_system_configuration:
|
|
7672
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
|
|
7673
|
+
effective_until: Time
|
|
7674
|
+
}
|
|
7675
|
+
)
|
|
7676
|
+
end
|
|
7677
|
+
def to_hash
|
|
7678
|
+
end
|
|
7679
|
+
|
|
7680
|
+
class RevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
7681
|
+
OrHash =
|
|
7682
|
+
T.type_alias do
|
|
7683
|
+
T.any(
|
|
7684
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration,
|
|
7685
|
+
MetronomeSDK::Internal::AnyHash
|
|
7686
|
+
)
|
|
7687
|
+
end
|
|
7688
|
+
|
|
7689
|
+
# ID of the revenue system configuration.
|
|
7690
|
+
sig { returns(String) }
|
|
7691
|
+
attr_accessor :id
|
|
7692
|
+
|
|
7693
|
+
# Configuration for the revenue system. The structure of this object is specific
|
|
7694
|
+
# to the provider.
|
|
7695
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
7696
|
+
attr_accessor :configuration
|
|
7697
|
+
|
|
7698
|
+
sig { returns(String) }
|
|
7699
|
+
attr_accessor :customer_id
|
|
7700
|
+
|
|
7701
|
+
# ID of the delivery method used for this customer configuration.
|
|
7702
|
+
sig { returns(String) }
|
|
7703
|
+
attr_accessor :delivery_method_id
|
|
7704
|
+
|
|
7705
|
+
# The revenue system provider (e.g. netsuite).
|
|
7706
|
+
sig do
|
|
7707
|
+
returns(
|
|
7708
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider::TaggedSymbol
|
|
7709
|
+
)
|
|
7710
|
+
end
|
|
7711
|
+
attr_accessor :provider
|
|
6600
7712
|
|
|
6601
|
-
sig {
|
|
6602
|
-
|
|
7713
|
+
sig { returns(T.nilable(Time)) }
|
|
7714
|
+
attr_accessor :archived_at
|
|
6603
7715
|
|
|
6604
|
-
|
|
6605
|
-
|
|
7716
|
+
# The method to use for delivering data to the revenue system.
|
|
7717
|
+
sig do
|
|
7718
|
+
returns(
|
|
7719
|
+
T.nilable(
|
|
7720
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
7721
|
+
)
|
|
7722
|
+
)
|
|
7723
|
+
end
|
|
7724
|
+
attr_reader :delivery_method
|
|
6606
7725
|
|
|
6607
|
-
sig
|
|
6608
|
-
|
|
7726
|
+
sig do
|
|
7727
|
+
params(
|
|
7728
|
+
delivery_method:
|
|
7729
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::OrSymbol
|
|
7730
|
+
).void
|
|
7731
|
+
end
|
|
7732
|
+
attr_writer :delivery_method
|
|
6609
7733
|
|
|
6610
|
-
|
|
6611
|
-
|
|
7734
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
7735
|
+
# to the delivery method.
|
|
7736
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
7737
|
+
attr_reader :delivery_method_configuration
|
|
6612
7738
|
|
|
6613
|
-
sig
|
|
6614
|
-
|
|
7739
|
+
sig do
|
|
7740
|
+
params(
|
|
7741
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything]
|
|
7742
|
+
).void
|
|
7743
|
+
end
|
|
7744
|
+
attr_writer :delivery_method_configuration
|
|
6615
7745
|
|
|
6616
7746
|
sig do
|
|
6617
7747
|
params(
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
|
|
6625
|
-
|
|
6626
|
-
|
|
6627
|
-
|
|
6628
|
-
ending_before: Time,
|
|
6629
|
-
gcp_account_id: String,
|
|
6630
|
-
gcp_offer_id: String,
|
|
6631
|
-
reseller_contract_value: Float
|
|
7748
|
+
id: String,
|
|
7749
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
7750
|
+
customer_id: String,
|
|
7751
|
+
delivery_method_id: String,
|
|
7752
|
+
provider:
|
|
7753
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider::OrSymbol,
|
|
7754
|
+
archived_at: T.nilable(Time),
|
|
7755
|
+
delivery_method:
|
|
7756
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
|
|
7757
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything]
|
|
6632
7758
|
).returns(T.attached_class)
|
|
6633
7759
|
end
|
|
6634
7760
|
def self.new(
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6641
|
-
|
|
6642
|
-
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
7761
|
+
# ID of the revenue system configuration.
|
|
7762
|
+
id:,
|
|
7763
|
+
# Configuration for the revenue system. The structure of this object is specific
|
|
7764
|
+
# to the provider.
|
|
7765
|
+
configuration:,
|
|
7766
|
+
customer_id:,
|
|
7767
|
+
# ID of the delivery method used for this customer configuration.
|
|
7768
|
+
delivery_method_id:,
|
|
7769
|
+
# The revenue system provider (e.g. netsuite).
|
|
7770
|
+
provider:,
|
|
7771
|
+
archived_at: nil,
|
|
7772
|
+
# The method to use for delivering data to the revenue system.
|
|
7773
|
+
delivery_method: nil,
|
|
7774
|
+
# Configuration for the delivery method. The structure of this object is specific
|
|
7775
|
+
# to the delivery method.
|
|
7776
|
+
delivery_method_configuration: nil
|
|
6648
7777
|
)
|
|
6649
7778
|
end
|
|
6650
7779
|
|
|
6651
7780
|
sig do
|
|
6652
7781
|
override.returns(
|
|
6653
7782
|
{
|
|
6654
|
-
|
|
6655
|
-
|
|
6656
|
-
|
|
6657
|
-
|
|
6658
|
-
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
|
|
6664
|
-
ending_before: Time,
|
|
6665
|
-
gcp_account_id: String,
|
|
6666
|
-
gcp_offer_id: String,
|
|
6667
|
-
reseller_contract_value: Float
|
|
7783
|
+
id: String,
|
|
7784
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
7785
|
+
customer_id: String,
|
|
7786
|
+
delivery_method_id: String,
|
|
7787
|
+
provider:
|
|
7788
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider::TaggedSymbol,
|
|
7789
|
+
archived_at: T.nilable(Time),
|
|
7790
|
+
delivery_method:
|
|
7791
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol,
|
|
7792
|
+
delivery_method_configuration: T::Hash[Symbol, T.anything]
|
|
6668
7793
|
}
|
|
6669
7794
|
)
|
|
6670
7795
|
end
|
|
6671
7796
|
def to_hash
|
|
6672
7797
|
end
|
|
6673
7798
|
|
|
6674
|
-
|
|
7799
|
+
# The revenue system provider (e.g. netsuite).
|
|
7800
|
+
module Provider
|
|
6675
7801
|
extend MetronomeSDK::Internal::Type::Enum
|
|
6676
7802
|
|
|
6677
7803
|
TaggedSymbol =
|
|
6678
7804
|
T.type_alias do
|
|
6679
7805
|
T.all(
|
|
6680
7806
|
Symbol,
|
|
6681
|
-
MetronomeSDK::ContractV2::
|
|
7807
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider
|
|
6682
7808
|
)
|
|
6683
7809
|
end
|
|
6684
7810
|
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6685
7811
|
|
|
6686
|
-
|
|
7812
|
+
NETSUITE =
|
|
6687
7813
|
T.let(
|
|
6688
|
-
:
|
|
6689
|
-
MetronomeSDK::ContractV2::
|
|
7814
|
+
:netsuite,
|
|
7815
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider::TaggedSymbol
|
|
6690
7816
|
)
|
|
6691
|
-
|
|
7817
|
+
|
|
7818
|
+
sig do
|
|
7819
|
+
override.returns(
|
|
7820
|
+
T::Array[
|
|
7821
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::Provider::TaggedSymbol
|
|
7822
|
+
]
|
|
7823
|
+
)
|
|
7824
|
+
end
|
|
7825
|
+
def self.values
|
|
7826
|
+
end
|
|
7827
|
+
end
|
|
7828
|
+
|
|
7829
|
+
# The method to use for delivering data to the revenue system.
|
|
7830
|
+
module DeliveryMethod
|
|
7831
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7832
|
+
|
|
7833
|
+
TaggedSymbol =
|
|
7834
|
+
T.type_alias do
|
|
7835
|
+
T.all(
|
|
7836
|
+
Symbol,
|
|
7837
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod
|
|
7838
|
+
)
|
|
7839
|
+
end
|
|
7840
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7841
|
+
|
|
7842
|
+
DIRECT_TO_BILLING_PROVIDER =
|
|
6692
7843
|
T.let(
|
|
6693
|
-
:
|
|
6694
|
-
MetronomeSDK::ContractV2::
|
|
7844
|
+
:direct_to_billing_provider,
|
|
7845
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
6695
7846
|
)
|
|
6696
|
-
|
|
7847
|
+
AWS_SQS =
|
|
6697
7848
|
T.let(
|
|
6698
|
-
:
|
|
6699
|
-
MetronomeSDK::ContractV2::
|
|
7849
|
+
:aws_sqs,
|
|
7850
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
6700
7851
|
)
|
|
6701
|
-
|
|
7852
|
+
TACKLE =
|
|
6702
7853
|
T.let(
|
|
6703
|
-
:
|
|
6704
|
-
MetronomeSDK::ContractV2::
|
|
7854
|
+
:tackle,
|
|
7855
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
7856
|
+
)
|
|
7857
|
+
AWS_SNS =
|
|
7858
|
+
T.let(
|
|
7859
|
+
:aws_sns,
|
|
7860
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
6705
7861
|
)
|
|
6706
7862
|
|
|
6707
7863
|
sig do
|
|
6708
7864
|
override.returns(
|
|
6709
7865
|
T::Array[
|
|
6710
|
-
MetronomeSDK::ContractV2::
|
|
7866
|
+
MetronomeSDK::ContractV2::RevenueSystemConfigurationSchedule::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
6711
7867
|
]
|
|
6712
7868
|
)
|
|
6713
7869
|
end
|
|
@@ -7174,6 +8330,23 @@ module MetronomeSDK
|
|
|
7174
8330
|
sig { params(id: String).void }
|
|
7175
8331
|
attr_writer :id
|
|
7176
8332
|
|
|
8333
|
+
sig do
|
|
8334
|
+
returns(
|
|
8335
|
+
T.nilable(
|
|
8336
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig
|
|
8337
|
+
)
|
|
8338
|
+
)
|
|
8339
|
+
end
|
|
8340
|
+
attr_reader :billing_cycle_config
|
|
8341
|
+
|
|
8342
|
+
sig do
|
|
8343
|
+
params(
|
|
8344
|
+
billing_cycle_config:
|
|
8345
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::OrHash
|
|
8346
|
+
).void
|
|
8347
|
+
end
|
|
8348
|
+
attr_writer :billing_cycle_config
|
|
8349
|
+
|
|
7177
8350
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
7178
8351
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
7179
8352
|
attr_reader :custom_fields
|
|
@@ -7236,6 +8409,8 @@ module MetronomeSDK
|
|
|
7236
8409
|
subscription_rate:
|
|
7237
8410
|
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::OrHash,
|
|
7238
8411
|
id: String,
|
|
8412
|
+
billing_cycle_config:
|
|
8413
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::OrHash,
|
|
7239
8414
|
custom_fields: T::Hash[Symbol, String],
|
|
7240
8415
|
description: String,
|
|
7241
8416
|
ending_before: Time,
|
|
@@ -7266,6 +8441,7 @@ module MetronomeSDK
|
|
|
7266
8441
|
starting_at:,
|
|
7267
8442
|
subscription_rate:,
|
|
7268
8443
|
id: nil,
|
|
8444
|
+
billing_cycle_config: nil,
|
|
7269
8445
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
7270
8446
|
custom_fields: nil,
|
|
7271
8447
|
description: nil,
|
|
@@ -7294,6 +8470,8 @@ module MetronomeSDK
|
|
|
7294
8470
|
subscription_rate:
|
|
7295
8471
|
MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
|
|
7296
8472
|
id: String,
|
|
8473
|
+
billing_cycle_config:
|
|
8474
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
|
|
7297
8475
|
custom_fields: T::Hash[Symbol, String],
|
|
7298
8476
|
description: String,
|
|
7299
8477
|
ending_before: Time,
|
|
@@ -7533,14 +8711,33 @@ module MetronomeSDK
|
|
|
7533
8711
|
sig { returns(T::Boolean) }
|
|
7534
8712
|
attr_accessor :is_prorated
|
|
7535
8713
|
|
|
8714
|
+
sig do
|
|
8715
|
+
returns(
|
|
8716
|
+
T.nilable(
|
|
8717
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding
|
|
8718
|
+
)
|
|
8719
|
+
)
|
|
8720
|
+
end
|
|
8721
|
+
attr_reader :rounding
|
|
8722
|
+
|
|
8723
|
+
sig do
|
|
8724
|
+
params(
|
|
8725
|
+
rounding:
|
|
8726
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::OrHash
|
|
8727
|
+
).void
|
|
8728
|
+
end
|
|
8729
|
+
attr_writer :rounding
|
|
8730
|
+
|
|
7536
8731
|
sig do
|
|
7537
8732
|
params(
|
|
7538
8733
|
invoice_behavior:
|
|
7539
8734
|
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::OrSymbol,
|
|
7540
|
-
is_prorated: T::Boolean
|
|
8735
|
+
is_prorated: T::Boolean,
|
|
8736
|
+
rounding:
|
|
8737
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::OrHash
|
|
7541
8738
|
).returns(T.attached_class)
|
|
7542
8739
|
end
|
|
7543
|
-
def self.new(invoice_behavior:, is_prorated:)
|
|
8740
|
+
def self.new(invoice_behavior:, is_prorated:, rounding: nil)
|
|
7544
8741
|
end
|
|
7545
8742
|
|
|
7546
8743
|
sig do
|
|
@@ -7548,7 +8745,9 @@ module MetronomeSDK
|
|
|
7548
8745
|
{
|
|
7549
8746
|
invoice_behavior:
|
|
7550
8747
|
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
|
|
7551
|
-
is_prorated: T::Boolean
|
|
8748
|
+
is_prorated: T::Boolean,
|
|
8749
|
+
rounding:
|
|
8750
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding
|
|
7552
8751
|
}
|
|
7553
8752
|
)
|
|
7554
8753
|
end
|
|
@@ -7588,6 +8787,96 @@ module MetronomeSDK
|
|
|
7588
8787
|
def self.values
|
|
7589
8788
|
end
|
|
7590
8789
|
end
|
|
8790
|
+
|
|
8791
|
+
class Rounding < MetronomeSDK::Internal::Type::BaseModel
|
|
8792
|
+
OrHash =
|
|
8793
|
+
T.type_alias do
|
|
8794
|
+
T.any(
|
|
8795
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding,
|
|
8796
|
+
MetronomeSDK::Internal::AnyHash
|
|
8797
|
+
)
|
|
8798
|
+
end
|
|
8799
|
+
|
|
8800
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8801
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8802
|
+
# nearest 100 in the stored unit).
|
|
8803
|
+
sig { returns(Float) }
|
|
8804
|
+
attr_accessor :decimal_places
|
|
8805
|
+
|
|
8806
|
+
sig do
|
|
8807
|
+
returns(
|
|
8808
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
8809
|
+
)
|
|
8810
|
+
end
|
|
8811
|
+
attr_accessor :rounding_method
|
|
8812
|
+
|
|
8813
|
+
sig do
|
|
8814
|
+
params(
|
|
8815
|
+
decimal_places: Float,
|
|
8816
|
+
rounding_method:
|
|
8817
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::OrSymbol
|
|
8818
|
+
).returns(T.attached_class)
|
|
8819
|
+
end
|
|
8820
|
+
def self.new(
|
|
8821
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
8822
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
8823
|
+
# nearest 100 in the stored unit).
|
|
8824
|
+
decimal_places:,
|
|
8825
|
+
rounding_method:
|
|
8826
|
+
)
|
|
8827
|
+
end
|
|
8828
|
+
|
|
8829
|
+
sig do
|
|
8830
|
+
override.returns(
|
|
8831
|
+
{
|
|
8832
|
+
decimal_places: Float,
|
|
8833
|
+
rounding_method:
|
|
8834
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
8835
|
+
}
|
|
8836
|
+
)
|
|
8837
|
+
end
|
|
8838
|
+
def to_hash
|
|
8839
|
+
end
|
|
8840
|
+
|
|
8841
|
+
module RoundingMethod
|
|
8842
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
8843
|
+
|
|
8844
|
+
TaggedSymbol =
|
|
8845
|
+
T.type_alias do
|
|
8846
|
+
T.all(
|
|
8847
|
+
Symbol,
|
|
8848
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod
|
|
8849
|
+
)
|
|
8850
|
+
end
|
|
8851
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
8852
|
+
|
|
8853
|
+
HALF_UP =
|
|
8854
|
+
T.let(
|
|
8855
|
+
:HALF_UP,
|
|
8856
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
8857
|
+
)
|
|
8858
|
+
FLOOR =
|
|
8859
|
+
T.let(
|
|
8860
|
+
:FLOOR,
|
|
8861
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
8862
|
+
)
|
|
8863
|
+
CEILING =
|
|
8864
|
+
T.let(
|
|
8865
|
+
:CEILING,
|
|
8866
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
8867
|
+
)
|
|
8868
|
+
|
|
8869
|
+
sig do
|
|
8870
|
+
override.returns(
|
|
8871
|
+
T::Array[
|
|
8872
|
+
MetronomeSDK::ContractV2::Subscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
8873
|
+
]
|
|
8874
|
+
)
|
|
8875
|
+
end
|
|
8876
|
+
def self.values
|
|
8877
|
+
end
|
|
8878
|
+
end
|
|
8879
|
+
end
|
|
7591
8880
|
end
|
|
7592
8881
|
|
|
7593
8882
|
# Determines how the subscription's quantity is controlled. Defaults to
|
|
@@ -7797,6 +9086,93 @@ module MetronomeSDK
|
|
|
7797
9086
|
end
|
|
7798
9087
|
end
|
|
7799
9088
|
|
|
9089
|
+
class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
9090
|
+
OrHash =
|
|
9091
|
+
T.type_alias do
|
|
9092
|
+
T.any(
|
|
9093
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig,
|
|
9094
|
+
MetronomeSDK::Internal::AnyHash
|
|
9095
|
+
)
|
|
9096
|
+
end
|
|
9097
|
+
|
|
9098
|
+
# The date this subscription's billing cycle is anchored to.
|
|
9099
|
+
sig { returns(Time) }
|
|
9100
|
+
attr_accessor :anchor_date
|
|
9101
|
+
|
|
9102
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
9103
|
+
# own scheduled invoice.
|
|
9104
|
+
sig do
|
|
9105
|
+
returns(
|
|
9106
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
9107
|
+
)
|
|
9108
|
+
end
|
|
9109
|
+
attr_accessor :invoice_placement
|
|
9110
|
+
|
|
9111
|
+
sig do
|
|
9112
|
+
params(
|
|
9113
|
+
anchor_date: Time,
|
|
9114
|
+
invoice_placement:
|
|
9115
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
9116
|
+
).returns(T.attached_class)
|
|
9117
|
+
end
|
|
9118
|
+
def self.new(
|
|
9119
|
+
# The date this subscription's billing cycle is anchored to.
|
|
9120
|
+
anchor_date:,
|
|
9121
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
9122
|
+
# own scheduled invoice.
|
|
9123
|
+
invoice_placement:
|
|
9124
|
+
)
|
|
9125
|
+
end
|
|
9126
|
+
|
|
9127
|
+
sig do
|
|
9128
|
+
override.returns(
|
|
9129
|
+
{
|
|
9130
|
+
anchor_date: Time,
|
|
9131
|
+
invoice_placement:
|
|
9132
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
9133
|
+
}
|
|
9134
|
+
)
|
|
9135
|
+
end
|
|
9136
|
+
def to_hash
|
|
9137
|
+
end
|
|
9138
|
+
|
|
9139
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
9140
|
+
# own scheduled invoice.
|
|
9141
|
+
module InvoicePlacement
|
|
9142
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
9143
|
+
|
|
9144
|
+
TaggedSymbol =
|
|
9145
|
+
T.type_alias do
|
|
9146
|
+
T.all(
|
|
9147
|
+
Symbol,
|
|
9148
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement
|
|
9149
|
+
)
|
|
9150
|
+
end
|
|
9151
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
9152
|
+
|
|
9153
|
+
ON_SCHEDULED_INVOICE =
|
|
9154
|
+
T.let(
|
|
9155
|
+
:ON_SCHEDULED_INVOICE,
|
|
9156
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
9157
|
+
)
|
|
9158
|
+
ON_USAGE_INVOICE =
|
|
9159
|
+
T.let(
|
|
9160
|
+
:ON_USAGE_INVOICE,
|
|
9161
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
9162
|
+
)
|
|
9163
|
+
|
|
9164
|
+
sig do
|
|
9165
|
+
override.returns(
|
|
9166
|
+
T::Array[
|
|
9167
|
+
MetronomeSDK::ContractV2::Subscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
9168
|
+
]
|
|
9169
|
+
)
|
|
9170
|
+
end
|
|
9171
|
+
def self.values
|
|
9172
|
+
end
|
|
9173
|
+
end
|
|
9174
|
+
end
|
|
9175
|
+
|
|
7800
9176
|
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
7801
9177
|
OrHash =
|
|
7802
9178
|
T.type_alias do
|