metronome-sdk 3.8.0 → 3.10.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/models/commit.rb +9 -1
  5. data/lib/metronome_sdk/models/contract.rb +46 -16
  6. data/lib/metronome_sdk/models/contract_v2.rb +378 -15
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +8 -5
  8. data/lib/metronome_sdk/models/v1/contract_create_params.rb +8 -5
  9. data/lib/metronome_sdk/models/v1/contract_create_response.rb +73 -18
  10. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +27 -1
  11. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +32 -5
  12. data/lib/metronome_sdk/models/v1/package_create_params.rb +8 -4
  13. data/lib/metronome_sdk/models/v1/package_list_response.rb +8 -4
  14. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +8 -4
  15. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -1
  16. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +11 -1
  17. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +14 -8
  18. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +8 -4
  19. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +8 -4
  20. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +11 -14
  21. data/lib/metronome_sdk/resources/v1/dashboards.rb +6 -9
  22. data/lib/metronome_sdk/resources/v2/contracts.rb +6 -2
  23. data/lib/metronome_sdk/version.rb +1 -1
  24. data/rbi/metronome_sdk/models/commit.rbi +11 -0
  25. data/rbi/metronome_sdk/models/contract.rbi +47 -22
  26. data/rbi/metronome_sdk/models/contract_v2.rbi +711 -19
  27. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +12 -11
  28. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +12 -11
  29. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +72 -43
  30. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +67 -0
  31. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +96 -5
  32. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +12 -6
  33. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +12 -6
  34. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +12 -6
  35. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +12 -0
  36. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +12 -0
  37. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +28 -18
  38. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +12 -6
  39. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +12 -6
  40. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +15 -13
  41. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +6 -9
  42. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  43. data/sig/metronome_sdk/models/commit.rbs +7 -0
  44. data/sig/metronome_sdk/models/contract.rbs +22 -11
  45. data/sig/metronome_sdk/models/contract_v2.rbs +289 -5
  46. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1 -2
  47. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1 -2
  48. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +31 -17
  49. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +28 -0
  50. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +39 -4
  51. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +5 -0
  52. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +5 -0
  53. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +12 -14
  54. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +1 -0
  55. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  56. metadata +2 -2
@@ -103,7 +103,6 @@ module MetronomeSDK
103
103
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
104
104
 
105
105
  # @!attribute customer_billing_provider_configuration
106
- # The billing provider configuration associated with the contract.
107
106
  #
108
107
  # @return [MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration, nil]
109
108
  optional :customer_billing_provider_configuration,
@@ -238,7 +237,7 @@ module MetronomeSDK
238
237
  #
239
238
  # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
240
239
  #
241
- # @param customer_billing_provider_configuration [MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration] The billing provider configuration associated with the contract.
240
+ # @param customer_billing_provider_configuration [MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration]
242
241
  #
243
242
  # @param ending_before [Time]
244
243
  #
@@ -296,7 +295,6 @@ module MetronomeSDK
296
295
  module Type
297
296
  extend MetronomeSDK::Internal::Type::Enum
298
297
 
299
- SUPERSEDE = :SUPERSEDE
300
298
  RENEWAL = :RENEWAL
301
299
 
302
300
  # @!method self.values
@@ -368,29 +366,80 @@ module MetronomeSDK
368
366
  # @see MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract#customer_billing_provider_configuration
369
367
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
370
368
  # @!attribute id
369
+ # ID of this configuration; can be provided as the
370
+ # billing_provider_configuration_id when creating a contract.
371
371
  #
372
- # @return [String, nil]
373
- optional :id, String
372
+ # @return [String]
373
+ required :id, String
374
+
375
+ # @!attribute archived_at
376
+ #
377
+ # @return [Time, nil]
378
+ required :archived_at, Time, nil?: true
374
379
 
375
380
  # @!attribute billing_provider
381
+ # The billing provider set for this configuration.
376
382
  #
377
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider, nil]
378
- optional :billing_provider,
383
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider]
384
+ required :billing_provider,
379
385
  enum: -> { MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider }
380
386
 
