metronome-sdk 3.6.0 → 3.8.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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  6. data/lib/metronome_sdk/models/commit.rb +36 -1
  7. data/lib/metronome_sdk/models/contract.rb +140 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +457 -8
  9. data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
  10. data/lib/metronome_sdk/models/credit.rb +10 -1
  11. data/lib/metronome_sdk/models/override.rb +7 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
  13. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
  14. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  15. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  16. data/lib/metronome_sdk/models/subscription.rb +90 -2
  17. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  18. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
  19. data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
  20. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
  21. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  22. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  23. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  25. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  26. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  27. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  28. data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
  29. data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
  30. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
  31. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
  32. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
  33. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
  34. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  36. data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
  37. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  38. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  39. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  40. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  41. data/lib/metronome_sdk/resources/v1.rb +0 -4
  42. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  43. data/lib/metronome_sdk/version.rb +1 -1
  44. data/lib/metronome_sdk.rb +2 -8
  45. data/rbi/metronome_sdk/models/commit.rbi +61 -0
  46. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  47. data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
  48. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
  49. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  50. data/rbi/metronome_sdk/models/override.rbi +9 -0
  51. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
  52. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
  53. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  54. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  55. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  56. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  57. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
  58. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
  59. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
  60. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  61. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  62. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  63. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  64. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  65. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  67. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
  68. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
  69. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
  70. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
  71. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
  72. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
  73. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  74. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  75. data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
  76. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  77. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  78. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  79. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  80. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  81. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  82. data/sig/metronome_sdk/models/commit.rbs +26 -0
  83. data/sig/metronome_sdk/models/contract.rbs +151 -0
  84. data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
  85. data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
  86. data/sig/metronome_sdk/models/credit.rbs +7 -0
  87. data/sig/metronome_sdk/models/override.rbs +7 -0
  88. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  89. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  90. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  91. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  92. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  93. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  94. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
  95. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
  96. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
  97. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  98. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  99. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  100. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  101. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  102. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  103. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  104. data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
  105. data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
  106. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
  107. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
  108. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
  109. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
  110. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  111. data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
  112. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  113. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  114. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  115. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  116. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  117. metadata +8 -26
  118. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  119. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  120. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  121. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  122. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  123. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  124. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  125. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  126. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  127. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  128. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  129. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  130. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  131. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  132. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  133. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  134. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  135. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  136. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  137. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  138. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  139. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  140. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  141. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -127,6 +127,12 @@ module MetronomeSDK
127
127
  # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
128
128
  optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
129
129
 
130
+ # @!attribute spend_trackers
131
+ #
132
+ # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker>, nil]
133
+ optional :spend_trackers,
134
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PackageCreateParams::SpendTracker] }
135
+
130
136
  # @!attribute subscriptions
131
137
  #
132
138
  # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>, nil]
@@ -146,7 +152,7 @@ module MetronomeSDK
146
152
  # @return [MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule, nil]
147
153
  optional :usage_statement_schedule, -> { MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule }
148
154
 
149
- # @!method initialize(name:, aliases: nil, billing_provider: nil, commits: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, net_payment_terms_days: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil, usage_statement_schedule: nil, request_options: {})
155
+ # @!method initialize(name:, aliases: nil, billing_provider: nil, commits: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, net_payment_terms_days: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, uniqueness_key: nil, usage_statement_schedule: nil, request_options: {})
150
156
  # Some parameter documentations has been truncated, see
151
157
  # {MetronomeSDK::Models::V1::PackageCreateParams} for more details.
152
158
  #
@@ -188,6 +194,8 @@ module MetronomeSDK
188
194
  #
189
195
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
190
196
  #
197
+ # @param spend_trackers [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker>]
198
+ #
191
199
  # @param subscriptions [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>]
192
200
  #
193
201
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -914,9 +922,10 @@ module MetronomeSDK
914
922
 
915
923
  # @!attribute is_commit_specific
916
924
  # Indicates whether the override should only apply to commits. Defaults to
917
- # `false`. If `true`, you can specify relevant commits in `override_specifiers` by
918
- # passing `commit_ids`. if you do not specify `commit_ids`, then the override will
919
- # apply when consuming any prepaid or postpaid commit.
925
+ # `false`. If `true` you can specify relevant commits in `override_specifiers` by
926
+ # passing `commit_ids`, `recurring_commit_ids`, or `any_commit_or_credit_ids`. If
927
+ # you do not specify any of these fields, the override will apply when consuming
928
+ # any prepaid commit, postpaid commit, or credit
920
929
  #
