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
|
@@ -197,11 +197,19 @@ module MetronomeSDK
|
|
|
197
197
|
# @return [MetronomeSDK::Models::SpendThresholdConfigurationV2, nil]
|
|
198
198
|
optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfigurationV2 }
|
|
199
199
|
|
|
200
|
+
# @!attribute spend_trackers
|
|
201
|
+
# Spend trackers attached to this contract.
|
|
202
|
+
#
|
|
203
|
+
# @return [Array<MetronomeSDK::Models::ContractV2::SpendTracker>, nil]
|
|
204
|
+
optional :spend_trackers,
|
|
205
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::SpendTracker] }
|
|
206
|
+
|
|
200
207
|
# @!attribute subscriptions
|
|
201
208
|
# List of subscriptions on the contract.
|
|
202
209
|
#
|
|
203
|
-
# @return [Array<MetronomeSDK::Models::Subscription>, nil]
|
|
204
|
-
optional :subscriptions,
|
|
210
|
+
# @return [Array<MetronomeSDK::Models::ContractV2::Subscription>, nil]
|
|
211
|
+
optional :subscriptions,
|
|
212
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Subscription] }
|
|
205
213
|
|
|
206
214
|
# @!attribute total_contract_value
|
|
207
215
|
#
|
|
@@ -214,7 +222,7 @@ module MetronomeSDK
|
|
|
214
222
|
# @return [String, nil]
|
|
215
223
|
optional :uniqueness_key, String
|
|
216
224
|
|
|
217
|
-
# @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
|
|
225
|
+
# @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
|
|
218
226
|
# Some parameter documentations has been truncated, see
|
|
219
227
|
# {MetronomeSDK::Models::ContractV2} for more details.
|
|
220
228
|
#
|
|
@@ -284,7 +292,9 @@ module MetronomeSDK
|
|
|
284
292
|
#
|
|
285
293
|
# @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfigurationV2]
|
|
286
294
|
#
|
|
287
|
-
# @param
|
|
295
|
+
# @param spend_trackers [Array<MetronomeSDK::Models::ContractV2::SpendTracker>] Spend trackers attached to this contract.
|
|
296
|
+
#
|
|
297
|
+
# @param subscriptions [Array<MetronomeSDK::Models::ContractV2::Subscription>] List of subscriptions on the contract.
|
|
288
298
|
#
|
|
289
299
|
# @param total_contract_value [Float]
|
|
290
300
|
#
|
|
@@ -451,13 +461,19 @@ module MetronomeSDK
|
|
|
451
461
|
# @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
|
|
452
462
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
|
|
453
463
|
|
|
464
|
+
# @!attribute spend_tracker_attributes
|
|
465
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
466
|
+
#
|
|
467
|
+
# @return [MetronomeSDK::Models::ContractV2::Commit::SpendTrackerAttributes, nil]
|
|
468
|
+
optional :spend_tracker_attributes, -> { MetronomeSDK::ContractV2::Commit::SpendTrackerAttributes }
|
|
469
|
+
|
|
454
470
|
# @!attribute subscription_config
|
|
455
471
|
# Attach a subscription to the recurring commit/credit.
|
|
456
472
|
#
|
|
457
473
|
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
458
474
|
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
459
475
|
|
|
460
|
-
# @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_commit_id: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil)
|
|
476
|
+
# @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, recurring_commit_id: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, spend_tracker_attributes: nil, subscription_config: nil)
|
|
461
477
|
# Some parameter documentations has been truncated, see
|
|
462
478
|
# {MetronomeSDK::Models::ContractV2::Commit} for more details.
|
|
463
479
|
#
|
|
@@ -513,6 +529,8 @@ module MetronomeSDK
|
|
|
513
529
|
#
|
|
514
530
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
|
|
515
531
|
#
|
|
532
|
+
# @param spend_tracker_attributes [MetronomeSDK::Models::ContractV2::Commit::SpendTrackerAttributes] Optional attributes controlling how this commit interacts with spend trackers.
|
|
533
|
+
#
|
|
516
534
|
# @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
|
|
517
535
|
|
|
518
536
|
# @see MetronomeSDK::Models::ContractV2::Commit#product
|
|
@@ -1229,6 +1247,25 @@ module MetronomeSDK
|
|
|
1229
1247
|
# @param commit_id [String]
|
|
1230
1248
|
# @param contract_id [String]
|
|
1231
1249
|
end
|
|
1250
|
+
|
|
1251
|
+
# @see MetronomeSDK::Models::ContractV2::Commit#spend_tracker_attributes
|
|
1252
|
+
class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
|
|
1253
|
+
# @!attribute counts_as_discounted
|
|
1254
|
+
# If true, this commit is included in spend trackers with discounted set to
|
|
1255
|
+
# DISCOUNTED_ONLY
|
|
1256
|
+
#
|
|
1257
|
+
# @return [Boolean]
|
|
1258
|
+
required :counts_as_discounted, MetronomeSDK::Internal::Type::Boolean
|
|
1259
|
+
|
|
1260
|
+
# @!method initialize(counts_as_discounted:)
|
|
1261
|
+
# Some parameter documentations has been truncated, see
|
|
1262
|
+
# {MetronomeSDK::Models::ContractV2::Commit::SpendTrackerAttributes} for more
|
|
1263
|
+
# details.
|
|
1264
|
+
#
|
|
1265
|
+
# Optional attributes controlling how this commit interacts with spend trackers.
|
|
1266
|
+
#
|
|
1267
|
+
# @param counts_as_discounted [Boolean] If true, this commit is included in spend trackers with discounted set to DISCOU
|
|
1268
|
+
end
|
|
1232
1269
|
end
|
|
1233
1270
|
|
|
1234
1271
|
class Override < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -1645,6 +1682,11 @@ module MetronomeSDK
|
|
|
1645
1682
|
# @return [Array<String>, nil]
|
|
1646
1683
|
optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
|
|
1647
1684
|
|
|
1685
|
+
# @!attribute archived_at
|
|
1686
|
+
#
|
|
1687
|
+
# @return [Time, nil]
|
|
1688
|
+
optional :archived_at, Time
|
|
1689
|
+
|
|
1648
1690
|
# @!attribute balance
|
|
1649
1691
|
# The current balance of the credit or commit. This balance reflects the amount of
|
|
1650
1692
|
# credit or commit that the customer has access to use at this moment - thus,
|
|
@@ -1746,7 +1788,7 @@ module MetronomeSDK
|
|
|
1746
1788
|
# @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
|
|
1747
1789
|
optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
|
|
1748
1790
|
|
|
1749
|
-
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, created_at: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, recurring_credit_id: nil, rolled_over_from: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil)
|
|
1791
|
+
# @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, created_at: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, recurring_credit_id: nil, rolled_over_from: nil, salesforce_opportunity_id: nil, specifiers: nil, subscription_config: nil)
|
|
1750
1792
|
# Some parameter documentations has been truncated, see
|
|
1751
1793
|
# {MetronomeSDK::Models::ContractV2::Credit} for more details.
|
|
1752
1794
|
#
|
|
@@ -1764,6 +1806,8 @@ module MetronomeSDK
|
|
|
1764
1806
|
#
|
|
1765
1807
|
# @param applicable_product_tags [Array<String>]
|
|
1766
1808
|
#
|
|
1809
|
+
# @param archived_at [Time]
|
|
1810
|
+
#
|
|
1767
1811
|
# @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
|
|
1768
1812
|
#
|
|
1769
1813
|
# @param contract [MetronomeSDK::Models::ContractV2::Credit::Contract]
|
|
@@ -3297,6 +3341,486 @@ module MetronomeSDK
|
|
|
3297
3341
|
# @!method self.values
|
|
3298
3342
|
# @return [Array<Symbol>]
|
|
3299
3343
|
end
|
|
3344
|
+
|
|
3345
|
+
class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
|
|
3346
|
+
# @!attribute alias_
|
|
3347
|
+
# Human-readable identifier, unique per contract.
|
|
3348
|
+
#
|
|
3349
|
+
# @return [String]
|
|
3350
|
+
required :alias_, String, api_name: :alias
|
|
3351
|
+
|
|
3352
|
+
# @!attribute applicable_spend_specifiers
|
|
3353
|
+
#
|
|
3354
|
+
# @return [Array<MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier>]
|
|
3355
|
+
required :applicable_spend_specifiers,
|
|
3356
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier] }
|
|
3357
|
+
|
|
3358
|
+
# @!attribute credit_type_id
|
|
3359
|
+
#
|
|
3360
|
+
# @return [String]
|
|
3361
|
+
required :credit_type_id, String
|
|
3362
|
+
|
|
3363
|
+
# @!attribute reset_frequency
|
|
3364
|
+
#
|
|
3365
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ResetFrequency]
|
|
3366
|
+
required :reset_frequency, enum: -> { MetronomeSDK::ContractV2::SpendTracker::ResetFrequency }
|
|
3367
|
+
|
|
3368
|
+
# @!attribute accumulated_spend
|
|
3369
|
+
#
|
|
3370
|
+
# @return [MetronomeSDK::Models::ContractV2::SpendTracker::AccumulatedSpend, nil]
|
|
3371
|
+
optional :accumulated_spend, -> { MetronomeSDK::ContractV2::SpendTracker::AccumulatedSpend }
|
|
3372
|
+
|
|
3373
|
+
# @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:, accumulated_spend: nil)
|
|
3374
|
+
# @param alias_ [String] Human-readable identifier, unique per contract.
|
|
3375
|
+
#
|
|
3376
|
+
# @param applicable_spend_specifiers [Array<MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier>]
|
|
3377
|
+
#
|
|
3378
|
+
# @param credit_type_id [String]
|
|
3379
|
+
#
|
|
3380
|
+
# @param reset_frequency [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ResetFrequency]
|
|
3381
|
+
#
|
|
3382
|
+
# @param accumulated_spend [MetronomeSDK::Models::ContractV2::SpendTracker::AccumulatedSpend]
|
|
3383
|
+
|
|
3384
|
+
class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
3385
|
+
# @!attribute sources
|
|
3386
|
+
#
|
|
3387
|
+
# @return [Array<Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source>]
|
|
3388
|
+
required :sources,
|
|
3389
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source] }
|
|
3390
|
+
|
|
3391
|
+
# @!attribute spend_type
|
|
3392
|
+
#
|
|
3393
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType]
|
|
3394
|
+
required :spend_type,
|
|
3395
|
+
enum: -> { MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType }
|
|
3396
|
+
|
|
3397
|
+
# @!attribute discounted
|
|
3398
|
+
#
|
|
3399
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
|
|
3400
|
+
optional :discounted,
|
|
3401
|
+
enum: -> { MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted }
|
|
3402
|
+
|
|
3403
|
+
# @!method initialize(sources:, spend_type:, discounted: nil)
|
|
3404
|
+
# @param sources [Array<Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source>]
|
|
3405
|
+
# @param spend_type [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType]
|
|
3406
|
+
# @param discounted [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted]
|
|
3407
|
+
|
|
3408
|
+
module Source
|
|
3409
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3410
|
+
|
|
3411
|
+
THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
|
|
3412
|
+
MANUAL = :MANUAL
|
|
3413
|
+
|
|
3414
|
+
# @!method self.values
|
|
3415
|
+
# @return [Array<Symbol>]
|
|
3416
|
+
end
|
|
3417
|
+
|
|
3418
|
+
# @see MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier#spend_type
|
|
3419
|
+
module SpendType
|
|
3420
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3421
|
+
|
|
3422
|
+
COMMIT_PURCHASE = :COMMIT_PURCHASE
|
|
3423
|
+
|
|
3424
|
+
# @!method self.values
|
|
3425
|
+
# @return [Array<Symbol>]
|
|
3426
|
+
end
|
|
3427
|
+
|
|
3428
|
+
# @see MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier#discounted
|
|
3429
|
+
module Discounted
|
|
3430
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3431
|
+
|
|
3432
|
+
ANY = :ANY
|
|
3433
|
+
DISCOUNTED_ONLY = :DISCOUNTED_ONLY
|
|
3434
|
+
UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
|
|
3435
|
+
|
|
3436
|
+
# @!method self.values
|
|
3437
|
+
# @return [Array<Symbol>]
|
|
3438
|
+
end
|
|
3439
|
+
end
|
|
3440
|
+
|
|
3441
|
+
# @see MetronomeSDK::Models::ContractV2::SpendTracker#reset_frequency
|
|
3442
|
+
module ResetFrequency
|
|
3443
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3444
|
+
|
|
3445
|
+
BILLING_PERIOD = :BILLING_PERIOD
|
|
3446
|
+
|
|
3447
|
+
# @!method self.values
|
|
3448
|
+
# @return [Array<Symbol>]
|
|
3449
|
+
end
|
|
3450
|
+
|
|
3451
|
+
# @see MetronomeSDK::Models::ContractV2::SpendTracker#accumulated_spend
|
|
3452
|
+
class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
|
|
3453
|
+
# @!attribute amount
|
|
3454
|
+
#
|
|
3455
|
+
# @return [Float]
|
|
3456
|
+
required :amount, Float
|
|
3457
|
+
|
|
3458
|
+
# @!attribute period_ending_before
|
|
3459
|
+
#
|
|
3460
|
+
# @return [Time]
|
|
3461
|
+
required :period_ending_before, Time
|
|
3462
|
+
|
|
3463
|
+
# @!attribute period_starting_at
|
|
3464
|
+
#
|
|
3465
|
+
# @return [Time]
|
|
3466
|
+
required :period_starting_at, Time
|
|
3467
|
+
|
|
3468
|
+
# @!method initialize(amount:, period_ending_before:, period_starting_at:)
|
|
3469
|
+
# @param amount [Float]
|
|
3470
|
+
# @param period_ending_before [Time]
|
|
3471
|
+
# @param period_starting_at [Time]
|
|
3472
|
+
end
|
|
3473
|
+
end
|
|
3474
|
+
|
|
3475
|
+
class Subscription < MetronomeSDK::Internal::Type::BaseModel
|
|
3476
|
+
# @!attribute billing_periods
|
|
3477
|
+
# Previous, current, and next billing periods for the subscription.
|
|
3478
|
+
#
|
|
3479
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods]
|
|
3480
|
+
required :billing_periods, -> { MetronomeSDK::ContractV2::Subscription::BillingPeriods }
|
|
3481
|
+
|
|
3482
|
+
# @!attribute collection_schedule
|
|
3483
|
+
#
|
|
3484
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::Subscription::CollectionSchedule]
|
|
3485
|
+
required :collection_schedule, enum: -> { MetronomeSDK::ContractV2::Subscription::CollectionSchedule }
|
|
3486
|
+
|
|
3487
|
+
# @!attribute proration
|
|
3488
|
+
#
|
|
3489
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::Proration]
|
|
3490
|
+
required :proration, -> { MetronomeSDK::ContractV2::Subscription::Proration }
|
|
3491
|
+
|
|
3492
|
+
# @!attribute quantity_management_mode
|
|
3493
|
+
# Determines how the subscription's quantity is controlled. Defaults to
|
|
3494
|
+
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
3495
|
+
# directly on the subscription. `initial_quantity` must be provided with this
|
|
3496
|
+
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
3497
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
3498
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
3499
|
+
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
3500
|
+
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
3501
|
+
# provided with this option.
|
|
3502
|
+
#
|
|
3503
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::Subscription::QuantityManagementMode]
|
|
3504
|
+
required :quantity_management_mode,
|
|
3505
|
+
enum: -> { MetronomeSDK::ContractV2::Subscription::QuantityManagementMode }
|
|
3506
|
+
|
|
3507
|
+
# @!attribute quantity_schedule
|
|
3508
|
+
# List of quantity schedule items for the subscription. Only includes the current
|
|
3509
|
+
# quantity and future quantity changes.
|
|
3510
|
+
#
|
|
3511
|
+
# @return [Array<MetronomeSDK::Models::ContractV2::Subscription::QuantitySchedule>]
|
|
3512
|
+
required :quantity_schedule,
|
|
3513
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Subscription::QuantitySchedule] }
|
|
3514
|
+
|
|
3515
|
+
# @!attribute starting_at
|
|
3516
|
+
#
|
|
3517
|
+
# @return [Time]
|
|
3518
|
+
required :starting_at, Time
|
|
3519
|
+
|
|
3520
|
+
# @!attribute subscription_rate
|
|
3521
|
+
#
|
|
3522
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate]
|
|
3523
|
+
required :subscription_rate, -> { MetronomeSDK::ContractV2::Subscription::SubscriptionRate }
|
|
3524
|
+
|
|
3525
|
+
# @!attribute id
|
|
3526
|
+
#
|
|
3527
|
+
# @return [String, nil]
|
|
3528
|
+
optional :id, String
|
|
3529
|
+
|
|
3530
|
+
# @!attribute custom_fields
|
|
3531
|
+
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3532
|
+
#
|
|
3533
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
3534
|
+
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
|
3535
|
+
|
|
3536
|
+
# @!attribute description
|
|
3537
|
+
#
|
|
3538
|
+
# @return [String, nil]
|
|
3539
|
+
optional :description, String
|
|
3540
|
+
|
|
3541
|
+
# @!attribute ending_before
|
|
3542
|
+
#
|
|
3543
|
+
# @return [Time, nil]
|
|
3544
|
+
optional :ending_before, Time
|
|
3545
|
+
|
|
3546
|
+
# @!attribute fiat_credit_type_id
|
|
3547
|
+
#
|
|
3548
|
+
# @return [String, nil]
|
|
3549
|
+
optional :fiat_credit_type_id, String
|
|
3550
|
+
|
|
3551
|
+
# @!attribute name
|
|
3552
|
+
#
|
|
3553
|
+
# @return [String, nil]
|
|
3554
|
+
optional :name, String
|
|
3555
|
+
|
|
3556
|
+
# @!attribute seat_config
|
|
3557
|
+
#
|
|
3558
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::SeatConfig, nil]
|
|
3559
|
+
optional :seat_config, -> { MetronomeSDK::ContractV2::Subscription::SeatConfig }
|
|
3560
|
+
|
|
3561
|
+
# @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil, seat_config: nil)
|
|
3562
|
+
# Some parameter documentations has been truncated, see
|
|
3563
|
+
# {MetronomeSDK::Models::ContractV2::Subscription} for more details.
|
|
3564
|
+
#
|
|
3565
|
+
# @param billing_periods [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods] Previous, current, and next billing periods for the subscription.
|
|
3566
|
+
#
|
|
3567
|
+
# @param collection_schedule [Symbol, MetronomeSDK::Models::ContractV2::Subscription::CollectionSchedule]
|
|
3568
|
+
#
|
|
3569
|
+
# @param proration [MetronomeSDK::Models::ContractV2::Subscription::Proration]
|
|
3570
|
+
#
|
|
3571
|
+
# @param quantity_management_mode [Symbol, MetronomeSDK::Models::ContractV2::Subscription::QuantityManagementMode] Determines how the subscription's quantity is controlled. Defaults to QUANTITY_O
|
|
3572
|
+
#
|
|
3573
|
+
# @param quantity_schedule [Array<MetronomeSDK::Models::ContractV2::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
|
|
3574
|
+
#
|
|
3575
|
+
# @param starting_at [Time]
|
|
3576
|
+
#
|
|
3577
|
+
# @param subscription_rate [MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate]
|
|
3578
|
+
#
|
|
3579
|
+
# @param id [String]
|
|
3580
|
+
#
|
|
3581
|
+
# @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3582
|
+
#
|
|
3583
|
+
# @param description [String]
|
|
3584
|
+
#
|
|
3585
|
+
# @param ending_before [Time]
|
|
3586
|
+
#
|
|
3587
|
+
# @param fiat_credit_type_id [String]
|
|
3588
|
+
#
|
|
3589
|
+
# @param name [String]
|
|
3590
|
+
#
|
|
3591
|
+
# @param seat_config [MetronomeSDK::Models::ContractV2::Subscription::SeatConfig]
|
|
3592
|
+
|
|
3593
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#billing_periods
|
|
3594
|
+
class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
|
|
3595
|
+
# @!attribute current
|
|
3596
|
+
#
|
|
3597
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods::Current, nil]
|
|
3598
|
+
optional :current, -> { MetronomeSDK::ContractV2::Subscription::BillingPeriods::Current }
|
|
3599
|
+
|
|
3600
|
+
# @!attribute next_
|
|
3601
|
+
#
|
|
3602
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods::Next, nil]
|
|
3603
|
+
optional :next_,
|
|
3604
|
+
-> {
|
|
3605
|
+
MetronomeSDK::ContractV2::Subscription::BillingPeriods::Next
|
|
3606
|
+
},
|
|
3607
|
+
api_name: :next
|
|
3608
|
+
|
|
3609
|
+
# @!attribute previous
|
|
3610
|
+
#
|
|
3611
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods::Previous, nil]
|
|
3612
|
+
optional :previous, -> { MetronomeSDK::ContractV2::Subscription::BillingPeriods::Previous }
|
|
3613
|
+
|
|
3614
|
+
# @!method initialize(current: nil, next_: nil, previous: nil)
|
|
3615
|
+
# Previous, current, and next billing periods for the subscription.
|
|
3616
|
+
#
|
|
3617
|
+
# @param current [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods::Current]
|
|
3618
|
+
# @param next_ [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods::Next]
|
|
3619
|
+
# @param previous [MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods::Previous]
|
|
3620
|
+
|
|
3621
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods#current
|
|
3622
|
+
class Current < MetronomeSDK::Internal::Type::BaseModel
|
|
3623
|
+
# @!attribute ending_before
|
|
3624
|
+
#
|
|
3625
|
+
# @return [Time]
|
|
3626
|
+
required :ending_before, Time
|
|
3627
|
+
|
|
3628
|
+
# @!attribute starting_at
|
|
3629
|
+
#
|
|
3630
|
+
# @return [Time]
|
|
3631
|
+
required :starting_at, Time
|
|
3632
|
+
|
|
3633
|
+
# @!method initialize(ending_before:, starting_at:)
|
|
3634
|
+
# @param ending_before [Time]
|
|
3635
|
+
# @param starting_at [Time]
|
|
3636
|
+
end
|
|
3637
|
+
|
|
3638
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods#next_
|
|
3639
|
+
class Next < MetronomeSDK::Internal::Type::BaseModel
|
|
3640
|
+
# @!attribute ending_before
|
|
3641
|
+
#
|
|
3642
|
+
# @return [Time]
|
|
3643
|
+
required :ending_before, Time
|
|
3644
|
+
|
|
3645
|
+
# @!attribute starting_at
|
|
3646
|
+
#
|
|
3647
|
+
# @return [Time]
|
|
3648
|
+
required :starting_at, Time
|
|
3649
|
+
|
|
3650
|
+
# @!method initialize(ending_before:, starting_at:)
|
|
3651
|
+
# @param ending_before [Time]
|
|
3652
|
+
# @param starting_at [Time]
|
|
3653
|
+
end
|
|
3654
|
+
|
|
3655
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::BillingPeriods#previous
|
|
3656
|
+
class Previous < MetronomeSDK::Internal::Type::BaseModel
|
|
3657
|
+
# @!attribute ending_before
|
|
3658
|
+
#
|
|
3659
|
+
# @return [Time]
|
|
3660
|
+
required :ending_before, Time
|
|
3661
|
+
|
|
3662
|
+
# @!attribute starting_at
|
|
3663
|
+
#
|
|
3664
|
+
# @return [Time]
|
|
3665
|
+
required :starting_at, Time
|
|
3666
|
+
|
|
3667
|
+
# @!method initialize(ending_before:, starting_at:)
|
|
3668
|
+
# @param ending_before [Time]
|
|
3669
|
+
# @param starting_at [Time]
|
|
3670
|
+
end
|
|
3671
|
+
end
|
|
3672
|
+
|
|
3673
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#collection_schedule
|
|
3674
|
+
module CollectionSchedule
|
|
3675
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3676
|
+
|
|
3677
|
+
ADVANCE = :ADVANCE
|
|
3678
|
+
ARREARS = :ARREARS
|
|
3679
|
+
|
|
3680
|
+
# @!method self.values
|
|
3681
|
+
# @return [Array<Symbol>]
|
|
3682
|
+
end
|
|
3683
|
+
|
|
3684
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#proration
|
|
3685
|
+
class Proration < MetronomeSDK::Internal::Type::BaseModel
|
|
3686
|
+
# @!attribute invoice_behavior
|
|
3687
|
+
#
|
|
3688
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::Subscription::Proration::InvoiceBehavior]
|
|
3689
|
+
required :invoice_behavior,
|
|
3690
|
+
enum: -> { MetronomeSDK::ContractV2::Subscription::Proration::InvoiceBehavior }
|
|
3691
|
+
|
|
3692
|
+
# @!attribute is_prorated
|
|
3693
|
+
#
|
|
3694
|
+
# @return [Boolean]
|
|
3695
|
+
required :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
3696
|
+
|
|
3697
|
+
# @!method initialize(invoice_behavior:, is_prorated:)
|
|
3698
|
+
# @param invoice_behavior [Symbol, MetronomeSDK::Models::ContractV2::Subscription::Proration::InvoiceBehavior]
|
|
3699
|
+
# @param is_prorated [Boolean]
|
|
3700
|
+
|
|
3701
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::Proration#invoice_behavior
|
|
3702
|
+
module InvoiceBehavior
|
|
3703
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3704
|
+
|
|
3705
|
+
BILL_IMMEDIATELY = :BILL_IMMEDIATELY
|
|
3706
|
+
BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
|
|
3707
|
+
|
|
3708
|
+
# @!method self.values
|
|
3709
|
+
# @return [Array<Symbol>]
|
|
3710
|
+
end
|
|
3711
|
+
end
|
|
3712
|
+
|
|
3713
|
+
# Determines how the subscription's quantity is controlled. Defaults to
|
|
3714
|
+
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
3715
|
+
# directly on the subscription. `initial_quantity` must be provided with this
|
|
3716
|
+
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
3717
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
3718
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
3719
|
+
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
3720
|
+
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
3721
|
+
# provided with this option.
|
|
3722
|
+
#
|
|
3723
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#quantity_management_mode
|
|
3724
|
+
module QuantityManagementMode
|
|
3725
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3726
|
+
|
|
3727
|
+
SEAT_BASED = :SEAT_BASED
|
|
3728
|
+
QUANTITY_ONLY = :QUANTITY_ONLY
|
|
3729
|
+
|
|
3730
|
+
# @!method self.values
|
|
3731
|
+
# @return [Array<Symbol>]
|
|
3732
|
+
end
|
|
3733
|
+
|
|
3734
|
+
class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
3735
|
+
# @!attribute quantity
|
|
3736
|
+
#
|
|
3737
|
+
# @return [Float]
|
|
3738
|
+
required :quantity, Float
|
|
3739
|
+
|
|
3740
|
+
# @!attribute starting_at
|
|
3741
|
+
#
|
|
3742
|
+
# @return [Time]
|
|
3743
|
+
required :starting_at, Time
|
|
3744
|
+
|
|
3745
|
+
# @!attribute ending_before
|
|
3746
|
+
#
|
|
3747
|
+
# @return [Time, nil]
|
|
3748
|
+
optional :ending_before, Time
|
|
3749
|
+
|
|
3750
|
+
# @!method initialize(quantity:, starting_at:, ending_before: nil)
|
|
3751
|
+
# @param quantity [Float]
|
|
3752
|
+
# @param starting_at [Time]
|
|
3753
|
+
# @param ending_before [Time]
|
|
3754
|
+
end
|
|
3755
|
+
|
|
3756
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#subscription_rate
|
|
3757
|
+
class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
|
|
3758
|
+
# @!attribute billing_frequency
|
|
3759
|
+
#
|
|
3760
|
+
# @return [Symbol, MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate::BillingFrequency]
|
|
3761
|
+
required :billing_frequency,
|
|
3762
|
+
enum: -> { MetronomeSDK::ContractV2::Subscription::SubscriptionRate::BillingFrequency }
|
|
3763
|
+
|
|
3764
|
+
# @!attribute product
|
|
3765
|
+
#
|
|
3766
|
+
# @return [MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate::Product]
|
|
3767
|
+
required :product, -> { MetronomeSDK::ContractV2::Subscription::SubscriptionRate::Product }
|
|
3768
|
+
|
|
3769
|
+
# @!method initialize(billing_frequency:, product:)
|
|
3770
|
+
# @param billing_frequency [Symbol, MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate::BillingFrequency]
|
|
3771
|
+
# @param product [MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate::Product]
|
|
3772
|
+
|
|
3773
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate#billing_frequency
|
|
3774
|
+
module BillingFrequency
|
|
3775
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
3776
|
+
|
|
3777
|
+
MONTHLY = :MONTHLY
|
|
3778
|
+
QUARTERLY = :QUARTERLY
|
|
3779
|
+
ANNUAL = :ANNUAL
|
|
3780
|
+
WEEKLY = :WEEKLY
|
|
3781
|
+
|
|
3782
|
+
# @!method self.values
|
|
3783
|
+
# @return [Array<Symbol>]
|
|
3784
|
+
end
|
|
3785
|
+
|
|
3786
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate#product
|
|
3787
|
+
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
3788
|
+
# @!attribute id
|
|
3789
|
+
#
|
|
3790
|
+
# @return [String]
|
|
3791
|
+
required :id, String
|
|
3792
|
+
|
|
3793
|
+
# @!attribute name
|
|
3794
|
+
#
|
|
3795
|
+
# @return [String]
|
|
3796
|
+
required :name, String
|
|
3797
|
+
|
|
3798
|
+
# @!method initialize(id:, name:)
|
|
3799
|
+
# @param id [String]
|
|
3800
|
+
# @param name [String]
|
|
3801
|
+
end
|
|
3802
|
+
end
|
|
3803
|
+
|
|
3804
|
+
# @see MetronomeSDK::Models::ContractV2::Subscription#seat_config
|
|
3805
|
+
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
3806
|
+
# @!attribute seat_group_key
|
|
3807
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
3808
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
3809
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
3810
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
3811
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
3812
|
+
# usage.
|
|
3813
|
+
#
|
|
3814
|
+
# @return [String]
|
|
3815
|
+
required :seat_group_key, String
|
|
3816
|
+
|
|
3817
|
+
# @!method initialize(seat_group_key:)
|
|
3818
|
+
# Some parameter documentations has been truncated, see
|
|
3819
|
+
# {MetronomeSDK::Models::ContractV2::Subscription::SeatConfig} for more details.
|
|
3820
|
+
#
|
|
3821
|
+
# @param seat_group_key [String] The property name, sent on usage events, that identifies the seat ID associated
|
|
3822
|
+
end
|
|
3823
|
+
end
|
|
3300
3824
|
end
|
|
3301
3825
|
end
|
|
3302
3826
|
end
|