387
+ # @!attribute configuration
388
+ # Configuration for the billing provider. The structure of this object is specific
389
+ # to the billing provider.
390
+ #
391
+ # @return [Hash{Symbol=>Object}]
392
+ required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
393
+
394
+ # @!attribute customer_id
395
+ #
396
+ # @return [String]
397
+ required :customer_id, String
398
+
381
399
  # @!attribute delivery_method
400
+ # The method to use for delivering invoices to this customer.
382
401
  #
383
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod, nil]
384
- optional :delivery_method,
402
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod]
403
+ required :delivery_method,
385
404
  enum: -> { MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod }
386
405
 
387
- # @!method initialize(id: nil, billing_provider: nil, delivery_method: nil)
388
- # The billing provider configuration associated with the contract.
406
+ # @!attribute delivery_method_configuration
407
+ # Configuration for the delivery method. The structure of this object is specific
408
+ # to the delivery method.
389
409
  #
390
- # @param id [String]
391
- # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider]
392
- # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod]
410
+ # @return [Hash{Symbol=>Object}]
411
+ required :delivery_method_configuration,
412
+ MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
413
+
414
+ # @!attribute delivery_method_id
415
+ # ID of the delivery method to use for this customer.
416
+ #
417
+ # @return [String]
418
+ required :delivery_method_id, String
419
+
420
+ # @!method initialize(id:, archived_at:, billing_provider:, configuration:, customer_id:, delivery_method:, delivery_method_configuration:, delivery_method_id:)
421
+ # Some parameter documentations has been truncated, see
422
+ # {MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration}
423
+ # for more details.
424
+ #
425
+ # @param id [String] ID of this configuration; can be provided as the billing*provider_configuration*
426
+ #
427
+ # @param archived_at [Time, nil]
428
+ #
429
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::BillingProvider] The billing provider set for this configuration.
430
+ #
431
+ # @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
432
+ #
433
+ # @param customer_id [String]
434
+ #
435
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::DeliveryMethod] The method to use for delivering invoices to this customer.
436
+ #
437
+ # @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
438
+ #
439
+ # @param delivery_method_id [String] ID of the delivery method to use for this customer.
393
440
 
441
+ # The billing provider set for this configuration.
442
+ #
394
443
  # @see MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration#billing_provider
395
444
  module BillingProvider
396
445
  extend MetronomeSDK::Internal::Type::Enum
@@ -409,6 +458,8 @@ module MetronomeSDK
409
458
  # @return [Array<Symbol>]
410
459
  end
411
460
 
461
+ # The method to use for delivering invoices to this customer.
462
+ #
412
463
  # @see MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration#delivery_method
413
464
  module DeliveryMethod
414
465
  extend MetronomeSDK::Internal::Type::Enum
@@ -591,7 +642,8 @@ module MetronomeSDK
591
642
  # The commits will be created on the usage invoice frequency. If provided: - The
592
643
  # period defined in the duration will correspond to this frequency. - Commits will
593
644
  # be created aligned with the recurring commit's starting_at rather than the usage
594
- # invoice dates.
645
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
646
+ # are unable to be created with seat-based subscriptions
595
647
  #
596
648
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::RecurrenceFrequency, nil]
597
649
  optional :recurrence_frequency,
@@ -908,7 +960,8 @@ module MetronomeSDK
908
960
  # The commits will be created on the usage invoice frequency. If provided: - The
909
961
  # period defined in the duration will correspond to this frequency. - Commits will
910
962
  # be created aligned with the recurring commit's starting_at rather than the usage
911
- # invoice dates.
963
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
964
+ # are unable to be created with seat-based subscriptions
912
965
  #
913
966
  # @see MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit#recurrence_frequency
914
967
  module RecurrenceFrequency
@@ -1039,7 +1092,8 @@ module MetronomeSDK
1039
1092
  # The commits will be created on the usage invoice frequency. If provided: - The
1040
1093
  # period defined in the duration will correspond to this frequency. - Commits will
1041
1094
  # be created aligned with the recurring commit's starting_at rather than the usage