921
930
  # @return [Boolean, nil]
922
931
  optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
@@ -990,6 +999,16 @@ module MetronomeSDK
990
999
  # @param type [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Override::Type] Overwrites are prioritized over multipliers and tiered overrides.
991
1000
 
992
1001
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1002
+ # @!attribute any_commit_or_credit_ids
1003
+ # Can only be used for commit specific overrides. Must be used in conjunction with
1004
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
1005
+ # `presentation_group_values`. Must be used instead of both `commit_ids` and
1006
+ # `recurring_commit_ids` If provided, the override will apply to any specified
1007
+ # commit, credit, recurring commit or recurring credit IDs.
1008
+ #
1009
+ # @return [Array<String>, nil]
1010
+ optional :any_commit_or_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1011
+
993
1012
  # @!attribute billing_frequency
994
1013
  #
995
1014
  # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::BillingFrequency, nil]
@@ -1041,11 +1060,13 @@ module MetronomeSDK
1041
1060
  # @return [Array<String>, nil]
1042
1061
  optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1043
1062
 
1044
- # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil)
1063
+ # @!method initialize(any_commit_or_credit_ids: nil, billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil)
1045
1064
  # Some parameter documentations has been truncated, see
1046
1065
  # {MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier} for
1047
1066
  # more details.
1048
1067
  #
1068
+ # @param any_commit_or_credit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1069
+ #
1049
1070
  # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Override::OverrideSpecifier::BillingFrequency]
1050
1071
  #
1051
1072
  # @param commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
@@ -1346,6 +1367,13 @@ module MetronomeSDK
1346
1367
  # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Proration, nil]
1347
1368
  optional :proration, enum: -> { MetronomeSDK::V1::PackageCreateParams::RecurringCommit::Proration }
1348
1369
 
1370
+ # @!attribute proration_rounding
1371
+ # Optional rounding configuration for prorated recurring commit amounts.
1372
+ #
1373
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding, nil]
1374
+ optional :proration_rounding,
1375
+ -> { MetronomeSDK::V1::PackageCreateParams::RecurringCommit::ProrationRounding }
1376
+
1349
1377
  # @!attribute rate_type
1350
1378
  # Whether the created commits will use the commit rate or list rate
1351
1379
  #
@@ -1394,7 +1422,7 @@ module MetronomeSDK
1394
1422
  # @return [String, nil]
1395
1423
  optional :temporary_id, String
1396
1424
 
1397
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, invoice_amount: nil, name: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil, temporary_id: nil)
1425
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, invoice_amount: nil, name: nil, proration: nil, proration_rounding: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil, temporary_id: nil)
1398
1426
  # Some parameter documentations has been truncated, see
1399
1427
  # {MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit} for more
1400
1428
  # details.
@@ -1423,9 +1451,11 @@ module MetronomeSDK
1423
1451
  #
1424
1452
  # @param proration [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1425
1453
  #
1454
+ # @param proration_rounding [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding] Optional rounding configuration for prorated recurring commit amounts.
1455
+ #
1426
1456
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
1427
1457
  #
1428
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1458
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1429
1459
  #
1430
1460
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1431
1461
  #
@@ -1607,6 +1637,104 @@ module MetronomeSDK
1607
1637
  # @return [Array<Symbol>]
1608
1638
  end
1609
1639
 
