metronome-sdk 3.5.0 → 3.7.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 +53 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/client.rb +15 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
- data/lib/metronome_sdk/internal/type/enum.rb +0 -25
- data/lib/metronome_sdk/models/commit.rb +27 -1
- data/lib/metronome_sdk/models/contract.rb +140 -1
- data/lib/metronome_sdk/models/contract_v2.rb +530 -6
- data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
- data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
- data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
- data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
- data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
- data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
- data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
- data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
- data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
- data/lib/metronome_sdk/resources/v1.rb +0 -4
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -8
- data/rbi/metronome_sdk/models/commit.rbi +48 -0
- data/rbi/metronome_sdk/models/contract.rbi +354 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
- data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
- data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
- data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
- data/rbi/metronome_sdk/resources/v1.rbi +0 -3
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/models/commit.rbs +19 -0
- data/sig/metronome_sdk/models/contract.rbs +151 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
- data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
- data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
- data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
- data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
- data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
- data/sig/metronome_sdk/resources/v1.rbs +0 -2
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +8 -26
- data/lib/metronome_sdk/models/v1/payment.rb +0 -196
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
- data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
- data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
- data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
- data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
- data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
- data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
|
@@ -286,12 +286,31 @@ module MetronomeSDK
|
|
|
286
286
|
end
|
|
287
287
|
attr_writer :spend_threshold_configuration
|
|
288
288
|
|
|
289
|
+
# Spend trackers attached to this contract.
|
|
290
|
+
sig do
|
|
291
|
+
returns(T.nilable(T::Array[MetronomeSDK::ContractV2::SpendTracker]))
|
|
292
|
+
end
|
|
293
|
+
attr_reader :spend_trackers
|
|
294
|
+
|
|
295
|
+
sig do
|
|
296
|
+
params(
|
|
297
|
+
spend_trackers:
|
|
298
|
+
T::Array[MetronomeSDK::ContractV2::SpendTracker::OrHash]
|
|
299
|
+
).void
|
|
300
|
+
end
|
|
301
|
+
attr_writer :spend_trackers
|
|
302
|
+
|
|
289
303
|
# List of subscriptions on the contract.
|
|
290
|
-
sig
|
|
304
|
+
sig do
|
|
305
|
+
returns(T.nilable(T::Array[MetronomeSDK::ContractV2::Subscription]))
|
|
306
|
+
end
|
|
291
307
|
attr_reader :subscriptions
|
|
292
308
|
|
|
293
309
|
sig do
|
|
294
|
-
params(
|
|
310
|
+
params(
|
|
311
|
+
subscriptions:
|
|
312
|
+
T::Array[MetronomeSDK::ContractV2::Subscription::OrHash]
|
|
313
|
+
).void
|
|
295
314
|
end
|
|
296
315
|
attr_writer :subscriptions
|
|
297
316
|
|
|
@@ -356,7 +375,10 @@ module MetronomeSDK
|
|
|
356
375
|
MetronomeSDK::ContractV2::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
357
376
|
spend_threshold_configuration:
|
|
358
377
|
MetronomeSDK::SpendThresholdConfigurationV2::OrHash,
|
|
359
|
-
|
|
378
|
+
spend_trackers:
|
|
379
|
+
T::Array[MetronomeSDK::ContractV2::SpendTracker::OrHash],
|
|
380
|
+
subscriptions:
|
|
381
|
+
T::Array[MetronomeSDK::ContractV2::Subscription::OrHash],
|
|
360
382
|
total_contract_value: Float,
|
|
361
383
|
uniqueness_key: String
|
|
362
384
|
).returns(T.attached_class)
|
|
@@ -416,6 +438,8 @@ module MetronomeSDK
|
|
|
416
438
|
# on a separate invoice from usage charges.
|
|
417
439
|
scheduled_charges_on_usage_invoices: nil,
|
|
418
440
|
spend_threshold_configuration: nil,
|
|
441
|
+
# Spend trackers attached to this contract.
|
|
442
|
+
spend_trackers: nil,
|
|
419
443
|
# List of subscriptions on the contract.
|
|
420
444
|
subscriptions: nil,
|
|
421
445
|
total_contract_value: nil,
|
|
@@ -470,7 +494,8 @@ module MetronomeSDK
|
|
|
470
494
|
MetronomeSDK::ContractV2::ScheduledChargesOnUsageInvoices::TaggedSymbol,
|
|
471
495
|
spend_threshold_configuration:
|
|
472
496
|
MetronomeSDK::SpendThresholdConfigurationV2,
|
|
473
|
-
|
|
497
|
+
spend_trackers: T::Array[MetronomeSDK::ContractV2::SpendTracker],
|
|
498
|
+
subscriptions: T::Array[MetronomeSDK::ContractV2::Subscription],
|
|
474
499
|
total_contract_value: Float,
|
|
475
500
|
uniqueness_key: String
|
|
476
501
|
}
|
|
@@ -737,6 +762,22 @@ module MetronomeSDK
|
|
|
737
762
|
end
|
|
738
763
|
attr_writer :specifiers
|
|
739
764
|
|
|
765
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
766
|
+
sig do
|
|
767
|
+
returns(
|
|
768
|
+
T.nilable(MetronomeSDK::ContractV2::Commit::SpendTrackerAttributes)
|
|
769
|
+
)
|
|
770
|
+
end
|
|
771
|
+
attr_reader :spend_tracker_attributes
|
|
772
|
+
|
|
773
|
+
sig do
|
|
774
|
+
params(
|
|
775
|
+
spend_tracker_attributes:
|
|
776
|
+
MetronomeSDK::ContractV2::Commit::SpendTrackerAttributes::OrHash
|
|
777
|
+
).void
|
|
778
|
+
end
|
|
779
|
+
attr_writer :spend_tracker_attributes
|
|
780
|
+
|
|
740
781
|
# Attach a subscription to the recurring commit/credit.
|
|
741
782
|
sig do
|
|
742
783
|
returns(T.nilable(MetronomeSDK::RecurringCommitSubscriptionConfig))
|
|
@@ -800,6 +841,8 @@ module MetronomeSDK
|
|
|
800
841
|
rollover_fraction: Float,
|
|
801
842
|
salesforce_opportunity_id: String,
|
|
802
843
|
specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
|
|
844
|
+
spend_tracker_attributes:
|
|
845
|
+
MetronomeSDK::ContractV2::Commit::SpendTrackerAttributes::OrHash,
|
|
803
846
|
subscription_config:
|
|
804
847
|
MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
|
|
805
848
|
).returns(T.attached_class)
|
|
@@ -860,6 +903,8 @@ module MetronomeSDK
|
|
|
860
903
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
861
904
|
# specifiers to contribute to a commit's or credit's drawdown.
|
|
862
905
|
specifiers: nil,
|
|
906
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
907
|
+
spend_tracker_attributes: nil,
|
|
863
908
|
# Attach a subscription to the recurring commit/credit.
|
|
864
909
|
subscription_config: nil
|
|
865
910
|
)
|
|
@@ -899,6 +944,8 @@ module MetronomeSDK
|
|
|
899
944
|
rollover_fraction: Float,
|
|
900
945
|
salesforce_opportunity_id: String,
|
|
901
946
|
specifiers: T::Array[MetronomeSDK::CommitSpecifier],
|
|
947
|
+
spend_tracker_attributes:
|
|
948
|
+
MetronomeSDK::ContractV2::Commit::SpendTrackerAttributes,
|
|
902
949
|
subscription_config:
|
|
903
950
|
MetronomeSDK::RecurringCommitSubscriptionConfig
|
|
904
951
|
}
|
|
@@ -2331,6 +2378,36 @@ module MetronomeSDK
|
|
|
2331
2378
|
def to_hash
|
|
2332
2379
|
end
|
|
2333
2380
|
end
|
|
2381
|
+
|
|
2382
|
+
class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
|
|
2383
|
+
OrHash =
|
|
2384
|
+
T.type_alias do
|
|
2385
|
+
T.any(
|
|
2386
|
+
MetronomeSDK::ContractV2::Commit::SpendTrackerAttributes,
|
|
2387
|
+
MetronomeSDK::Internal::AnyHash
|
|
2388
|
+
)
|
|
2389
|
+
end
|
|
2390
|
+
|
|
2391
|
+
# If true, this commit is included in spend trackers with discounted set to
|
|
2392
|
+
# DISCOUNTED_ONLY
|
|
2393
|
+
sig { returns(T::Boolean) }
|
|
2394
|
+
attr_accessor :counts_as_discounted
|
|
2395
|
+
|
|
2396
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
2397
|
+
sig do
|
|
2398
|
+
params(counts_as_discounted: T::Boolean).returns(T.attached_class)
|
|
2399
|
+
end
|
|
2400
|
+
def self.new(
|
|
2401
|
+
# If true, this commit is included in spend trackers with discounted set to
|
|
2402
|
+
# DISCOUNTED_ONLY
|
|
2403
|
+
counts_as_discounted:
|
|
2404
|
+
)
|
|
2405
|
+
end
|
|
2406
|
+
|
|
2407
|
+
sig { override.returns({ counts_as_discounted: T::Boolean }) }
|
|
2408
|
+
def to_hash
|
|
2409
|
+
end
|
|
2410
|
+
end
|
|
2334
2411
|
end
|
|
2335
2412
|
|
|
2336
2413
|
class Override < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -3211,6 +3288,12 @@ module MetronomeSDK
|
|
|
3211
3288
|
sig { params(applicable_product_tags: T::Array[String]).void }
|
|
3212
3289
|
attr_writer :applicable_product_tags
|
|
3213
3290
|
|
|
3291
|
+
sig { returns(T.nilable(Time)) }
|
|
3292
|
+
attr_reader :archived_at
|
|
3293
|
+
|
|
3294
|
+
sig { params(archived_at: Time).void }
|
|
3295
|
+
attr_writer :archived_at
|
|
3296
|
+
|
|
3214
3297
|
# The current balance of the credit or commit. This balance reflects the amount of
|
|
3215
3298
|
# credit or commit that the customer has access to use at this moment - thus,
|
|
3216
3299
|
# expired and upcoming credit or commit segments contribute 0 to the balance. The
|
|
@@ -3384,6 +3467,7 @@ module MetronomeSDK
|
|
|
3384
3467
|
applicable_contract_ids: T::Array[String],
|
|
3385
3468
|
applicable_product_ids: T::Array[String],
|
|
3386
3469
|
applicable_product_tags: T::Array[String],
|
|
3470
|
+
archived_at: Time,
|
|
3387
3471
|
balance: Float,
|
|
3388
3472
|
contract: MetronomeSDK::ContractV2::Credit::Contract::OrHash,
|
|
3389
3473
|
created_at: Time,
|
|
@@ -3425,6 +3509,7 @@ module MetronomeSDK
|
|
|
3425
3509
|
applicable_contract_ids: nil,
|
|
3426
3510
|
applicable_product_ids: nil,
|
|
3427
3511
|
applicable_product_tags: nil,
|
|
3512
|
+
archived_at: nil,
|
|
3428
3513
|
# The current balance of the credit or commit. This balance reflects the amount of
|
|
3429
3514
|
# credit or commit that the customer has access to use at this moment - thus,
|
|
3430
3515
|
# expired and upcoming credit or commit segments contribute 0 to the balance. The
|
|
@@ -3478,6 +3563,7 @@ module MetronomeSDK
|
|
|
3478
3563
|
applicable_contract_ids: T::Array[String],
|
|
3479
3564
|
applicable_product_ids: T::Array[String],
|
|
3480
3565
|
applicable_product_tags: T::Array[String],
|
|
3566
|
+
archived_at: Time,
|
|
3481
3567
|
balance: Float,
|
|
3482
3568
|
contract: MetronomeSDK::ContractV2::Credit::Contract,
|
|
3483
3569
|
created_at: Time,
|
|
@@ -6664,6 +6750,1088 @@ module MetronomeSDK
|
|
|
6664
6750
|
def self.values
|
|
6665
6751
|
end
|
|
6666
6752
|
end
|
|
6753
|
+
|
|
6754
|
+
class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
|
|
6755
|
+
OrHash =
|
|
6756
|
+
T.type_alias do
|
|
6757
|
+
T.any(
|
|
6758
|
+
MetronomeSDK::ContractV2::SpendTracker,
|
|
6759
|
+
MetronomeSDK::Internal::AnyHash
|
|
6760
|
+
)
|
|
6761
|
+
end
|
|
6762
|
+
|
|
6763
|
+
# Human-readable identifier, unique per contract.
|
|
6764
|
+
sig { returns(String) }
|
|
6765
|
+
attr_accessor :alias_
|
|
6766
|
+
|
|
6767
|
+
sig do
|
|
6768
|
+
returns(
|
|
6769
|
+
T::Array[
|
|
6770
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier
|
|
6771
|
+
]
|
|
6772
|
+
)
|
|
6773
|
+
end
|
|
6774
|
+
attr_accessor :applicable_spend_specifiers
|
|
6775
|
+
|
|
6776
|
+
sig { returns(String) }
|
|
6777
|
+
attr_accessor :credit_type_id
|
|
6778
|
+
|
|
6779
|
+
sig do
|
|
6780
|
+
returns(
|
|
6781
|
+
MetronomeSDK::ContractV2::SpendTracker::ResetFrequency::TaggedSymbol
|
|
6782
|
+
)
|
|
6783
|
+
end
|
|
6784
|
+
attr_accessor :reset_frequency
|
|
6785
|
+
|
|
6786
|
+
sig do
|
|
6787
|
+
returns(
|
|
6788
|
+
T.nilable(MetronomeSDK::ContractV2::SpendTracker::AccumulatedSpend)
|
|
6789
|
+
)
|
|
6790
|
+
end
|
|
6791
|
+
attr_reader :accumulated_spend
|
|
6792
|
+
|
|
6793
|
+
sig do
|
|
6794
|
+
params(
|
|
6795
|
+
accumulated_spend:
|
|
6796
|
+
MetronomeSDK::ContractV2::SpendTracker::AccumulatedSpend::OrHash
|
|
6797
|
+
).void
|
|
6798
|
+
end
|
|
6799
|
+
attr_writer :accumulated_spend
|
|
6800
|
+
|
|
6801
|
+
sig do
|
|
6802
|
+
params(
|
|
6803
|
+
alias_: String,
|
|
6804
|
+
applicable_spend_specifiers:
|
|
6805
|
+
T::Array[
|
|
6806
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::OrHash
|
|
6807
|
+
],
|
|
6808
|
+
credit_type_id: String,
|
|
6809
|
+
reset_frequency:
|
|
6810
|
+
MetronomeSDK::ContractV2::SpendTracker::ResetFrequency::OrSymbol,
|
|
6811
|
+
accumulated_spend:
|
|
6812
|
+
MetronomeSDK::ContractV2::SpendTracker::AccumulatedSpend::OrHash
|
|
6813
|
+
).returns(T.attached_class)
|
|
6814
|
+
end
|
|
6815
|
+
def self.new(
|
|
6816
|
+
# Human-readable identifier, unique per contract.
|
|
6817
|
+
alias_:,
|
|
6818
|
+
applicable_spend_specifiers:,
|
|
6819
|
+
credit_type_id:,
|
|
6820
|
+
reset_frequency:,
|
|
6821
|
+
accumulated_spend: nil
|
|
6822
|
+
)
|
|
6823
|
+
end
|
|
6824
|
+
|
|
6825
|
+
sig do
|
|
6826
|
+
override.returns(
|
|
6827
|
+
{
|
|
6828
|
+
alias_: String,
|
|
6829
|
+
applicable_spend_specifiers:
|
|
6830
|
+
T::Array[
|
|
6831
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier
|
|
6832
|
+
],
|
|
6833
|
+
credit_type_id: String,
|
|
6834
|
+
reset_frequency:
|
|
6835
|
+
MetronomeSDK::ContractV2::SpendTracker::ResetFrequency::TaggedSymbol,
|
|
6836
|
+
accumulated_spend:
|
|
6837
|
+
MetronomeSDK::ContractV2::SpendTracker::AccumulatedSpend
|
|
6838
|
+
}
|
|
6839
|
+
)
|
|
6840
|
+
end
|
|
6841
|
+
def to_hash
|
|
6842
|
+
end
|
|
6843
|
+
|
|
6844
|
+
class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
6845
|
+
OrHash =
|
|
6846
|
+
T.type_alias do
|
|
6847
|
+
T.any(
|
|
6848
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier,
|
|
6849
|
+
MetronomeSDK::Internal::AnyHash
|
|
6850
|
+
)
|
|
6851
|
+
end
|
|
6852
|
+
|
|
6853
|
+
sig do
|
|
6854
|
+
returns(
|
|
6855
|
+
T::Array[
|
|
6856
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
6857
|
+
]
|
|
6858
|
+
)
|
|
6859
|
+
end
|
|
6860
|
+
attr_accessor :sources
|
|
6861
|
+
|
|
6862
|
+
sig do
|
|
6863
|
+
returns(
|
|
6864
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
|
|
6865
|
+
)
|
|
6866
|
+
end
|
|
6867
|
+
attr_accessor :spend_type
|
|
6868
|
+
|
|
6869
|
+
sig do
|
|
6870
|
+
returns(
|
|
6871
|
+
T.nilable(
|
|
6872
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
6873
|
+
)
|
|
6874
|
+
)
|
|
6875
|
+
end
|
|
6876
|
+
attr_reader :discounted
|
|
6877
|
+
|
|
6878
|
+
sig do
|
|
6879
|
+
params(
|
|
6880
|
+
discounted:
|
|
6881
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
|
|
6882
|
+
).void
|
|
6883
|
+
end
|
|
6884
|
+
attr_writer :discounted
|
|
6885
|
+
|
|
6886
|
+
sig do
|
|
6887
|
+
params(
|
|
6888
|
+
sources:
|
|
6889
|
+
T::Array[
|
|
6890
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source::OrSymbol
|
|
6891
|
+
],
|
|
6892
|
+
spend_type:
|
|
6893
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType::OrSymbol,
|
|
6894
|
+
discounted:
|
|
6895
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
|
|
6896
|
+
).returns(T.attached_class)
|
|
6897
|
+
end
|
|
6898
|
+
def self.new(sources:, spend_type:, discounted: nil)
|
|
6899
|
+
end
|
|
6900
|
+
|
|
6901
|
+
sig do
|
|
6902
|
+
override.returns(
|
|
6903
|
+
{
|
|
6904
|
+
sources:
|
|
6905
|
+
T::Array[
|
|
6906
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
6907
|
+
],
|
|
6908
|
+
spend_type:
|
|
6909
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol,
|
|
6910
|
+
discounted:
|
|
6911
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
6912
|
+
}
|
|
6913
|
+
)
|
|
6914
|
+
end
|
|
6915
|
+
def to_hash
|
|
6916
|
+
end
|
|
6917
|
+
|
|
6918
|
+
module Source
|
|
6919
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6920
|
+
|
|
6921
|
+
TaggedSymbol =
|
|
6922
|
+
T.type_alias do
|
|
6923
|
+
T.all(
|
|
6924
|
+
Symbol,
|
|
6925
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source
|
|
6926
|
+
)
|
|
6927
|
+
end
|
|
6928
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6929
|
+
|
|
6930
|
+
THRESHOLD_RECHARGE =
|
|
6931
|
+
T.let(
|
|
6932
|
+
:THRESHOLD_RECHARGE,
|
|
6933
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
6934
|
+
)
|
|
6935
|
+
MANUAL =
|
|
6936
|
+
T.let(
|
|
6937
|
+
:MANUAL,
|
|
6938
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
6939
|
+
)
|
|
6940
|
+
|
|
6941
|
+
sig do
|
|
6942
|
+
override.returns(
|
|
6943
|
+
T::Array[
|
|
6944
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
6945
|
+
]
|
|
6946
|
+
)
|
|
6947
|
+
end
|
|
6948
|
+
def self.values
|
|
6949
|
+
end
|
|
6950
|
+
end
|
|
6951
|
+
|
|
6952
|
+
module SpendType
|
|
6953
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6954
|
+
|
|
6955
|
+
TaggedSymbol =
|
|
6956
|
+
T.type_alias do
|
|
6957
|
+
T.all(
|
|
6958
|
+
Symbol,
|
|
6959
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType
|
|
6960
|
+
)
|
|
6961
|
+
end
|
|
6962
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6963
|
+
|
|
6964
|
+
COMMIT_PURCHASE =
|
|
6965
|
+
T.let(
|
|
6966
|
+
:COMMIT_PURCHASE,
|
|
6967
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
|
|
6968
|
+
)
|
|
6969
|
+
|
|
6970
|
+
sig do
|
|
6971
|
+
override.returns(
|
|
6972
|
+
T::Array[
|
|
6973
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
|
|
6974
|
+
]
|
|
6975
|
+
)
|
|
6976
|
+
end
|
|
6977
|
+
def self.values
|
|
6978
|
+
end
|
|
6979
|
+
end
|
|
6980
|
+
|
|
6981
|
+
module Discounted
|
|
6982
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6983
|
+
|
|
6984
|
+
TaggedSymbol =
|
|
6985
|
+
T.type_alias do
|
|
6986
|
+
T.all(
|
|
6987
|
+
Symbol,
|
|
6988
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted
|
|
6989
|
+
)
|
|
6990
|
+
end
|
|
6991
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6992
|
+
|
|
6993
|
+
ANY =
|
|
6994
|
+
T.let(
|
|
6995
|
+
:ANY,
|
|
6996
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
6997
|
+
)
|
|
6998
|
+
DISCOUNTED_ONLY =
|
|
6999
|
+
T.let(
|
|
7000
|
+
:DISCOUNTED_ONLY,
|
|
7001
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7002
|
+
)
|
|
7003
|
+
UNDISCOUNTED_ONLY =
|
|
7004
|
+
T.let(
|
|
7005
|
+
:UNDISCOUNTED_ONLY,
|
|
7006
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7007
|
+
)
|
|
7008
|
+
|
|
7009
|
+
sig do
|
|
7010
|
+
override.returns(
|
|
7011
|
+
T::Array[
|
|
7012
|
+
MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7013
|
+
]
|
|
7014
|
+
)
|
|
7015
|
+
end
|
|
7016
|
+
def self.values
|
|
7017
|
+
end
|
|
7018
|
+
end
|
|
7019
|
+
end
|
|
7020
|
+
|
|
7021
|
+
module ResetFrequency
|
|
7022
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7023
|
+
|
|
7024
|
+
TaggedSymbol =
|
|
7025
|
+
T.type_alias do
|
|
7026
|
+
T.all(
|
|
7027
|
+
Symbol,
|
|
7028
|
+
MetronomeSDK::ContractV2::SpendTracker::ResetFrequency
|
|
7029
|
+
)
|
|
7030
|
+
end
|
|
7031
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7032
|
+
|
|
7033
|
+
BILLING_PERIOD =
|
|
7034
|
+
T.let(
|
|
7035
|
+
:BILLING_PERIOD,
|
|
7036
|
+
MetronomeSDK::ContractV2::SpendTracker::ResetFrequency::TaggedSymbol
|
|
7037
|
+
)
|
|
7038
|
+
|
|
7039
|
+
sig do
|
|
7040
|
+
override.returns(
|
|
7041
|
+
T::Array[
|
|
7042
|
+
MetronomeSDK::ContractV2::SpendTracker::ResetFrequency::TaggedSymbol
|
|
7043
|
+
]
|
|
7044
|
+
)
|
|
7045
|
+
end
|
|
7046
|
+
def self.values
|
|
7047
|
+
end
|
|
7048
|
+
end
|
|
7049
|
+
|
|
7050
|
+
class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
|
|
7051
|
+
OrHash =
|
|
7052
|
+
T.type_alias do
|
|
7053
|
+
T.any(
|
|
7054
|
+
MetronomeSDK::ContractV2::SpendTracker::AccumulatedSpend,
|
|
7055
|
+
MetronomeSDK::Internal::AnyHash
|
|
7056
|
+
)
|
|
7057
|
+
end
|
|
7058
|
+
|
|
7059
|
+
sig { returns(Float) }
|
|
7060
|
+
attr_accessor :amount
|
|
7061
|
+
|
|
7062
|
+
sig { returns(Time) }
|
|
7063
|
+
attr_accessor :period_ending_before
|
|
7064
|
+
|
|
7065
|
+
sig { returns(Time) }
|
|
7066
|
+
attr_accessor :period_starting_at
|
|
7067
|
+
|
|
7068
|
+
sig do
|
|
7069
|
+
params(
|
|
7070
|
+
amount: Float,
|
|
7071
|
+
period_ending_before: Time,
|
|
7072
|
+
period_starting_at: Time
|
|
7073
|
+
).returns(T.attached_class)
|
|
7074
|
+
end
|
|
7075
|
+
def self.new(amount:, period_ending_before:, period_starting_at:)
|
|
7076
|
+
end
|
|
7077
|
+
|
|
7078
|
+
sig do
|
|
7079
|
+
override.returns(
|
|
7080
|
+
{
|
|
7081
|
+
amount: Float,
|
|
7082
|
+
period_ending_before: Time,
|
|
7083
|
+
period_starting_at: Time
|
|
7084
|
+
}
|
|
7085
|
+
)
|
|
7086
|
+
end
|
|
7087
|
+
def to_hash
|
|
7088
|
+
end
|
|
7089
|
+
end
|
|
7090
|
+
end
|
|
7091
|
+
|
|
7092
|
+
class Subscription < MetronomeSDK::Internal::Type::BaseModel
|
|
7093
|
+
OrHash =
|
|
7094
|
+
T.type_alias do
|
|
7095
|
+
T.any(
|
|
7096
|
+
MetronomeSDK::ContractV2::Subscription,
|
|
7097
|
+
MetronomeSDK::Internal::AnyHash
|
|
7098
|
+
)
|
|
7099
|
+
end
|
|
7100
|
+
|
|
7101
|
+
# Previous, current, and next billing periods for the subscription.
|
|
7102
|
+
sig { returns(MetronomeSDK::ContractV2::Subscription::BillingPeriods) }
|
|
7103
|
+
attr_reader :billing_periods
|
|
7104
|
+
|
|
7105
|
+
sig do
|
|
7106
|
+
params(
|
|
7107
|
+
billing_periods:
|
|
7108
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::OrHash
|
|
7109
|
+
).void
|
|
7110
|
+
end
|
|
7111
|
+
attr_writer :billing_periods
|
|
7112
|
+
|
|
7113
|
+
sig do
|
|
7114
|
+
returns(
|
|
7115
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule::TaggedSymbol
|
|
7116
|
+
)
|
|
7117
|
+
end
|
|
7118
|
+
attr_accessor :collection_schedule
|
|
7119
|
+
|
|
7120
|
+
sig { returns(MetronomeSDK::ContractV2::Subscription::Proration) }
|
|
7121
|
+
attr_reader :proration
|
|
7122
|
+
|
|
7123
|
+
sig do
|
|
7124
|
+
params(
|
|
7125
|
+
proration: MetronomeSDK::ContractV2::Subscription::Proration::OrHash
|
|
7126
|
+
).void
|
|
7127
|
+
end
|
|
7128
|
+
attr_writer :proration
|
|
7129
|
+
|
|
7130
|
+
# Determines how the subscription's quantity is controlled. Defaults to
|
|
7131
|
+
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
7132
|
+
# directly on the subscription. `initial_quantity` must be provided with this
|
|
7133
|
+
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
7134
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
7135
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
7136
|
+
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
7137
|
+
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
7138
|
+
# provided with this option.
|
|
7139
|
+
sig do
|
|
7140
|
+
returns(
|
|
7141
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode::TaggedSymbol
|
|
7142
|
+
)
|
|
7143
|
+
end
|
|
7144
|
+
attr_accessor :quantity_management_mode
|
|
7145
|
+
|
|
7146
|
+
# List of quantity schedule items for the subscription. Only includes the current
|
|
7147
|
+
# quantity and future quantity changes.
|
|
7148
|
+
sig do
|
|
7149
|
+
returns(
|
|
7150
|
+
T::Array[MetronomeSDK::ContractV2::Subscription::QuantitySchedule]
|
|
7151
|
+
)
|
|
7152
|
+
end
|
|
7153
|
+
attr_accessor :quantity_schedule
|
|
7154
|
+
|
|
7155
|
+
sig { returns(Time) }
|
|
7156
|
+
attr_accessor :starting_at
|
|
7157
|
+
|
|
7158
|
+
sig do
|
|
7159
|
+
returns(MetronomeSDK::ContractV2::Subscription::SubscriptionRate)
|
|
7160
|
+
end
|
|
7161
|
+
attr_reader :subscription_rate
|
|
7162
|
+
|
|
7163
|
+
sig do
|
|
7164
|
+
params(
|
|
7165
|
+
subscription_rate:
|
|
7166
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::OrHash
|
|
7167
|
+
).void
|
|
7168
|
+
end
|
|
7169
|
+
attr_writer :subscription_rate
|
|
7170
|
+
|
|
7171
|
+
sig { returns(T.nilable(String)) }
|
|
7172
|
+
attr_reader :id
|
|
7173
|
+
|
|
7174
|
+
sig { params(id: String).void }
|
|
7175
|
+
attr_writer :id
|
|
7176
|
+
|
|
7177
|
+
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
7178
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
7179
|
+
attr_reader :custom_fields
|
|
7180
|
+
|
|
7181
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
|
7182
|
+
attr_writer :custom_fields
|
|
7183
|
+
|
|
7184
|
+
sig { returns(T.nilable(String)) }
|
|
7185
|
+
attr_reader :description
|
|
7186
|
+
|
|
7187
|
+
sig { params(description: String).void }
|
|
7188
|
+
attr_writer :description
|
|
7189
|
+
|
|
7190
|
+
sig { returns(T.nilable(Time)) }
|
|
7191
|
+
attr_reader :ending_before
|
|
7192
|
+
|
|
7193
|
+
sig { params(ending_before: Time).void }
|
|
7194
|
+
attr_writer :ending_before
|
|
7195
|
+
|
|
7196
|
+
sig { returns(T.nilable(String)) }
|
|
7197
|
+
attr_reader :fiat_credit_type_id
|
|
7198
|
+
|
|
7199
|
+
sig { params(fiat_credit_type_id: String).void }
|
|
7200
|
+
attr_writer :fiat_credit_type_id
|
|
7201
|
+
|
|
7202
|
+
sig { returns(T.nilable(String)) }
|
|
7203
|
+
attr_reader :name
|
|
7204
|
+
|
|
7205
|
+
sig { params(name: String).void }
|
|
7206
|
+
attr_writer :name
|
|
7207
|
+
|
|
7208
|
+
sig do
|
|
7209
|
+
returns(T.nilable(MetronomeSDK::ContractV2::Subscription::SeatConfig))
|
|
7210
|
+
end
|
|
7211
|
+
attr_reader :seat_config
|
|
7212
|
+
|
|
7213
|
+
sig do
|
|
7214
|
+
params(
|
|
7215
|
+
seat_config:
|
|
7216
|
+
MetronomeSDK::ContractV2::Subscription::SeatConfig::OrHash
|
|
7217
|
+
).void
|
|
7218
|
+
end
|
|
7219
|
+
attr_writer :seat_config
|
|
7220
|
+
|
|
7221
|
+
sig do
|
|
7222
|
+
params(
|
|
7223
|
+
billing_periods:
|
|
7224
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::OrHash,
|
|
7225
|
+
collection_schedule:
|
|
7226
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule::OrSymbol,
|
|
7227
|
+
proration:
|
|
7228
|
+
MetronomeSDK::ContractV2::Subscription::Proration::OrHash,
|
|
7229
|
+
quantity_management_mode:
|
|
7230
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode::OrSymbol,
|
|
7231
|
+
quantity_schedule:
|
|
7232
|
+
T::Array[
|
|
7233
|
+
MetronomeSDK::ContractV2::Subscription::QuantitySchedule::OrHash
|
|
7234
|
+
],
|
|
7235
|
+
starting_at: Time,
|
|
7236
|
+
subscription_rate:
|
|
7237
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::OrHash,
|
|
7238
|
+
id: String,
|
|
7239
|
+
custom_fields: T::Hash[Symbol, String],
|
|
7240
|
+
description: String,
|
|
7241
|
+
ending_before: Time,
|
|
7242
|
+
fiat_credit_type_id: String,
|
|
7243
|
+
name: String,
|
|
7244
|
+
seat_config:
|
|
7245
|
+
MetronomeSDK::ContractV2::Subscription::SeatConfig::OrHash
|
|
7246
|
+
).returns(T.attached_class)
|
|
7247
|
+
end
|
|
7248
|
+
def self.new(
|
|
7249
|
+
# Previous, current, and next billing periods for the subscription.
|
|
7250
|
+
billing_periods:,
|
|
7251
|
+
collection_schedule:,
|
|
7252
|
+
proration:,
|
|
7253
|
+
# Determines how the subscription's quantity is controlled. Defaults to
|
|
7254
|
+
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
7255
|
+
# directly on the subscription. `initial_quantity` must be provided with this
|
|
7256
|
+
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
7257
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
7258
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
7259
|
+
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
7260
|
+
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
7261
|
+
# provided with this option.
|
|
7262
|
+
quantity_management_mode:,
|
|
7263
|
+
# List of quantity schedule items for the subscription. Only includes the current
|
|
7264
|
+
# quantity and future quantity changes.
|
|
7265
|
+
quantity_schedule:,
|
|
7266
|
+
starting_at:,
|
|
7267
|
+
subscription_rate:,
|
|
7268
|
+
id: nil,
|
|
7269
|
+
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
7270
|
+
custom_fields: nil,
|
|
7271
|
+
description: nil,
|
|
7272
|
+
ending_before: nil,
|
|
7273
|
+
fiat_credit_type_id: nil,
|
|
7274
|
+
name: nil,
|
|
7275
|
+
seat_config: nil
|
|
7276
|
+
)
|
|
7277
|
+
end
|
|
7278
|
+
|
|
7279
|
+
sig do
|
|
7280
|
+
override.returns(
|
|
7281
|
+
{
|
|
7282
|
+
billing_periods:
|
|
7283
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods,
|
|
7284
|
+
collection_schedule:
|
|
7285
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule::TaggedSymbol,
|
|
7286
|
+
proration: MetronomeSDK::ContractV2::Subscription::Proration,
|
|
7287
|
+
quantity_management_mode:
|
|
7288
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode::TaggedSymbol,
|
|
7289
|
+
quantity_schedule:
|
|
7290
|
+
T::Array[
|
|
7291
|
+
MetronomeSDK::ContractV2::Subscription::QuantitySchedule
|
|
7292
|
+
],
|
|
7293
|
+
starting_at: Time,
|
|
7294
|
+
subscription_rate:
|
|
7295
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
|
|
7296
|
+
id: String,
|
|
7297
|
+
custom_fields: T::Hash[Symbol, String],
|
|
7298
|
+
description: String,
|
|
7299
|
+
ending_before: Time,
|
|
7300
|
+
fiat_credit_type_id: String,
|
|
7301
|
+
name: String,
|
|
7302
|
+
seat_config: MetronomeSDK::ContractV2::Subscription::SeatConfig
|
|
7303
|
+
}
|
|
7304
|
+
)
|
|
7305
|
+
end
|
|
7306
|
+
def to_hash
|
|
7307
|
+
end
|
|
7308
|
+
|
|
7309
|
+
class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
|
|
7310
|
+
OrHash =
|
|
7311
|
+
T.type_alias do
|
|
7312
|
+
T.any(
|
|
7313
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods,
|
|
7314
|
+
MetronomeSDK::Internal::AnyHash
|
|
7315
|
+
)
|
|
7316
|
+
end
|
|
7317
|
+
|
|
7318
|
+
sig do
|
|
7319
|
+
returns(
|
|
7320
|
+
T.nilable(
|
|
7321
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Current
|
|
7322
|
+
)
|
|
7323
|
+
)
|
|
7324
|
+
end
|
|
7325
|
+
attr_reader :current
|
|
7326
|
+
|
|
7327
|
+
sig do
|
|
7328
|
+
params(
|
|
7329
|
+
current:
|
|
7330
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Current::OrHash
|
|
7331
|
+
).void
|
|
7332
|
+
end
|
|
7333
|
+
attr_writer :current
|
|
7334
|
+
|
|
7335
|
+
sig do
|
|
7336
|
+
returns(
|
|
7337
|
+
T.nilable(
|
|
7338
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Next
|
|
7339
|
+
)
|
|
7340
|
+
)
|
|
7341
|
+
end
|
|
7342
|
+
attr_reader :next_
|
|
7343
|
+
|
|
7344
|
+
sig do
|
|
7345
|
+
params(
|
|
7346
|
+
next_:
|
|
7347
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Next::OrHash
|
|
7348
|
+
).void
|
|
7349
|
+
end
|
|
7350
|
+
attr_writer :next_
|
|
7351
|
+
|
|
7352
|
+
sig do
|
|
7353
|
+
returns(
|
|
7354
|
+
T.nilable(
|
|
7355
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Previous
|
|
7356
|
+
)
|
|
7357
|
+
)
|
|
7358
|
+
end
|
|
7359
|
+
attr_reader :previous
|
|
7360
|
+
|
|
7361
|
+
sig do
|
|
7362
|
+
params(
|
|
7363
|
+
previous:
|
|
7364
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Previous::OrHash
|
|
7365
|
+
).void
|
|
7366
|
+
end
|
|
7367
|
+
attr_writer :previous
|
|
7368
|
+
|
|
7369
|
+
# Previous, current, and next billing periods for the subscription.
|
|
7370
|
+
sig do
|
|
7371
|
+
params(
|
|
7372
|
+
current:
|
|
7373
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Current::OrHash,
|
|
7374
|
+
next_:
|
|
7375
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Next::OrHash,
|
|
7376
|
+
previous:
|
|
7377
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Previous::OrHash
|
|
7378
|
+
).returns(T.attached_class)
|
|
7379
|
+
end
|
|
7380
|
+
def self.new(current: nil, next_: nil, previous: nil)
|
|
7381
|
+
end
|
|
7382
|
+
|
|
7383
|
+
sig do
|
|
7384
|
+
override.returns(
|
|
7385
|
+
{
|
|
7386
|
+
current:
|
|
7387
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Current,
|
|
7388
|
+
next_:
|
|
7389
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Next,
|
|
7390
|
+
previous:
|
|
7391
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Previous
|
|
7392
|
+
}
|
|
7393
|
+
)
|
|
7394
|
+
end
|
|
7395
|
+
def to_hash
|
|
7396
|
+
end
|
|
7397
|
+
|
|
7398
|
+
class Current < MetronomeSDK::Internal::Type::BaseModel
|
|
7399
|
+
OrHash =
|
|
7400
|
+
T.type_alias do
|
|
7401
|
+
T.any(
|
|
7402
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Current,
|
|
7403
|
+
MetronomeSDK::Internal::AnyHash
|
|
7404
|
+
)
|
|
7405
|
+
end
|
|
7406
|
+
|
|
7407
|
+
sig { returns(Time) }
|
|
7408
|
+
attr_accessor :ending_before
|
|
7409
|
+
|
|
7410
|
+
sig { returns(Time) }
|
|
7411
|
+
attr_accessor :starting_at
|
|
7412
|
+
|
|
7413
|
+
sig do
|
|
7414
|
+
params(ending_before: Time, starting_at: Time).returns(
|
|
7415
|
+
T.attached_class
|
|
7416
|
+
)
|
|
7417
|
+
end
|
|
7418
|
+
def self.new(ending_before:, starting_at:)
|
|
7419
|
+
end
|
|
7420
|
+
|
|
7421
|
+
sig { override.returns({ ending_before: Time, starting_at: Time }) }
|
|
7422
|
+
def to_hash
|
|
7423
|
+
end
|
|
7424
|
+
end
|
|
7425
|
+
|
|
7426
|
+
class Next < MetronomeSDK::Internal::Type::BaseModel
|
|
7427
|
+
OrHash =
|
|
7428
|
+
T.type_alias do
|
|
7429
|
+
T.any(
|
|
7430
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Next,
|
|
7431
|
+
MetronomeSDK::Internal::AnyHash
|
|
7432
|
+
)
|
|
7433
|
+
end
|
|
7434
|
+
|
|
7435
|
+
sig { returns(Time) }
|
|
7436
|
+
attr_accessor :ending_before
|
|
7437
|
+
|
|
7438
|
+
sig { returns(Time) }
|
|
7439
|
+
attr_accessor :starting_at
|
|
7440
|
+
|
|
7441
|
+
sig do
|
|
7442
|
+
params(ending_before: Time, starting_at: Time).returns(
|
|
7443
|
+
T.attached_class
|
|
7444
|
+
)
|
|
7445
|
+
end
|
|
7446
|
+
def self.new(ending_before:, starting_at:)
|
|
7447
|
+
end
|
|
7448
|
+
|
|
7449
|
+
sig { override.returns({ ending_before: Time, starting_at: Time }) }
|
|
7450
|
+
def to_hash
|
|
7451
|
+
end
|
|
7452
|
+
end
|
|
7453
|
+
|
|
7454
|
+
class Previous < MetronomeSDK::Internal::Type::BaseModel
|
|
7455
|
+
OrHash =
|
|
7456
|
+
T.type_alias do
|
|
7457
|
+
T.any(
|
|
7458
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Previous,
|
|
7459
|
+
MetronomeSDK::Internal::AnyHash
|
|
7460
|
+
)
|
|
7461
|
+
end
|
|
7462
|
+
|
|
7463
|
+
sig { returns(Time) }
|
|
7464
|
+
attr_accessor :ending_before
|
|
7465
|
+
|
|
7466
|
+
sig { returns(Time) }
|
|
7467
|
+
attr_accessor :starting_at
|
|
7468
|
+
|
|
7469
|
+
sig do
|
|
7470
|
+
params(ending_before: Time, starting_at: Time).returns(
|
|
7471
|
+
T.attached_class
|
|
7472
|
+
)
|
|
7473
|
+
end
|
|
7474
|
+
def self.new(ending_before:, starting_at:)
|
|
7475
|
+
end
|
|
7476
|
+
|
|
7477
|
+
sig { override.returns({ ending_before: Time, starting_at: Time }) }
|
|
7478
|
+
def to_hash
|
|
7479
|
+
end
|
|
7480
|
+
end
|
|
7481
|
+
end
|
|
7482
|
+
|
|
7483
|
+
module CollectionSchedule
|
|
7484
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7485
|
+
|
|
7486
|
+
TaggedSymbol =
|
|
7487
|
+
T.type_alias do
|
|
7488
|
+
T.all(
|
|
7489
|
+
Symbol,
|
|
7490
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule
|
|
7491
|
+
)
|
|
7492
|
+
end
|
|
7493
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7494
|
+
|
|
7495
|
+
ADVANCE =
|
|
7496
|
+
T.let(
|
|
7497
|
+
:ADVANCE,
|
|
7498
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule::TaggedSymbol
|
|
7499
|
+
)
|
|
7500
|
+
ARREARS =
|
|
7501
|
+
T.let(
|
|
7502
|
+
:ARREARS,
|
|
7503
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule::TaggedSymbol
|
|
7504
|
+
)
|
|
7505
|
+
|
|
7506
|
+
sig do
|
|
7507
|
+
override.returns(
|
|
7508
|
+
T::Array[
|
|
7509
|
+
MetronomeSDK::ContractV2::Subscription::CollectionSchedule::TaggedSymbol
|
|
7510
|
+
]
|
|
7511
|
+
)
|
|
7512
|
+
end
|
|
7513
|
+
def self.values
|
|
7514
|
+
end
|
|
7515
|
+
end
|
|
7516
|
+
|
|
7517
|
+
class Proration < MetronomeSDK::Internal::Type::BaseModel
|
|
7518
|
+
OrHash =
|
|
7519
|
+
T.type_alias do
|
|
7520
|
+
T.any(
|
|
7521
|
+
MetronomeSDK::ContractV2::Subscription::Proration,
|
|
7522
|
+
MetronomeSDK::Internal::AnyHash
|
|
7523
|
+
)
|
|
7524
|
+
end
|
|
7525
|
+
|
|
7526
|
+
sig do
|
|
7527
|
+
returns(
|
|
7528
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::TaggedSymbol
|
|
7529
|
+
)
|
|
7530
|
+
end
|
|
7531
|
+
attr_accessor :invoice_behavior
|
|
7532
|
+
|
|
7533
|
+
sig { returns(T::Boolean) }
|
|
7534
|
+
attr_accessor :is_prorated
|
|
7535
|
+
|
|
7536
|
+
sig do
|
|
7537
|
+
params(
|
|
7538
|
+
invoice_behavior:
|
|
7539
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::OrSymbol,
|
|
7540
|
+
is_prorated: T::Boolean
|
|
7541
|
+
).returns(T.attached_class)
|
|
7542
|
+
end
|
|
7543
|
+
def self.new(invoice_behavior:, is_prorated:)
|
|
7544
|
+
end
|
|
7545
|
+
|
|
7546
|
+
sig do
|
|
7547
|
+
override.returns(
|
|
7548
|
+
{
|
|
7549
|
+
invoice_behavior:
|
|
7550
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
|
|
7551
|
+
is_prorated: T::Boolean
|
|
7552
|
+
}
|
|
7553
|
+
)
|
|
7554
|
+
end
|
|
7555
|
+
def to_hash
|
|
7556
|
+
end
|
|
7557
|
+
|
|
7558
|
+
module InvoiceBehavior
|
|
7559
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7560
|
+
|
|
7561
|
+
TaggedSymbol =
|
|
7562
|
+
T.type_alias do
|
|
7563
|
+
T.all(
|
|
7564
|
+
Symbol,
|
|
7565
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior
|
|
7566
|
+
)
|
|
7567
|
+
end
|
|
7568
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7569
|
+
|
|
7570
|
+
BILL_IMMEDIATELY =
|
|
7571
|
+
T.let(
|
|
7572
|
+
:BILL_IMMEDIATELY,
|
|
7573
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::TaggedSymbol
|
|
7574
|
+
)
|
|
7575
|
+
BILL_ON_NEXT_COLLECTION_DATE =
|
|
7576
|
+
T.let(
|
|
7577
|
+
:BILL_ON_NEXT_COLLECTION_DATE,
|
|
7578
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::TaggedSymbol
|
|
7579
|
+
)
|
|
7580
|
+
|
|
7581
|
+
sig do
|
|
7582
|
+
override.returns(
|
|
7583
|
+
T::Array[
|
|
7584
|
+
MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior::TaggedSymbol
|
|
7585
|
+
]
|
|
7586
|
+
)
|
|
7587
|
+
end
|
|
7588
|
+
def self.values
|
|
7589
|
+
end
|
|
7590
|
+
end
|
|
7591
|
+
end
|
|
7592
|
+
|
|
7593
|
+
# Determines how the subscription's quantity is controlled. Defaults to
|
|
7594
|
+
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
7595
|
+
# directly on the subscription. `initial_quantity` must be provided with this
|
|
7596
|
+
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
7597
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
7598
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
7599
|
+
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
7600
|
+
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
7601
|
+
# provided with this option.
|
|
7602
|
+
module QuantityManagementMode
|
|
7603
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7604
|
+
|
|
7605
|
+
TaggedSymbol =
|
|
7606
|
+
T.type_alias do
|
|
7607
|
+
T.all(
|
|
7608
|
+
Symbol,
|
|
7609
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode
|
|
7610
|
+
)
|
|
7611
|
+
end
|
|
7612
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7613
|
+
|
|
7614
|
+
SEAT_BASED =
|
|
7615
|
+
T.let(
|
|
7616
|
+
:SEAT_BASED,
|
|
7617
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode::TaggedSymbol
|
|
7618
|
+
)
|
|
7619
|
+
QUANTITY_ONLY =
|
|
7620
|
+
T.let(
|
|
7621
|
+
:QUANTITY_ONLY,
|
|
7622
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode::TaggedSymbol
|
|
7623
|
+
)
|
|
7624
|
+
|
|
7625
|
+
sig do
|
|
7626
|
+
override.returns(
|
|
7627
|
+
T::Array[
|
|
7628
|
+
MetronomeSDK::ContractV2::Subscription::QuantityManagementMode::TaggedSymbol
|
|
7629
|
+
]
|
|
7630
|
+
)
|
|
7631
|
+
end
|
|
7632
|
+
def self.values
|
|
7633
|
+
end
|
|
7634
|
+
end
|
|
7635
|
+
|
|
7636
|
+
class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
7637
|
+
OrHash =
|
|
7638
|
+
T.type_alias do
|
|
7639
|
+
T.any(
|
|
7640
|
+
MetronomeSDK::ContractV2::Subscription::QuantitySchedule,
|
|
7641
|
+
MetronomeSDK::Internal::AnyHash
|
|
7642
|
+
)
|
|
7643
|
+
end
|
|
7644
|
+
|
|
7645
|
+
sig { returns(Float) }
|
|
7646
|
+
attr_accessor :quantity
|
|
7647
|
+
|
|
7648
|
+
sig { returns(Time) }
|
|
7649
|
+
attr_accessor :starting_at
|
|
7650
|
+
|
|
7651
|
+
sig { returns(T.nilable(Time)) }
|
|
7652
|
+
attr_reader :ending_before
|
|
7653
|
+
|
|
7654
|
+
sig { params(ending_before: Time).void }
|
|
7655
|
+
attr_writer :ending_before
|
|
7656
|
+
|
|
7657
|
+
sig do
|
|
7658
|
+
params(
|
|
7659
|
+
quantity: Float,
|
|
7660
|
+
starting_at: Time,
|
|
7661
|
+
ending_before: Time
|
|
7662
|
+
).returns(T.attached_class)
|
|
7663
|
+
end
|
|
7664
|
+
def self.new(quantity:, starting_at:, ending_before: nil)
|
|
7665
|
+
end
|
|
7666
|
+
|
|
7667
|
+
sig do
|
|
7668
|
+
override.returns(
|
|
7669
|
+
{ quantity: Float, starting_at: Time, ending_before: Time }
|
|
7670
|
+
)
|
|
7671
|
+
end
|
|
7672
|
+
def to_hash
|
|
7673
|
+
end
|
|
7674
|
+
end
|
|
7675
|
+
|
|
7676
|
+
class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
|
|
7677
|
+
OrHash =
|
|
7678
|
+
T.type_alias do
|
|
7679
|
+
T.any(
|
|
7680
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate,
|
|
7681
|
+
MetronomeSDK::Internal::AnyHash
|
|
7682
|
+
)
|
|
7683
|
+
end
|
|
7684
|
+
|
|
7685
|
+
sig do
|
|
7686
|
+
returns(
|
|
7687
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
|
|
7688
|
+
)
|
|
7689
|
+
end
|
|
7690
|
+
attr_accessor :billing_frequency
|
|
7691
|
+
|
|
7692
|
+
sig do
|
|
7693
|
+
returns(
|
|
7694
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::Product
|
|
7695
|
+
)
|
|
7696
|
+
end
|
|
7697
|
+
attr_reader :product
|
|
7698
|
+
|
|
7699
|
+
sig do
|
|
7700
|
+
params(
|
|
7701
|
+
product:
|
|
7702
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::Product::OrHash
|
|
7703
|
+
).void
|
|
7704
|
+
end
|
|
7705
|
+
attr_writer :product
|
|
7706
|
+
|
|
7707
|
+
sig do
|
|
7708
|
+
params(
|
|
7709
|
+
billing_frequency:
|
|
7710
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
|
|
7711
|
+
product:
|
|
7712
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::Product::OrHash
|
|
7713
|
+
).returns(T.attached_class)
|
|
7714
|
+
end
|
|
7715
|
+
def self.new(billing_frequency:, product:)
|
|
7716
|
+
end
|
|
7717
|
+
|
|
7718
|
+
sig do
|
|
7719
|
+
override.returns(
|
|
7720
|
+
{
|
|
7721
|
+
billing_frequency:
|
|
7722
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol,
|
|
7723
|
+
product:
|
|
7724
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::Product
|
|
7725
|
+
}
|
|
7726
|
+
)
|
|
7727
|
+
end
|
|
7728
|
+
def to_hash
|
|
7729
|
+
end
|
|
7730
|
+
|
|
7731
|
+
module BillingFrequency
|
|
7732
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7733
|
+
|
|
7734
|
+
TaggedSymbol =
|
|
7735
|
+
T.type_alias do
|
|
7736
|
+
T.all(
|
|
7737
|
+
Symbol,
|
|
7738
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency
|
|
7739
|
+
)
|
|
7740
|
+
end
|
|
7741
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7742
|
+
|
|
7743
|
+
MONTHLY =
|
|
7744
|
+
T.let(
|
|
7745
|
+
:MONTHLY,
|
|
7746
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
|
|
7747
|
+
)
|
|
7748
|
+
QUARTERLY =
|
|
7749
|
+
T.let(
|
|
7750
|
+
:QUARTERLY,
|
|
7751
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
|
|
7752
|
+
)
|
|
7753
|
+
ANNUAL =
|
|
7754
|
+
T.let(
|
|
7755
|
+
:ANNUAL,
|
|
7756
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
|
|
7757
|
+
)
|
|
7758
|
+
WEEKLY =
|
|
7759
|
+
T.let(
|
|
7760
|
+
:WEEKLY,
|
|
7761
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
|
|
7762
|
+
)
|
|
7763
|
+
|
|
7764
|
+
sig do
|
|
7765
|
+
override.returns(
|
|
7766
|
+
T::Array[
|
|
7767
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
|
|
7768
|
+
]
|
|
7769
|
+
)
|
|
7770
|
+
end
|
|
7771
|
+
def self.values
|
|
7772
|
+
end
|
|
7773
|
+
end
|
|
7774
|
+
|
|
7775
|
+
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
7776
|
+
OrHash =
|
|
7777
|
+
T.type_alias do
|
|
7778
|
+
T.any(
|
|
7779
|
+
MetronomeSDK::ContractV2::Subscription::SubscriptionRate::Product,
|
|
7780
|
+
MetronomeSDK::Internal::AnyHash
|
|
7781
|
+
)
|
|
7782
|
+
end
|
|
7783
|
+
|
|
7784
|
+
sig { returns(String) }
|
|
7785
|
+
attr_accessor :id
|
|
7786
|
+
|
|
7787
|
+
sig { returns(String) }
|
|
7788
|
+
attr_accessor :name
|
|
7789
|
+
|
|
7790
|
+
sig { params(id: String, name: String).returns(T.attached_class) }
|
|
7791
|
+
def self.new(id:, name:)
|
|
7792
|
+
end
|
|
7793
|
+
|
|
7794
|
+
sig { override.returns({ id: String, name: String }) }
|
|
7795
|
+
def to_hash
|
|
7796
|
+
end
|
|
7797
|
+
end
|
|
7798
|
+
end
|
|
7799
|
+
|
|
7800
|
+
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
7801
|
+
OrHash =
|
|
7802
|
+
T.type_alias do
|
|
7803
|
+
T.any(
|
|
7804
|
+
MetronomeSDK::ContractV2::Subscription::SeatConfig,
|
|
7805
|
+
MetronomeSDK::Internal::AnyHash
|
|
7806
|
+
)
|
|
7807
|
+
end
|
|
7808
|
+
|
|
7809
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
7810
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
7811
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
7812
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
7813
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
7814
|
+
# usage.
|
|
7815
|
+
sig { returns(String) }
|
|
7816
|
+
attr_accessor :seat_group_key
|
|
7817
|
+
|
|
7818
|
+
sig { params(seat_group_key: String).returns(T.attached_class) }
|
|
7819
|
+
def self.new(
|
|
7820
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
7821
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
7822
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
7823
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
7824
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
7825
|
+
# usage.
|
|
7826
|
+
seat_group_key:
|
|
7827
|
+
)
|
|
7828
|
+
end
|
|
7829
|
+
|
|
7830
|
+
sig { override.returns({ seat_group_key: String }) }
|
|
7831
|
+
def to_hash
|
|
7832
|
+
end
|
|
7833
|
+
end
|
|
7834
|
+
end
|
|
6667
7835
|
end
|
|
6668
7836
|
end
|
|
6669
7837
|
end
|