1042
- # invoice dates.
1095
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1096
+ # are unable to be created with seat-based subscriptions
1043
1097
  #
1044
1098
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::RecurrenceFrequency, nil]
1045
1099
  optional :recurrence_frequency,
@@ -1283,7 +1337,8 @@ module MetronomeSDK
1283
1337
  # The commits will be created on the usage invoice frequency. If provided: - The
1284
1338
  # period defined in the duration will correspond to this frequency. - Commits will
1285
1339
  # be created aligned with the recurring commit's starting_at rather than the usage
1286
- # invoice dates.
1340
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1341
+ # are unable to be created with seat-based subscriptions
1287
1342
  #
1288
1343
  # @see MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit#recurrence_frequency
1289
1344
  module RecurrenceFrequency
@@ -15,6 +15,14 @@ module MetronomeSDK
15
15
  # @return [String]
16
16
  required :rate_card_id, String
17
17
 
18
+ # @!attribute add_credit_type_conversions
19
+ # Add credit type conversions for using custom pricing units in rates. Existing
20
+ # conversions cannot be modified.
21
+ #
22
+ # @return [Array<MetronomeSDK::Models::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion>, nil]
23
+ optional :add_credit_type_conversions,
24
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion] }
25
+
18
26
  # @!attribute aliases
19
27
  # Reference this alias when creating a contract. If the same alias is assigned to
20
28
  # multiple rate cards, it will reference the rate card to which it was most
@@ -35,12 +43,14 @@ module MetronomeSDK
35
43
  # @return [String, nil]
36
44
  optional :name, String
37
45
 
38
- # @!method initialize(rate_card_id:, aliases: nil, description: nil, name: nil, request_options: {})
46
+ # @!method initialize(rate_card_id:, add_credit_type_conversions: nil, aliases: nil, description: nil, name: nil, request_options: {})
39
47
  # Some parameter documentations has been truncated, see
40
48
  # {MetronomeSDK::Models::V1::Contracts::RateCardUpdateParams} for more details.
41
49
  #
42
50
  # @param rate_card_id [String] ID of the rate card to update
43
51
  #
52
+ # @param add_credit_type_conversions [Array<MetronomeSDK::Models::V1::Contracts::RateCardUpdateParams::AddCreditTypeConversion>] Add credit type conversions for using custom pricing units in rates. Existing co
53
+ #
44
54
  # @param aliases [Array<MetronomeSDK::Models::V1::Contracts::RateCardUpdateParams::Alias>] Reference this alias when creating a contract. If the same alias is assigned to
45
55
  #
46
56
  # @param description [String]
@@ -49,6 +59,22 @@ module MetronomeSDK
49
59
  #
50
60
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
51
61
 
62
+ class AddCreditTypeConversion < MetronomeSDK::Internal::Type::BaseModel
63
+ # @!attribute custom_credit_type_id
64
+ #
65
+ # @return [String]
66
+ required :custom_credit_type_id, String
67
+
68
+ # @!attribute fiat_per_custom_credit
69
+ #
70
+ # @return [Float]
71
+ required :fiat_per_custom_credit, Float
72
+
73
+ # @!method initialize(custom_credit_type_id:, fiat_per_custom_credit:)
74
+ # @param custom_credit_type_id [String]
75
+ # @param fiat_per_custom_credit [Float]
76
+ end
77
+
52
78
  class Alias < MetronomeSDK::Internal::Type::BaseModel
53
79
  # @!attribute name
54
80
  #
@@ -155,19 +155,46 @@ module MetronomeSDK
155
155
  # @!attribute key
156
156
  # The option key name
157
157
  #
158
- # @return [String]
159
- required :key, String
158
+ # @return [Symbol, MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key]
159
+ required :key, enum: -> { MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key }
160
160
 
161
161
  # @!attribute value
162
- # The option value
162
+ # The option value. For show_zero_usage_line_items: "true" or "false" (default
163
+ # "false"). For contract_id: a UUID filtering invoices to a specific contract. For
164
+ # invoice_type: "USAGE" or "SCHEDULED". For invoice_status_filter: "VOID",
165
+ # "FINALIZED", "DRAFT", "FINALIZED_AND_DRAFT", or "ALL". For hide_voided_invoices
166
+ # (deprecated): "true" or "false".
163
167
  #