1640
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit#proration_rounding
1641
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1642
+ # @!attribute access
1643
+ #
1644
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access, nil]
1645
+ optional :access, -> { MetronomeSDK::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access }
1646
+
1647
+ # @!attribute invoice
1648
+ #
1649
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice, nil]
1650
+ optional :invoice,
1651
+ -> { MetronomeSDK::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice }
1652
+
1653
+ # @!method initialize(access: nil, invoice: nil)
1654
+ # Optional rounding configuration for prorated recurring commit amounts.
1655
+ #
1656
+ # @param access [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access]
1657
+ # @param invoice [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice]
1658
+
1659
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding#access
1660
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1661
+ # @!attribute decimal_places
1662
+ # Number of decimal places to round to. Applied directly to the stored monetary
1663
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1664
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
1665
+ # dollar).
1666
+ #
1667
+ # @return [Float]
1668
+ required :decimal_places, Float
1669
+
1670
+ # @!attribute rounding_method
1671
+ #
1672
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access::RoundingMethod]
1673
+ required :rounding_method,
1674
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access::RoundingMethod }
1675
+
1676
+ # @!method initialize(decimal_places:, rounding_method:)
1677
+ # Some parameter documentations has been truncated, see
1678
+ # {MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access}
1679
+ # for more details.
1680
+ #
1681
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1682
+ #
1683
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access::RoundingMethod]
1684
+
1685
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Access#rounding_method
1686
+ module RoundingMethod
1687
+ extend MetronomeSDK::Internal::Type::Enum
1688
+
1689
+ HALF_UP = :HALF_UP
1690
+ FLOOR = :FLOOR
1691
+ CEILING = :CEILING
1692
+
1693
+ # @!method self.values
1694
+ # @return [Array<Symbol>]
1695
+ end
1696
+ end
1697
+
1698
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding#invoice
1699
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1700
+ # @!attribute decimal_places
1701
+ # Number of decimal places to round to. Applied directly to the stored monetary
1702
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1703
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
1704
+ # dollar).
1705
+ #
1706
+ # @return [Float]
1707
+ required :decimal_places, Float
1708
+
1709
+ # @!attribute rounding_method
1710
+ #
1711
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1712
+ required :rounding_method,
1713
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice::RoundingMethod }
1714
+
1715
+ # @!method initialize(decimal_places:, rounding_method:)
1716
+ # Some parameter documentations has been truncated, see
1717
+ # {MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice}
1718
+ # for more details.
1719
+ #
1720
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1721
+ #
1722
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1723
+
1724
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit::ProrationRounding::Invoice#rounding_method
1725
+ module RoundingMethod
1726
+ extend MetronomeSDK::Internal::Type::Enum
1727
+
1728
+ HALF_UP = :HALF_UP
1729
+ FLOOR = :FLOOR
1730
+ CEILING = :CEILING
1731
+
1732
+ # @!method self.values
1733
+ # @return [Array<Symbol>]
1734
+ end
1735
+ end
1736
+ end
1737
+
1610
1738
  # Whether the created commits will use the commit rate or list rate
1611
1739
  #
1612
1740
  # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCommit#rate_type
@@ -1634,6 +1762,7 @@ module MetronomeSDK
1634
1762
  QUARTERLY = :QUARTERLY
1635
1763
  ANNUAL = :ANNUAL
1636
1764
  WEEKLY = :WEEKLY
1765
+ DAILY = :DAILY
1637
1766
 
1638
1767
  # @!method self.values
1639
1768
  # @return [Array<Symbol>]
@@ -1774,6 +1903,13 @@ module MetronomeSDK
1774
1903
  # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Proration, nil]
1775
1904
  optional :proration, enum: -> { MetronomeSDK::V1::PackageCreateParams::RecurringCredit::Proration }
1776
1905
 
1906
+ # @!attribute proration_rounding
1907
+ # Optional rounding configuration for prorated recurring credit amounts.
1908
+ #
1909
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding, nil]
1910
+ optional :proration_rounding,
1911
+ -> { MetronomeSDK::V1::PackageCreateParams::RecurringCredit::ProrationRounding }
1912
+
1777
1913
  # @!attribute rate_type
1778
1914
  # Whether the created commits will use the commit rate or list rate
1779
1915
  #
@@ -1822,7 +1958,7 @@ module MetronomeSDK
1822
1958
  # @return [String, nil]
1823
1959
  optional :temporary_id, String
1824
1960
 
1825
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, name: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil, temporary_id: nil)
1961
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, name: nil, proration: nil, proration_rounding: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil, temporary_id: nil)
1826
1962
  # Some parameter documentations has been truncated, see
1827
1963
  # {MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit} for more
1828
1964
  # details.
@@ -1849,9 +1985,11 @@ module MetronomeSDK
1849
1985
  #
1850
1986
  # @param proration [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1851
1987
  #
1988
+ # @param proration_rounding [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding] Optional rounding configuration for prorated recurring credit amounts.
1989
+ #
1852
1990
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
1853
1991
  #
1854
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1992
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1855
1993
  #
1856
1994
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1857
1995
  #