164
168
  # @return [String]
165
169
  required :value, String
166
170
 
167
171
  # @!method initialize(key:, value:)
168
- # @param key [String] The option key name
172
+ # Some parameter documentations has been truncated, see
173
+ # {MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::DashboardOption} for
174
+ # more details.
175
+ #
176
+ # @param key [Symbol, MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::DashboardOption::Key] The option key name
169
177
  #
170
- # @param value [String] The option value
178
+ # @param value [String] The option value. For show_zero_usage_line_items: "true" or "false" (default "fa
179
+
180
+ # The option key name
181
+ #
182
+ # @see MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::DashboardOption#key
183
+ module Key
184
+ extend MetronomeSDK::Internal::Type::Enum
185
+
186
+ SHOW_ZERO_USAGE_LINE_ITEMS = :show_zero_usage_line_items
187
+ CONTRACT_ID = :contract_id
188
+ INVOICE_TYPE = :invoice_type
189
+ INVOICE_STATUS_FILTER = :invoice_status_filter
190
+ HIDE_VOIDED_INVOICES = :hide_voided_invoices
191
+ BILLABLE_STATUS_FILTER = :billable_status_filter
192
+ HIDE_GRANT_NAME = :hide_grant_name
193
+ CREDIT_LEDGER_CREDIT_TYPE_ID = :credit_ledger_credit_type_id
194
+
195
+ # @!method self.values
196
+ # @return [Array<Symbol>]
197
+ end
171
198
  end
172
199
  end
173
200
  end
@@ -1385,7 +1385,8 @@ module MetronomeSDK
1385
1385
  # The commits will be created on the usage invoice frequency. If provided: - The
1386
1386
  # period defined in the duration will correspond to this frequency. - Commits will
1387
1387
  # be created aligned with the recurring commit's starting_at rather than the usage
1388
- # invoice dates.
1388
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1389
+ # are unable to be created with seat-based subscriptions
1389
1390
  #
1390
1391
  # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::RecurrenceFrequency, nil]
1391
1392
  optional :recurrence_frequency,
@@ -1752,7 +1753,8 @@ module MetronomeSDK
1752
1753
  # The commits will be created on the usage invoice frequency. If provided: - The
1753
1754
  # period defined in the duration will correspond to this frequency. - Commits will
1754
1755
  # be created aligned with the recurring commit's starting_at rather than the usage
1755
- # invoice dates.
1756
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1757
+ # are unable to be created with seat-based subscriptions
1756
1758
  #
1757
1759
  # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit#recurrence_frequency
1758
1760
  module RecurrenceFrequency
@@ -1921,7 +1923,8 @@ module MetronomeSDK
1921
1923
  # The commits will be created on the usage invoice frequency. If provided: - The
1922
1924
  # period defined in the duration will correspond to this frequency. - Commits will
1923
1925
  # be created aligned with the recurring commit's starting_at rather than the usage
1924
- # invoice dates.
1926
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1927
+ # are unable to be created with seat-based subscriptions
1925
1928
  #
1926
1929
  # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::RecurrenceFrequency, nil]
1927
1930
  optional :recurrence_frequency,
@@ -2215,7 +2218,8 @@ module MetronomeSDK
2215
2218
  # The commits will be created on the usage invoice frequency. If provided: - The
2216
2219
  # period defined in the duration will correspond to this frequency. - Commits will
2217
2220
  # be created aligned with the recurring commit's starting_at rather than the usage
2218
- # invoice dates.
2221
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2222
+ # are unable to be created with seat-based subscriptions
2219
2223
  #
2220
2224
  # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit#recurrence_frequency
2221
2225
  module RecurrenceFrequency
@@ -1436,7 +1436,8 @@ module MetronomeSDK
1436
1436
  # The commits will be created on the usage invoice frequency. If provided: - The
1437
1437
  # period defined in the duration will correspond to this frequency. - Commits will
1438
1438
  # be created aligned with the recurring commit's starting_at rather than the usage