@@ -2008,6 +2146,58 @@ module MetronomeSDK
2008
2146
  # @return [Array<Symbol>]
2009
2147
  end
2010
2148
 
2149
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit#proration_rounding
2150
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2151
+ # @!attribute access
2152
+ #
2153
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access, nil]
2154
+ optional :access, -> { MetronomeSDK::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access }
2155
+
2156
+ # @!method initialize(access: nil)
2157
+ # Optional rounding configuration for prorated recurring credit amounts.
2158
+ #
2159
+ # @param access [MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access]
2160
+
2161
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding#access
2162
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2163
+ # @!attribute decimal_places
2164
+ # Number of decimal places to round to. Applied directly to the stored monetary
2165
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2166
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
2167
+ # dollar).
2168
+ #
2169
+ # @return [Float]
2170
+ required :decimal_places, Float
2171
+
2172
+ # @!attribute rounding_method
2173
+ #
2174
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access::RoundingMethod]
2175
+ required :rounding_method,
2176
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access::RoundingMethod }
2177
+
2178
+ # @!method initialize(decimal_places:, rounding_method:)
2179
+ # Some parameter documentations has been truncated, see
2180
+ # {MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access}
2181
+ # for more details.
2182
+ #
2183
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2184
+ #
2185
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access::RoundingMethod]
2186
+
2187
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit::ProrationRounding::Access#rounding_method
2188
+ module RoundingMethod
2189
+ extend MetronomeSDK::Internal::Type::Enum
2190
+
2191
+ HALF_UP = :HALF_UP
2192
+ FLOOR = :FLOOR
2193
+ CEILING = :CEILING
2194
+
2195
+ # @!method self.values
2196
+ # @return [Array<Symbol>]
2197
+ end
2198
+ end
2199
+ end
2200
+
2011
2201
  # Whether the created commits will use the commit rate or list rate
2012
2202
  #
2013
2203
  # @see MetronomeSDK::Models::V1::PackageCreateParams::RecurringCredit#rate_type
@@ -2035,6 +2225,7 @@ module MetronomeSDK
2035
2225
  QUARTERLY = :QUARTERLY
2036
2226
  ANNUAL = :ANNUAL
2037
2227
  WEEKLY = :WEEKLY
2228
+ DAILY = :DAILY
2038
2229
 
2039
2230
  # @!method self.values
2040
2231
  # @return [Array<Symbol>]
@@ -2241,6 +2432,112 @@ module MetronomeSDK
2241
2432
  # @return [Array<Symbol>]
2242
2433
  end
2243
2434
 
2435
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2436
+ # @!attribute alias_
2437
+ # Human-readable identifier, unique per contract.
2438
+ #
2439
+ # @return [String]
2440
+ required :alias_, String, api_name: :alias
2441
+
2442
+ # @!attribute applicable_spend_specifiers
2443
+ #
2444
+ # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier>]
2445
+ required :applicable_spend_specifiers,
2446
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier] }
2447
+
2448
+ # @!attribute credit_type_id
2449
+ #
2450
+ # @return [String]
2451
+ required :credit_type_id, String
2452
+
2453
+ # @!attribute reset_frequency
2454
+ #
2455
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ResetFrequency]
2456
+ required :reset_frequency,
2457
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::SpendTracker::ResetFrequency }
2458
+
2459
+ # @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:)
2460
+ # @param alias_ [String] Human-readable identifier, unique per contract.
2461
+ #
2462
+ # @param applicable_spend_specifiers [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier>]
2463
+ #
2464
+ # @param credit_type_id [String]
2465
+ #
2466
+ # @param reset_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ResetFrequency]
2467
+
2468
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2469
+ # @!attribute sources
2470
+ #
2471
+ # @return [Array<Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Source>]
2472
+ required :sources,
2473
+ -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Source] }
2474
+
2475
+ # @!attribute spend_type
2476
+ #
2477
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType]
2478
+ required :spend_type,
2479
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType }
2480
+
2481
+ # @!attribute discounted
2482
+ # Filter by whether the spend was discounted. Defaults to ANY if omitted.
2483
+ #
2484
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
2485
+ optional :discounted,
2486
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted }
2487
+
2488
+ # @!method initialize(sources:, spend_type:, discounted: nil)
2489
+ # @param sources [Array<Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Source>]
2490
+ #
2491
+ # @param spend_type [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType]
2492
+ #
2493
+ # @param discounted [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted] Filter by whether the spend was discounted. Defaults to ANY if omitted.
2494
+
2495
+ module Source
2496
+ extend MetronomeSDK::Internal::Type::Enum
2497
+
2498
+ THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
2499
+ MANUAL = :MANUAL
2500
+
2501
+ # @!method self.values
2502
+ # @return [Array<Symbol>]
2503
+ end
2504
+
2505
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier#spend_type
2506
+ module SpendType
2507
+ extend MetronomeSDK::Internal::Type::Enum
2508
+
2509
+ COMMIT_PURCHASE = :COMMIT_PURCHASE
2510
+
2511
+ # @!method self.values
2512
+ # @return [Array<Symbol>]
2513
+ end
2514
+
2515
+ # Filter by whether the spend was discounted. Defaults to ANY if omitted.
2516
+ #
2517
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier#discounted
2518
+ module Discounted
2519
+ extend MetronomeSDK::Internal::Type::Enum
2520
+
2521
+ ANY = :ANY
2522
+ DISCOUNTED_ONLY = :DISCOUNTED_ONLY
2523
+ UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
2524
+
2525
+ # @!method self.values
2526
+ # @return [Array<Symbol>]
2527
+ end
2528
+ end
2529
+
2530
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker#reset_frequency
2531
+ module ResetFrequency
2532
+ extend MetronomeSDK::Internal::Type::Enum
2533
+
2534
+ BILLING_PERIOD = :BILLING_PERIOD
2535
+
2536
+ # @!method self.values
2537
+ # @return [Array<Symbol>]
2538
+ end
2539
+ end
2540
+
2244
2541
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
2245
2542
  # @!attribute collection_schedule