1439
- # invoice dates.
1439
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1440
+ # are unable to be created with seat-based subscriptions
1440
1441
  #
1441
1442
  # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::RecurrenceFrequency, nil]
1442
1443
  optional :recurrence_frequency,
@@ -1805,7 +1806,8 @@ module MetronomeSDK
1805
1806
  # The commits will be created on the usage invoice frequency. If provided: - The
1806
1807
  # period defined in the duration will correspond to this frequency. - Commits will
1807
1808
  # be created aligned with the recurring commit's starting_at rather than the usage
1808
- # invoice dates.
1809
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1810
+ # are unable to be created with seat-based subscriptions
1809
1811
  #
1810
1812
  # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit#recurrence_frequency
1811
1813
  module RecurrenceFrequency
@@ -1966,7 +1968,8 @@ module MetronomeSDK
1966
1968
  # The commits will be created on the usage invoice frequency. If provided: - The
1967
1969
  # period defined in the duration will correspond to this frequency. - Commits will
1968
1970
  # be created aligned with the recurring commit's starting_at rather than the usage
1969
- # invoice dates.
1971
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1972
+ # are unable to be created with seat-based subscriptions
1970
1973
  #
1971
1974
  # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::RecurrenceFrequency, nil]
1972
1975
  optional :recurrence_frequency,
@@ -2262,7 +2265,8 @@ module MetronomeSDK
2262
2265
  # The commits will be created on the usage invoice frequency. If provided: - The
2263
2266
  # period defined in the duration will correspond to this frequency. - Commits will
2264
2267
  # be created aligned with the recurring commit's starting_at rather than the usage
2265
- # invoice dates.
2268
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2269
+ # are unable to be created with seat-based subscriptions
2266
2270
  #
2267
2271
  # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit#recurrence_frequency
2268
2272
  module RecurrenceFrequency
@@ -1462,7 +1462,8 @@ module MetronomeSDK
1462
1462
  # The commits will be created on the usage invoice frequency. If provided: - The
1463
1463
  # period defined in the duration will correspond to this frequency. - Commits will
1464
1464
  # be created aligned with the recurring commit's starting_at rather than the usage
1465
- # invoice dates.
1465
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1466
+ # are unable to be created with seat-based subscriptions
1466
1467
  #
1467
1468
  # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
1468
1469
  optional :recurrence_frequency,
@@ -1831,7 +1832,8 @@ module MetronomeSDK
1831
1832
  # The commits will be created on the usage invoice frequency. If provided: - The
1832
1833
  # period defined in the duration will correspond to this frequency. - Commits will
1833
1834
  # be created aligned with the recurring commit's starting_at rather than the usage
1834
- # invoice dates.
1835
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1836
+ # are unable to be created with seat-based subscriptions
1835
1837
  #
1836
1838
  # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit#recurrence_frequency
1837
1839
  module RecurrenceFrequency
@@ -1995,7 +1997,8 @@ module MetronomeSDK
1995
1997
  # The commits will be created on the usage invoice frequency. If provided: - The
1996
1998
  # period defined in the duration will correspond to this frequency. - Commits will
1997
1999
  # be created aligned with the recurring commit's starting_at rather than the usage
1998
- # invoice dates.
2000
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2001
+ # are unable to be created with seat-based subscriptions
1999
2002
  #
2000
2003
  # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
2001
2004
  optional :recurrence_frequency,
@@ -2291,7 +2294,8 @@ module MetronomeSDK
2291
2294
  # The commits will be created on the usage invoice frequency. If provided: - The
2292
2295
  # period defined in the duration will correspond to this frequency. - Commits will
2293
2296
  # be created aligned with the recurring commit's starting_at rather than the usage
2294
- # invoice dates.
2297
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2298
+ # are unable to be created with seat-based subscriptions
2295
2299
  #
2296
2300
  # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit#recurrence_frequency
2297
2301
  module RecurrenceFrequency
@@ -25,6 +25,14 @@ module MetronomeSDK
25
25
  # @return [MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule, nil]
26
26
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule }
27
27
 
28
+ # @!attribute applicable_contract_ids
29
+ # Which contracts the customer-level commit applies to. If set to null, the commit
30
+ # applies to all of the customer's contracts. This field cannot be edited for
31
+ # POSTPAID commits or contract-level commits.
32
+ #
33
+ # @return [Array<String>, nil]
34
+ optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
35
+
28
36
  # @!attribute applicable_product_ids
29
37
  # Which products the commit applies to. If applicable_product_ids,
30
38
  # applicable_product_tags or specifiers are not provided, the commit applies to
@@ -103,7 +111,7 @@ module MetronomeSDK
103
111
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
104
112
  nil?: true
105
113
 
106
- # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, invoice_contract_id: nil, invoice_schedule: nil, name: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
114
+ # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, invoice_contract_id: nil, invoice_schedule: nil, name: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
107
115
  # Some parameter documentations has been truncated, see
108
116
  # {MetronomeSDK::Models::V2::ContractEditCommitParams} for more details.
109
117
  #
@@ -113,6 +121,8 @@ module MetronomeSDK
113
121
  #
114
122
  # @param access_schedule [MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule]
115
123
  #
124
+ # @param applicable_contract_ids [Array<String>, nil] Which contracts the customer-level commit applies to. If set to null, the commit
125
+ #
116
126
  # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If applicable_product_ids, applicable_prod
117
127
  #
118
128
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
@@ -25,6 +25,14 @@ module MetronomeSDK
25
25
  # @return [MetronomeSDK::Models::V2::ContractEditCreditParams::AccessSchedule, nil]
26
26
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule }
27
27
 
28
+ # @!attribute applicable_contract_ids
29
+ # Which contracts the customer-level credit applies to. If set to null, the credit
30
+ # applies to all of the customer's contracts. This field cannot be set on a
31
+ # contract-level credit.
32
+ #
33
+ # @return [Array<String>, nil]
34
+ optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
35
+
28
36
  # @!attribute applicable_product_ids
29
37
  # Which products the credit applies to. If both applicable_product_ids and
30
38
  # applicable_product_tags are not provided, the credit applies to all products.
@@ -90,7 +98,7 @@ module MetronomeSDK
90
98
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
91
99
  nil?: true
92
100
 
93
- # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, name: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
101
+ # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, name: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
94
102
  # Some parameter documentations has been truncated, see
95
103
  # {MetronomeSDK::Models::V2::ContractEditCreditParams} for more details.
96
104
  #
@@ -100,6 +108,8 @@ module MetronomeSDK
100
108
  #
101
109
  # @param access_schedule [MetronomeSDK::Models::V2::ContractEditCreditParams::AccessSchedule]
102
110
  #
111
+ # @param applicable_contract_ids [Array<String>, nil] Which contracts the customer-level credit applies to. If set to null, the credit
112
+ #
103
113
  # @param applicable_product_ids [Array<String>, nil] Which products the credit applies to. If both applicable_product_ids and applica
104
114
  #
105
115
  # @param applicable_product_tags [Array<String>, nil] Which tags the credit applies to. If both applicable*product_ids and applicable*
@@ -360,7 +360,7 @@ module MetronomeSDK
360
360
  # @!attribute billing_provider_configuration_id
361
361
  #
362
362
  # @return [String, nil]
363
- optional :billing_provider_configuration_id, String
363
+ optional :billing_provider_configuration_id, String, nil?: true
364
364
 
365
365
  # @!attribute delivery_method
366
366
  #
@@ -370,7 +370,7 @@ module MetronomeSDK
370
370
 
371
371
  # @!method initialize(billing_provider: nil, billing_provider_configuration_id: nil, delivery_method: nil)
372
372
  # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::BillingProvider]
373
- # @param billing_provider_configuration_id [String]
373
+ # @param billing_provider_configuration_id [String, nil]
374
374
  # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration::DeliveryMethod]
375
375
 
376
376
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::BillingProviderConfiguration#billing_provider
@@ -427,6 +427,7 @@ module MetronomeSDK
427
427
  extend MetronomeSDK::Internal::Type::Enum
428
428
 