2246
2543
  #
@@ -2258,6 +2555,12 @@ module MetronomeSDK
2258
2555
  # @return [MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate]
2259
2556
  required :subscription_rate, -> { MetronomeSDK::V1::PackageCreateParams::Subscription::SubscriptionRate }
2260
2557
 
2558
+ # @!attribute billing_cycle_config
2559
+ #
2560
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::Subscription::BillingCycleConfig, nil]
2561
+ optional :billing_cycle_config,
2562
+ -> { MetronomeSDK::V1::PackageCreateParams::Subscription::BillingCycleConfig }
2563
+
2261
2564
  # @!attribute custom_fields
2262
2565
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2263
2566
  #
@@ -2322,7 +2625,7 @@ module MetronomeSDK
2322
2625
  # @return [String, nil]
2323
2626
  optional :temporary_id, String
2324
2627
 
2325
- # @!method initialize(collection_schedule:, proration:, subscription_rate:, custom_fields: nil, description: nil, duration: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at_offset: nil, temporary_id: nil)
2628
+ # @!method initialize(collection_schedule:, proration:, subscription_rate:, billing_cycle_config: nil, custom_fields: nil, description: nil, duration: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at_offset: nil, temporary_id: nil)
2326
2629
  # Some parameter documentations has been truncated, see
2327
2630
  # {MetronomeSDK::Models::V1::PackageCreateParams::Subscription} for more details.
2328
2631
  #
@@ -2332,6 +2635,8 @@ module MetronomeSDK
2332
2635
  #
2333
2636
  # @param subscription_rate [MetronomeSDK::Models::V1::PackageCreateParams::Subscription::SubscriptionRate]
2334
2637
  #
2638
+ # @param billing_cycle_config [MetronomeSDK::Models::V1::PackageCreateParams::Subscription::BillingCycleConfig]
2639
+ #
2335
2640
  # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2336
2641
  #
2337
2642
  # @param description [String]
@@ -2380,7 +2685,12 @@ module MetronomeSDK
2380
2685
  # @return [Boolean, nil]
2381
2686
  optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
2382
2687
 
2383
- # @!method initialize(invoice_behavior: nil, is_prorated: nil)
2688
+ # @!attribute rounding
2689
+ #
2690
+ # @return [MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::Rounding, nil]
2691
+ optional :rounding, -> { MetronomeSDK::V1::PackageCreateParams::Subscription::Proration::Rounding }
2692
+
2693
+ # @!method initialize(invoice_behavior: nil, is_prorated: nil, rounding: nil)
2384
2694
  # Some parameter documentations has been truncated, see