429
429
  START_OF_CURRENT_PERIOD = :START_OF_CURRENT_PERIOD
430
+ START_OF_NEXT_PERIOD = :START_OF_NEXT_PERIOD
430
431
 
431
432
  # @!method self.values
432
433
  # @return [Array<Symbol>]
@@ -1978,7 +1979,8 @@ module MetronomeSDK
1978
1979
  # The commits will be created on the usage invoice frequency. If provided: - The
1979
1980
  # period defined in the duration will correspond to this frequency. - Commits will
1980
1981
  # be created aligned with the recurring commit's starting_at rather than the usage
1981
- # invoice dates.
1982
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1983
+ # are unable to be created with seat-based subscriptions
1982
1984
  #
1983
1985
  # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency, nil]
1984
1986
  optional :recurrence_frequency,
@@ -2284,7 +2286,8 @@ module MetronomeSDK
2284
2286
  # The commits will be created on the usage invoice frequency. If provided: - The
2285
2287
  # period defined in the duration will correspond to this frequency. - Commits will
2286
2288
  # be created aligned with the recurring commit's starting_at rather than the usage
2287
- # invoice dates.
2289
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2290
+ # are unable to be created with seat-based subscriptions
2288
2291
  #
2289
2292
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#recurrence_frequency
2290
2293
  module RecurrenceFrequency
@@ -2462,7 +2465,8 @@ module MetronomeSDK
2462
2465
  # The commits will be created on the usage invoice frequency. If provided: - The
2463
2466
  # period defined in the duration will correspond to this frequency. - Commits will
2464
2467
  # be created aligned with the recurring commit's starting_at rather than the usage
2465
- # invoice dates.
2468
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2469
+ # are unable to be created with seat-based subscriptions
2466
2470
  #
2467
2471
  # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency, nil]
2468
2472
  optional :recurrence_frequency,
@@ -2696,7 +2700,8 @@ module MetronomeSDK
2696
2700
  # The commits will be created on the usage invoice frequency. If provided: - The
2697
2701
  # period defined in the duration will correspond to this frequency. - Commits will
2698
2702
  # be created aligned with the recurring commit's starting_at rather than the usage
2699
- # invoice dates.
2703
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
2704
+ # are unable to be created with seat-based subscriptions
2700
2705
  #
2701
2706
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#recurrence_frequency
2702
2707
  module RecurrenceFrequency
@@ -2944,14 +2949,14 @@ module MetronomeSDK
2944
2949
  # @!attribute revenue_system_configuration_id
2945
2950
  #
2946
2951
  # @return [String, nil]
2947
- optional :revenue_system_configuration_id, String
2952
+ optional :revenue_system_configuration_id, String, nil?: true
2948
2953
 
2949
2954
  # @!method initialize(delivery_method: nil, provider: nil, revenue_system_configuration_id: nil)
2950
2955
  # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration::DeliveryMethod]
2951
2956
  #
2952
2957
  # @param provider [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration::Provider] The revenue system provider type.
2953
2958
  #
2954
- # @param revenue_system_configuration_id [String]
2959
+ # @param revenue_system_configuration_id [String, nil]
2955
2960
 
2956
2961
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::RevenueSystemConfiguration#delivery_method
2957
2962
  module DeliveryMethod
@@ -2998,6 +3003,7 @@ module MetronomeSDK
2998
3003
  extend MetronomeSDK::Internal::Type::Enum
2999
3004
 
3000
3005
  START_OF_CURRENT_PERIOD = :START_OF_CURRENT_PERIOD
3006
+ START_OF_NEXT_PERIOD = :START_OF_NEXT_PERIOD
3001
3007
 
3002
3008
  # @!method self.values
3003
3009
  # @return [Array<Symbol>]
@@ -1101,7 +1101,8 @@ module MetronomeSDK
1101
1101
  # The commits will be created on the usage invoice frequency. If provided: - The
1102
1102
  # period defined in the duration will correspond to this frequency. - Commits will
1103
1103
  # be created aligned with the recurring commit's starting_at rather than the usage
1104
- # invoice dates.
1104
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1105
+ # are unable to be created with seat-based subscriptions
1105
1106
  #
1106
1107
  # @return [Symbol, MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit::RecurrenceFrequency, nil]
1107
1108
  optional :recurrence_frequency,
@@ -1416,7 +1417,8 @@ module MetronomeSDK
1416
1417
  # The commits will be created on the usage invoice frequency. If provided: - The
1417
1418
  # period defined in the duration will correspond to this frequency. - Commits will
1418
1419
  # be created aligned with the recurring commit's starting_at rather than the usage
1419
- # invoice dates.
1420
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1421
+ # are unable to be created with seat-based subscriptions
1420
1422
  #
1421
1423
  # @see MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCommit#recurrence_frequency
1422
1424
  module RecurrenceFrequency
@@ -1547,7 +1549,8 @@ module MetronomeSDK
1547
1549
  # The commits will be created on the usage invoice frequency. If provided: - The
1548
1550
  # period defined in the duration will correspond to this frequency. - Commits will
1549
1551
  # be created aligned with the recurring commit's starting_at rather than the usage
1550
- # invoice dates.
1552
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1553
+ # are unable to be created with seat-based subscriptions
1551
1554
  #
1552
1555
  # @return [Symbol, MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit::RecurrenceFrequency, nil]
1553
1556
  optional :recurrence_frequency,
@@ -1790,7 +1793,8 @@ module MetronomeSDK
1790
1793
  # The commits will be created on the usage invoice frequency. If provided: - The
1791
1794
  # period defined in the duration will correspond to this frequency. - Commits will
1792
1795
  # be created aligned with the recurring commit's starting_at rather than the usage
1793
- # invoice dates.
1796
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1797
+ # are unable to be created with seat-based subscriptions
1794
1798
  #
1795
1799
  # @see MetronomeSDK::Models::V2::ContractEditResponse::Data::Edit::AddRecurringCredit#recurrence_frequency
1796
1800
  module RecurrenceFrequency
@@ -1092,7 +1092,8 @@ module MetronomeSDK
1092
1092
  # The commits will be created on the usage invoice frequency. If provided: - The
1093
1093
  # period defined in the duration will correspond to this frequency. - Commits will
1094
1094
  # be created aligned with the recurring commit's starting_at rather than the usage
1095
- # invoice dates.
1095
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1096
+ # are unable to be created with seat-based subscriptions
1096
1097
  #
1097
1098
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency, nil]
1098
1099
  optional :recurrence_frequency,
@@ -1407,7 +1408,8 @@ module MetronomeSDK
1407
1408
  # The commits will be created on the usage invoice frequency. If provided: - The
1408
1409
  # period defined in the duration will correspond to this frequency. - Commits will
1409
1410
  # be created aligned with the recurring commit's starting_at rather than the usage
1410
- # invoice dates.
1411
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1412
+ # are unable to be created with seat-based subscriptions
1411
1413
  #
1412
1414
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#recurrence_frequency
1413
1415
  module RecurrenceFrequency
@@ -1538,7 +1540,8 @@ module MetronomeSDK
1538
1540
  # The commits will be created on the usage invoice frequency. If provided: - The
1539
1541
  # period defined in the duration will correspond to this frequency. - Commits will
1540
1542
  # be created aligned with the recurring commit's starting_at rather than the usage
1541
- # invoice dates.
1543
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1544
+ # are unable to be created with seat-based subscriptions
1542
1545
  #
1543
1546
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency, nil]
1544
1547
  optional :recurrence_frequency,
@@ -1781,7 +1784,8 @@ module MetronomeSDK
1781
1784
  # The commits will be created on the usage invoice frequency. If provided: - The
1782
1785
  # period defined in the duration will correspond to this frequency. - Commits will
1783
1786
  # be created aligned with the recurring commit's starting_at rather than the usage
1784
- # invoice dates.
1787
+ # invoice dates. - Daily recurring commits have a limit of one per contract, and
1788
+ # are unable to be created with seat-based subscriptions
1785
1789
  #
1786
1790
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#recurrence_frequency
1787
1791
  module RecurrenceFrequency