2385
2695
  # {MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration} for
2386
2696
  # more details.
@@ -2388,6 +2698,8 @@ module MetronomeSDK
2388
2698
  # @param invoice_behavior [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::InvoiceBehavior] Indicates how mid-period quantity adjustments are invoiced.
2389
2699
  #
2390
2700
  # @param is_prorated [Boolean] Indicates if the partial period will be prorated or charged a full amount.
2701
+ #
2702
+ # @param rounding [MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::Rounding]
2391
2703
 
2392
2704
  # Indicates how mid-period quantity adjustments are invoiced.
2393
2705
  # **BILL_IMMEDIATELY**: Only available when collection schedule is `ADVANCE`. The
@@ -2405,6 +2717,45 @@ module MetronomeSDK
2405
2717
  # @!method self.values
2406
2718
  # @return [Array<Symbol>]
2407
2719
  end
2720
+
2721
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration#rounding
2722
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2723
+ # @!attribute decimal_places
2724
+ # Number of decimal places to round to. Applied directly to the stored monetary
2725
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2726
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
2727
+ # dollar).
2728
+ #
2729
+ # @return [Float]
2730
+ required :decimal_places, Float
2731
+
2732
+ # @!attribute rounding_method
2733
+ #
2734
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::Rounding::RoundingMethod]
2735
+ required :rounding_method,
2736
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::Subscription::Proration::Rounding::RoundingMethod }
2737
+
2738
+ # @!method initialize(decimal_places:, rounding_method:)
2739
+ # Some parameter documentations has been truncated, see
2740
+ # {MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::Rounding}
2741
+ # for more details.
2742
+ #
2743
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2744
+ #
2745
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::Rounding::RoundingMethod]
2746
+
2747
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::Subscription::Proration::Rounding#rounding_method
2748
+ module RoundingMethod
2749
+ extend MetronomeSDK::Internal::Type::Enum
2750
+
2751
+ HALF_UP = :HALF_UP
2752
+ FLOOR = :FLOOR
2753
+ CEILING = :CEILING
2754
+
2755
+ # @!method self.values
2756
+ # @return [Array<Symbol>]
2757
+ end
2758
+ end
2408
2759
  end
2409
2760
 
2410
2761
  # @see MetronomeSDK::Models::V1::PackageCreateParams::Subscription#subscription_rate
@@ -2449,6 +2800,38 @@ module MetronomeSDK
2449
2800
  end
2450
2801
  end
2451
2802
 
2803
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::Subscription#billing_cycle_config
2804
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2805
+ # @!attribute invoice_placement
2806
+ # Controls whether subscriptions consolidate onto usage invoices. Defaults to
2807
+ # ON_USAGE_INVOICE if omitted.
2808
+ #
2809
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Subscription::BillingCycleConfig::InvoicePlacement, nil]
2810
+ optional :invoice_placement,
2811
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::Subscription::BillingCycleConfig::InvoicePlacement }
2812
+
2813
+ # @!method initialize(invoice_placement: nil)
2814
+ # Some parameter documentations has been truncated, see
2815
+ # {MetronomeSDK::Models::V1::PackageCreateParams::Subscription::BillingCycleConfig}
2816
+ # for more details.
2817
+ #
2818
+ # @param invoice_placement [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::Subscription::BillingCycleConfig::InvoicePlacement] Controls whether subscriptions consolidate onto usage invoices. Defaults to ON_U
2819
+
2820
+ # Controls whether subscriptions consolidate onto usage invoices. Defaults to
2821
+ # ON_USAGE_INVOICE if omitted.
2822
+ #
2823
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::Subscription::BillingCycleConfig#invoice_placement
2824
+ module InvoicePlacement
2825
+ extend MetronomeSDK::Internal::Type::Enum
2826
+
2827
+ ON_SCHEDULED_INVOICE = :ON_SCHEDULED_INVOICE
2828
+ ON_USAGE_INVOICE = :ON_USAGE_INVOICE
2829
+
2830
+ # @!method self.values
2831
+ # @return [Array<Symbol>]
2832
+ end
2833
+ end
2834
+
2452
2835
  # @see MetronomeSDK::Models::V1::PackageCreateParams::Subscription#duration
2453
2836
  class Duration < MetronomeSDK::Internal::Type::BaseModel
2454
2837
  # @!attribute unit