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
@@ -18,11 +18,13 @@ module MetronomeSDK
18
18
  add_revenue_system_configuration_update: MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate,
19
19
  add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
20
20
  add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
21
+ add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
21
22
  add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
22
23
  allow_contract_ending_before_finalized_invoice: bool,
23
24
  archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
24
25
  archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
25
26
  archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
27
+ archive_spend_trackers: ::Array[String],
26
28
  remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
27
29
  uniqueness_key: String,
28
30
  update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
@@ -125,6 +127,12 @@ module MetronomeSDK
125
127
  MetronomeSDK::SpendThresholdConfigurationV2
126
128
  ) -> MetronomeSDK::SpendThresholdConfigurationV2
127
129
 
130
+ attr_reader add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]?
131
+
132
+ def add_spend_trackers=: (
133
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]
134
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]
135
+
128
136
  attr_reader add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription]?
129
137
 
130
138
  def add_subscriptions=: (
@@ -153,6 +161,10 @@ module MetronomeSDK
153
161
  ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge]
154
162
  ) -> ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge]
155
163
 
164
+ attr_reader archive_spend_trackers: ::Array[String]?
165
+
166
+ def archive_spend_trackers=: (::Array[String]) -> ::Array[String]
167
+
156
168
  attr_reader remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride]?
157
169
 
158
170
  def remove_overrides=: (
@@ -233,11 +245,13 @@ module MetronomeSDK
233
245
  ?add_revenue_system_configuration_update: MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate,
234
246
  ?add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
235
247
  ?add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
248
+ ?add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
236
249
  ?add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
237
250
  ?allow_contract_ending_before_finalized_invoice: bool,
238
251
  ?archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
239
252
  ?archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
240
253
  ?archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
254
+ ?archive_spend_trackers: ::Array[String],
241
255
  ?remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
242
256
  ?uniqueness_key: String,
243
257
  ?update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
@@ -270,11 +284,13 @@ module MetronomeSDK
270
284
  add_revenue_system_configuration_update: MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate,
271
285
  add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
272
286
  add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
287
+ add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
273
288
  add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
274
289
  allow_contract_ending_before_finalized_invoice: bool,
275
290
  archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
276
291
  archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
277
292
  archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
293
+ archive_spend_trackers: ::Array[String],
278
294
  remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
279
295
  uniqueness_key: String,
280
296
  update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
@@ -437,6 +453,7 @@ module MetronomeSDK
437
453
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
438
454
  rollover_fraction: Float,
439
455
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
456
+ spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
440
457
  temporary_id: String
441
458
  }
442
459
 
@@ -517,6 +534,12 @@ module MetronomeSDK
517
534
  ::Array[MetronomeSDK::CommitSpecifierInput]
518
535
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
519
536
 
537
+ attr_reader spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes?
538
+
539
+ def spend_tracker_attributes=: (
540
+ MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes
541
+ ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes
542
+
520
543
  attr_reader temporary_id: String?
521
544
 
522
545
  def temporary_id=: (String) -> String
@@ -539,6 +562,7 @@ module MetronomeSDK
539
562
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
540
563
  ?rollover_fraction: Float,
541
564
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
565
+ ?spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
542
566
  ?temporary_id: String
543
567
  ) -> void
544
568
 
@@ -560,6 +584,7 @@ module MetronomeSDK
560
584
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
561
585
  rollover_fraction: Float,
562
586
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
587
+ spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
563
588
  temporary_id: String
564
589
  }
565
590
 
@@ -921,6 +946,16 @@ module MetronomeSDK
921
946
 
922
947
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type]
923
948
  end
949
+
950
+ type spend_tracker_attributes = { counts_as_discounted: bool }
951
+
952
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
953
+ attr_accessor counts_as_discounted: bool
954
+
955
+ def initialize: (counts_as_discounted: bool) -> void
956
+
957
+ def to_hash: -> { counts_as_discounted: bool }
958
+ end
924
959
  end
925
960
 
926
961
  type add_credit =
@@ -1403,6 +1438,7 @@ module MetronomeSDK
1403
1438
 
1404
1439
  type override_specifier =
1405
1440
  {
1441
+ any_commit_or_credit_ids: ::Array[String],
1406
1442
  billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1407
1443
  commit_ids: ::Array[String],
1408
1444
  presentation_group_values: ::Hash[Symbol, String],
@@ -1413,6 +1449,10 @@ module MetronomeSDK
1413
1449
  }
1414
1450
 
1415
1451
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1452
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1453
+
1454
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1455
+
1416
1456
  attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency?
1417
1457
 
1418
1458
  def billing_frequency=: (
@@ -1448,6 +1488,7 @@ module MetronomeSDK
1448
1488
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1449
1489
 
1450
1490
  def initialize: (
1491
+ ?any_commit_or_credit_ids: ::Array[String],
1451
1492
  ?billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1452
1493
  ?commit_ids: ::Array[String],
1453
1494
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1458,6 +1499,7 @@ module MetronomeSDK
1458
1499
  ) -> void
1459
1500
 
1460
1501
  def to_hash: -> {
1502
+ any_commit_or_credit_ids: ::Array[String],
1461
1503
  billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1462
1504
  commit_ids: ::Array[String],
1463
1505
  presentation_group_values: ::Hash[Symbol, String],
@@ -1670,6 +1712,7 @@ module MetronomeSDK
1670
1712
  name: String,
1671
1713
  netsuite_sales_order_id: String,
1672
1714
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1715
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1673
1716
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1674
1717
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1675
1718
  rollover_fraction: Float,
@@ -1731,6 +1774,12 @@ module MetronomeSDK
1731
1774
  MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1732
1775
  ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1733
1776
 
1777
+ attr_reader proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding?
1778
+
1779
+ def proration_rounding=: (
1780
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
1781
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
1782
+
1734
1783
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type?
1735
1784
 
1736
1785
  def rate_type=: (
@@ -1778,6 +1827,7 @@ module MetronomeSDK
1778
1827
  ?name: String,
1779
1828
  ?netsuite_sales_order_id: String,
1780
1829
  ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1830
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1781
1831
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1782
1832
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1783
1833
  ?rollover_fraction: Float,
@@ -1801,6 +1851,7 @@ module MetronomeSDK
1801
1851
  name: String,
1802
1852
  netsuite_sales_order_id: String,
1803
1853
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1854
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1804
1855
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1805
1856
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1806
1857
  rollover_fraction: Float,
@@ -1906,6 +1957,104 @@ module MetronomeSDK
1906
1957
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration]
1907
1958
  end
1908
1959
 
1960
+ type proration_rounding =
1961
+ {
1962
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1963
+ invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1964
+ }
1965
+
1966
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1967
+ attr_reader access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access?
1968
+
1969
+ def access=: (
1970
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
1971
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
1972
+
1973
+ attr_reader invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice?
1974
+
1975
+ def invoice=: (
1976
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1977
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1978
+
1979
+ def initialize: (
1980
+ ?access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1981
+ ?invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1982
+ ) -> void
1983
+
1984
+ def to_hash: -> {
1985
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1986
+ invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1987
+ }
1988
+
1989
+ type access =
1990
+ {
1991
+ decimal_places: Float,
1992
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
1993
+ }
1994
+
1995
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1996
+ attr_accessor decimal_places: Float
1997
+
1998
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
1999
+
2000
+ def initialize: (
2001
+ decimal_places: Float,
2002
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2003
+ ) -> void
2004
+
2005
+ def to_hash: -> {
2006
+ decimal_places: Float,
2007
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2008
+ }
2009
+
2010
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2011
+
2012
+ module RoundingMethod
2013
+ extend MetronomeSDK::Internal::Type::Enum
2014
+
2015
+ HALF_UP: :HALF_UP
2016
+ FLOOR: :FLOOR
2017
+ CEILING: :CEILING
2018
+
2019
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method]
2020
+ end
2021
+ end
2022
+
2023
+ type invoice =
2024
+ {
2025
+ decimal_places: Float,
2026
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2027
+ }
2028
+
2029
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
2030
+ attr_accessor decimal_places: Float
2031
+
2032
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2033
+
2034
+ def initialize: (
2035
+ decimal_places: Float,
2036
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2037
+ ) -> void
2038
+
2039
+ def to_hash: -> {
2040
+ decimal_places: Float,
2041
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2042
+ }
2043
+
2044
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2045
+
2046
+ module RoundingMethod
2047
+ extend MetronomeSDK::Internal::Type::Enum
2048
+
2049
+ HALF_UP: :HALF_UP
2050
+ FLOOR: :FLOOR
2051
+ CEILING: :CEILING
2052
+
2053
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method]
2054
+ end
2055
+ end
2056
+ end
2057
+
1909
2058
  type rate_type = :COMMIT_RATE | :LIST_RATE
1910
2059
 
1911
2060
  module RateType
@@ -1917,7 +2066,8 @@ module MetronomeSDK
1917
2066
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type]
1918
2067
  end
1919
2068
 
1920
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2069
+ type recurrence_frequency =
2070
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1921
2071
 
1922
2072
  module RecurrenceFrequency
1923
2073
  extend MetronomeSDK::Internal::Type::Enum
@@ -1926,6 +2076,7 @@ module MetronomeSDK
1926
2076
  QUARTERLY: :QUARTERLY
1927
2077
  ANNUAL: :ANNUAL
1928
2078
  WEEKLY: :WEEKLY
2079
+ DAILY: :DAILY
1929
2080
 
1930
2081
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency]
1931
2082
  end
@@ -1998,6 +2149,7 @@ module MetronomeSDK
1998
2149
  name: String,
1999
2150
  netsuite_sales_order_id: String,
2000
2151
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2152
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2001
2153
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2002
2154
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2003
2155
  rollover_fraction: Float,
@@ -2053,6 +2205,12 @@ module MetronomeSDK
2053
2205
  MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2054
2206
  ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2055
2207
 
2208
+ attr_reader proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding?
2209
+
2210
+ def proration_rounding=: (
2211
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
2212
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
2213
+
2056
2214
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type?
2057
2215
 
2058
2216
  def rate_type=: (
@@ -2099,6 +2257,7 @@ module MetronomeSDK
2099
2257
  ?name: String,
2100
2258
  ?netsuite_sales_order_id: String,
2101
2259
  ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2260
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2102
2261
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2103
2262
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2104
2263
  ?rollover_fraction: Float,
@@ -2121,6 +2280,7 @@ module MetronomeSDK
2121
2280
  name: String,
2122
2281
  netsuite_sales_order_id: String,
2123
2282
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2283
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2124
2284
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2125
2285
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2126
2286
  rollover_fraction: Float,
@@ -2203,6 +2363,61 @@ module MetronomeSDK
2203
2363
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration]
2204
2364
  end
2205
2365
 
2366
+ type proration_rounding =
2367
+ {
2368
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2369
+ }
2370
+
2371
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2372
+ attr_reader access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access?
2373
+
2374
+ def access=: (
2375
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2376
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2377
+
2378
+ def initialize: (
2379
+ ?access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2380
+ ) -> void
2381
+
2382
+ def to_hash: -> {
2383
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2384
+ }
2385
+
2386
+ type access =
2387
+ {
2388
+ decimal_places: Float,
2389
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2390
+ }
2391
+
2392
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2393
+ attr_accessor decimal_places: Float
2394
+
2395
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2396
+
2397
+ def initialize: (
2398
+ decimal_places: Float,
2399
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2400
+ ) -> void
2401
+
2402
+ def to_hash: -> {
2403
+ decimal_places: Float,
2404
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2405
+ }
2406
+
2407
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2408
+
2409
+ module RoundingMethod
2410
+ extend MetronomeSDK::Internal::Type::Enum
2411
+
2412
+ HALF_UP: :HALF_UP
2413
+ FLOOR: :FLOOR
2414
+ CEILING: :CEILING
2415
+
2416
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method]
2417
+ end
2418
+ end
2419
+ end
2420
+
2206
2421
  type rate_type = :COMMIT_RATE | :LIST_RATE
2207
2422
 
2208
2423
  module RateType
@@ -2214,7 +2429,8 @@ module MetronomeSDK
2214
2429
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type]
2215
2430
  end
2216
2431
 
2217
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2432
+ type recurrence_frequency =
2433
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2218
2434
 
2219
2435
  module RecurrenceFrequency
2220
2436
  extend MetronomeSDK::Internal::Type::Enum
@@ -2223,6 +2439,7 @@ module MetronomeSDK
2223
2439
  QUARTERLY: :QUARTERLY
2224
2440
  ANNUAL: :ANNUAL
2225
2441
  WEEKLY: :WEEKLY
2442
+ DAILY: :DAILY
2226
2443
 
2227
2444
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency]
2228
2445
  end
@@ -2742,11 +2959,118 @@ module MetronomeSDK
2742
2959
  end
2743
2960
  end
2744
2961
 
2962
+ type add_spend_tracker =
2963
+ {
2964
+ alias_: String,
2965
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier],
2966
+ credit_type_id: String,
2967
+ reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2968
+ }
2969
+
2970
+ class AddSpendTracker < MetronomeSDK::Internal::Type::BaseModel
2971
+ attr_accessor alias_: String
2972
+
2973
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier]
2974
+
2975
+ attr_accessor credit_type_id: String
2976
+
2977
+ attr_accessor reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2978
+
2979
+ def initialize: (
2980
+ alias_: String,
2981
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier],
2982
+ credit_type_id: String,
2983
+ reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2984
+ ) -> void
2985
+
2986
+ def to_hash: -> {
2987
+ alias_: String,
2988
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier],
2989
+ credit_type_id: String,
2990
+ reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2991
+ }
2992
+
2993
+ type applicable_spend_specifier =
2994
+ {
2995
+ sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source],
2996
+ spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type,
2997
+ discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
2998
+ }
2999
+
3000
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
3001
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source]
3002
+
3003
+ attr_accessor spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type
3004
+
3005
+ attr_reader discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted?
3006
+
3007
+ def discounted=: (
3008
+ MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
3009
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
3010
+
3011
+ def initialize: (
3012
+ sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source],
3013
+ spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type,
3014
+ ?discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
3015
+ ) -> void
3016
+
3017
+ def to_hash: -> {
3018
+ sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source],
3019
+ spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type,
3020
+ discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
3021
+ }
3022
+
3023
+ type source = :THRESHOLD_RECHARGE | :MANUAL
3024
+
3025
+ module Source
3026
+ extend MetronomeSDK::Internal::Type::Enum
3027
+
3028
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
3029
+ MANUAL: :MANUAL
3030
+
3031
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source]
3032
+ end
3033
+
3034
+ type spend_type = :COMMIT_PURCHASE
3035
+
3036
+ module SpendType
3037
+ extend MetronomeSDK::Internal::Type::Enum
3038
+
3039
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
3040
+
3041
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type]
3042
+ end
3043
+
3044
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
3045
+
3046
+ module Discounted
3047
+ extend MetronomeSDK::Internal::Type::Enum
3048
+
3049
+ ANY: :ANY
3050
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
3051
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
3052
+
3053
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted]
3054
+ end
3055
+ end
3056
+
3057
+ type reset_frequency = :BILLING_PERIOD
3058
+
3059
+ module ResetFrequency
3060
+ extend MetronomeSDK::Internal::Type::Enum
3061
+
3062
+ BILLING_PERIOD: :BILLING_PERIOD
3063
+
3064
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency]
3065
+ end
3066
+ end
3067
+
2745
3068
  type add_subscription =
2746
3069
  {
2747
3070
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2748
3071
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2749
3072
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3073
+ billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2750
3074
  custom_fields: ::Hash[Symbol, String],
2751
3075
  description: String,
2752
3076
  ending_before: Time,
@@ -2765,6 +3089,12 @@ module MetronomeSDK
2765
3089
 
2766
3090
  attr_accessor subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate
2767
3091
 
3092
+ attr_reader billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig?
3093
+
3094
+ def billing_cycle_config=: (
3095
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
3096
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
3097
+
2768
3098
  attr_reader custom_fields: ::Hash[Symbol, String]?
2769
3099
 
2770
3100
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -2809,6 +3139,7 @@ module MetronomeSDK
2809
3139
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2810
3140
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2811
3141
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3142
+ ?billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2812
3143
  ?custom_fields: ::Hash[Symbol, String],
2813
3144
  ?description: String,
2814
3145
  ?ending_before: Time,
@@ -2824,6 +3155,7 @@ module MetronomeSDK
2824
3155
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2825
3156
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2826
3157
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3158
+ billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2827
3159
  custom_fields: ::Hash[Symbol, String],
2828
3160
  description: String,
2829
3161
  ending_before: Time,
@@ -2849,7 +3181,8 @@ module MetronomeSDK
2849
3181
  type proration =
2850
3182
  {
2851
3183
  invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
2852
- is_prorated: bool
3184
+ is_prorated: bool,
3185
+ rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
2853
3186
  }
2854
3187
 
2855
3188
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -2863,14 +3196,22 @@ module MetronomeSDK
2863
3196
 
2864
3197
  def is_prorated=: (bool) -> bool
2865
3198
 
3199
+ attr_reader rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding?
3200
+
3201
+ def rounding=: (
3202
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3203
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3204
+
2866
3205
  def initialize: (
2867
3206
  ?invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
2868
- ?is_prorated: bool
3207
+ ?is_prorated: bool,
3208
+ ?rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
2869
3209
  ) -> void
2870
3210
 
2871
3211
  def to_hash: -> {
2872
3212
  invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
2873
- is_prorated: bool
3213
+ is_prorated: bool,
3214
+ rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
2874
3215
  }
2875
3216
 
2876
3217
  type invoice_behavior =
@@ -2884,6 +3225,40 @@ module MetronomeSDK
2884
3225
 
2885
3226
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior]
2886
3227
  end
3228
+
3229
+ type rounding =
3230
+ {
3231
+ decimal_places: Float,
3232
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3233
+ }
3234
+
3235
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
3236
+ attr_accessor decimal_places: Float
3237
+
3238
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3239
+
3240
+ def initialize: (
3241
+ decimal_places: Float,
3242
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3243
+ ) -> void
3244
+
3245
+ def to_hash: -> {
3246
+ decimal_places: Float,
3247
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3248
+ }
3249
+
3250
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3251
+
3252
+ module RoundingMethod
3253
+ extend MetronomeSDK::Internal::Type::Enum
3254
+
3255
+ HALF_UP: :HALF_UP
3256
+ FLOOR: :FLOOR
3257
+ CEILING: :CEILING
3258
+
3259
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method]
3260
+ end
3261
+ end
2887
3262
  end
2888
3263
 
2889
3264
  type subscription_rate =
@@ -2921,6 +3296,45 @@ module MetronomeSDK
2921
3296
  end
2922
3297
  end
2923
3298
 
3299
+ type billing_cycle_config =
3300
+ {
3301
+ anchor_date: Time,
3302
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3303
+ }
3304
+
3305
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
3306
+ attr_reader anchor_date: Time?
3307
+
3308
+ def anchor_date=: (Time) -> Time
3309
+
3310
+ attr_reader invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement?
3311
+
3312
+ def invoice_placement=: (
3313
+ MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3314
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3315
+
3316
+ def initialize: (
3317
+ ?anchor_date: Time,
3318
+ ?invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3319
+ ) -> void
3320
+
3321
+ def to_hash: -> {
3322
+ anchor_date: Time,
3323
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3324
+ }
3325
+
3326
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
3327
+
3328
+ module InvoicePlacement
3329
+ extend MetronomeSDK::Internal::Type::Enum
3330
+
3331
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
3332
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
3333
+
3334
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement]
3335
+ end
3336
+ end
3337
+
2924
3338
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
2925
3339
 
2926
3340
  module QuantityManagementMode
@@ -3573,7 +3987,8 @@ module MetronomeSDK
3573
3987
  is_enabled: bool,
3574
3988
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3575
3989
  recharge_to_amount: Float,
3576
- threshold_amount: Float
3990
+ threshold_amount: Float,
3991
+ threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3577
3992
  }
3578
3993
 
3579
3994
  class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -3605,6 +4020,8 @@ module MetronomeSDK
3605
4020
 
3606
4021
  def threshold_amount=: (Float) -> Float
3607
4022
 
4023
+ attr_accessor threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
4024
+
3608
4025
  def initialize: (
3609
4026
  ?commit: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3610
4027
  ?custom_credit_type_id: String?,
@@ -3612,7 +4029,8 @@ module MetronomeSDK
3612
4029
  ?is_enabled: bool,
3613
4030
  ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3614
4031
  ?recharge_to_amount: Float,
3615
- ?threshold_amount: Float
4032
+ ?threshold_amount: Float,
4033
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3616
4034
  ) -> void
3617
4035
 
3618
4036
  def to_hash: -> {
@@ -3622,7 +4040,8 @@ module MetronomeSDK
3622
4040
  is_enabled: bool,
3623
4041
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3624
4042
  recharge_to_amount: Float,
3625
- threshold_amount: Float
4043
+ threshold_amount: Float,
4044
+ threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3626
4045
  }
3627
4046
 
3628
4047
  type commit =
@@ -3664,14 +4083,115 @@ module MetronomeSDK
3664
4083
  }
3665
4084
  end
3666
4085
 
3667
- type discount_configuration = { payment_fraction: Float? }
4086
+ type discount_configuration =
4087
+ {
4088
+ cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
4089
+ payment_fraction: Float?
4090
+ }
3668
4091
 
3669
4092
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
4093
+ attr_accessor cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?
4094
+
3670
4095
  attr_accessor payment_fraction: Float?
3671
4096
 
3672
- def initialize: (?payment_fraction: Float?) -> void
4097
+ def initialize: (
4098
+ ?cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
4099
+ ?payment_fraction: Float?
4100
+ ) -> void
4101
+
4102
+ def to_hash: -> {
4103
+ cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
4104
+ payment_fraction: Float?
4105
+ }
4106
+
4107
+ type cap = { amount: Float, spend_tracker_alias: String }
4108
+
4109
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
4110
+ attr_accessor amount: Float
4111
+
4112
+ attr_accessor spend_tracker_alias: String
4113
+
4114
+ def initialize: (
4115
+ amount: Float,
4116
+ spend_tracker_alias: String
4117
+ ) -> void
3673
4118
 
3674
- def to_hash: -> { payment_fraction: Float? }
4119
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
4120
+ end
4121
+ end
4122
+
4123
+ type threshold_balance_specifier =
4124
+ {
4125
+ exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
4126
+ }
4127
+
4128
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
4129
+ attr_accessor exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
4130
+
4131
+ def initialize: (
4132
+ exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
4133
+ ) -> void
4134
+
4135
+ def to_hash: -> {
4136
+ exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
4137
+ }
4138
+
4139
+ type exclude =
4140
+ {
4141
+ custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
4142
+ }
4143
+
4144
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
4145
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
4146
+
4147
+ def initialize: (
4148
+ custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
4149
+ ) -> void
4150
+
4151
+ def to_hash: -> {
4152
+ custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
4153
+ }
4154
+
4155
+ type custom_field_filter =
4156
+ {
4157
+ entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
4158
+ key: String,
4159
+ value: String
4160
+ }
4161
+
4162
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
4163
+ attr_accessor entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
4164
+
4165
+ attr_accessor key: String
4166
+
4167
+ attr_accessor value: String
4168
+
4169
+ def initialize: (
4170
+ entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
4171
+ key: String,
4172
+ value: String
4173
+ ) -> void
4174
+
4175
+ def to_hash: -> {
4176
+ entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
4177
+ key: String,
4178
+ value: String
4179
+ }
4180
+
4181
+ type entity =
4182
+ :Commit | :ContractCredit | :ContractCreditOrCommit
4183
+
4184
+ module Entity
4185
+ extend MetronomeSDK::Internal::Type::Enum
4186
+
4187
+ COMMIT: :Commit
4188
+ CONTRACT_CREDIT: :ContractCredit
4189
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
4190
+
4191
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
4192
+ end
4193
+ end
4194
+ end
3675
4195
  end
3676
4196
  end
3677
4197
 
@@ -3681,6 +4201,7 @@ module MetronomeSDK
3681
4201
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3682
4202
  ending_before: Time?,
3683
4203
  invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4204
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3684
4205
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3685
4206
  }
3686
4207
 
@@ -3701,6 +4222,8 @@ module MetronomeSDK
3701
4222
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
3702
4223
  ) -> MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
3703
4224
 
4225
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?
4226
+
3704
4227
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type?
3705
4228
 
3706
4229
  def rate_type=: (
@@ -3712,6 +4235,7 @@ module MetronomeSDK
3712
4235
  ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3713
4236
  ?ending_before: Time?,
3714
4237
  ?invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4238
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3715
4239
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3716
4240
  ) -> void
3717
4241
 
@@ -3720,6 +4244,7 @@ module MetronomeSDK
3720
4244
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3721
4245
  ending_before: Time?,
3722
4246
  invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4247
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3723
4248
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3724
4249
  }
3725
4250
 
@@ -3755,6 +4280,96 @@ module MetronomeSDK
3755
4280
  def to_hash: -> { quantity: Float, unit_price: Float }
3756
4281
  end
3757
4282
 
4283
+ type proration_rounding =
4284
+ {
4285
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4286
+ invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4287
+ }
4288
+
4289
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4290
+ attr_accessor access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?
4291
+
4292
+ attr_accessor invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4293
+
4294
+ def initialize: (
4295
+ ?access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4296
+ ?invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4297
+ ) -> void
4298
+
4299
+ def to_hash: -> {
4300
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4301
+ invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4302
+ }
4303
+
4304
+ type access =
4305
+ {
4306
+ decimal_places: Float,
4307
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4308
+ }
4309
+
4310
+ class Access < MetronomeSDK::Internal::Type::BaseModel
4311
+ attr_accessor decimal_places: Float
4312
+
4313
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4314
+
4315
+ def initialize: (
4316
+ decimal_places: Float,
4317
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4318
+ ) -> void
4319
+
4320
+ def to_hash: -> {
4321
+ decimal_places: Float,
4322
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4323
+ }
4324
+
4325
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4326
+
4327
+ module RoundingMethod
4328
+ extend MetronomeSDK::Internal::Type::Enum
4329
+
4330
+ HALF_UP: :HALF_UP
4331
+ FLOOR: :FLOOR
4332
+ CEILING: :CEILING
4333
+
4334
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method]
4335
+ end
4336
+ end
4337
+
4338
+ type invoice =
4339
+ {
4340
+ decimal_places: Float,
4341
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4342
+ }
4343
+
4344
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
4345
+ attr_accessor decimal_places: Float
4346
+
4347
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4348
+
4349
+ def initialize: (
4350
+ decimal_places: Float,
4351
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4352
+ ) -> void
4353
+
4354
+ def to_hash: -> {
4355
+ decimal_places: Float,
4356
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4357
+ }
4358
+
4359
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4360
+
4361
+ module RoundingMethod
4362
+ extend MetronomeSDK::Internal::Type::Enum
4363
+
4364
+ HALF_UP: :HALF_UP
4365
+ FLOOR: :FLOOR
4366
+ CEILING: :CEILING
4367
+
4368
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method]
4369
+ end
4370
+ end
4371
+ end
4372
+
3758
4373
  type rate_type = :LIST_RATE | :COMMIT_RATE
3759
4374
 
3760
4375
  module RateType
@@ -3772,6 +4387,7 @@ module MetronomeSDK
3772
4387
  recurring_credit_id: String,
3773
4388
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
3774
4389
  ending_before: Time?,
4390
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
3775
4391
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
3776
4392
  }
3777
4393
 
@@ -3786,6 +4402,8 @@ module MetronomeSDK
3786
4402
 
3787
4403
  attr_accessor ending_before: Time?
3788
4404
 
4405
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?
4406
+
3789
4407
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type?
3790
4408
 
3791
4409
  def rate_type=: (
@@ -3796,6 +4414,7 @@ module MetronomeSDK
3796
4414
  recurring_credit_id: String,
3797
4415
  ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
3798
4416
  ?ending_before: Time?,
4417
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
3799
4418
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
3800
4419
  ) -> void
3801
4420
 
@@ -3803,6 +4422,7 @@ module MetronomeSDK
3803
4422
  recurring_credit_id: String,
3804
4423
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
3805
4424
  ending_before: Time?,
4425
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
3806
4426
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
3807
4427
  }
3808
4428
 
@@ -3822,6 +4442,57 @@ module MetronomeSDK
3822
4442
  def to_hash: -> { quantity: Float, unit_price: Float }
3823
4443
  end
3824
4444
 
4445
+ type proration_rounding =
4446
+ {
4447
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4448
+ }
4449
+
4450
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4451
+ attr_accessor access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4452
+
4453
+ def initialize: (
4454
+ ?access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4455
+ ) -> void
4456
+
4457
+ def to_hash: -> {
4458
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4459
+ }
4460
+
4461
+ type access =
4462
+ {
4463
+ decimal_places: Float,
4464
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4465
+ }
4466
+
4467
+ class Access < MetronomeSDK::Internal::Type::BaseModel
4468
+ attr_accessor decimal_places: Float
4469
+
4470
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4471
+
4472
+ def initialize: (
4473
+ decimal_places: Float,
4474
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4475
+ ) -> void
4476
+
4477
+ def to_hash: -> {
4478
+ decimal_places: Float,
4479
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4480
+ }
4481
+
4482
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4483
+
4484
+ module RoundingMethod
4485
+ extend MetronomeSDK::Internal::Type::Enum
4486
+
4487
+ HALF_UP: :HALF_UP
4488
+ FLOOR: :FLOOR
4489
+ CEILING: :CEILING
4490
+
4491
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method]
4492
+ end
4493
+ end
4494
+ end
4495
+
3825
4496
  type rate_type = :LIST_RATE | :COMMIT_RATE
3826
4497
 
3827
4498
  module RateType
@@ -4045,14 +4716,41 @@ module MetronomeSDK
4045
4716
  threshold_amount: Float
4046
4717
  }
4047
4718
 
4048
- type discount_configuration = { payment_fraction: Float? }
4719
+ type discount_configuration =
4720
+ {
4721
+ cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4722
+ payment_fraction: Float?
4723
+ }
4049
4724
 
4050
4725
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
4726
+ attr_accessor cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?
4727
+
4051
4728
  attr_accessor payment_fraction: Float?
4052
4729
 
4053
- def initialize: (?payment_fraction: Float?) -> void
4730
+ def initialize: (
4731
+ ?cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4732
+ ?payment_fraction: Float?
4733
+ ) -> void
4734
+
4735
+ def to_hash: -> {
4736
+ cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4737
+ payment_fraction: Float?
4738
+ }
4739
+
4740
+ type cap = { amount: Float, spend_tracker_alias: String }
4054
4741
 
4055
- def to_hash: -> { payment_fraction: Float? }
4742
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
4743
+ attr_accessor amount: Float
4744
+
4745
+ attr_accessor spend_tracker_alias: String
4746
+
4747
+ def initialize: (
4748
+ amount: Float,
4749
+ spend_tracker_alias: String
4750
+ ) -> void
4751
+
4752
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
4753
+ end
4056
4754
  end
4057
4755
  end
4058
4756
 
@@ -4060,6 +4758,7 @@ module MetronomeSDK
4060
4758
  {
4061
4759
  subscription_id: String,
4062
4760
  ending_before: Time?,
4761
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4063
4762
  quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4064
4763
  quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4065
4764
  seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
@@ -4070,6 +4769,8 @@ module MetronomeSDK
4070
4769
 
4071
4770
  attr_accessor ending_before: Time?
4072
4771
 
4772
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?
4773
+
4073
4774
  attr_reader quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate?
4074
4775
 
4075
4776
  def quantity_management_mode_update=: (
@@ -4091,6 +4792,7 @@ module MetronomeSDK
4091
4792
  def initialize: (
4092
4793
  subscription_id: String,
4093
4794
  ?ending_before: Time?,
4795
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4094
4796
  ?quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4095
4797
  ?quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4096
4798
  ?seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
@@ -4099,11 +4801,46 @@ module MetronomeSDK
4099
4801
  def to_hash: -> {
4100
4802
  subscription_id: String,
4101
4803
  ending_before: Time?,
4804
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4102
4805
  quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4103
4806
  quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4104
4807
  seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
4105
4808
  }
4106
4809
 
4810
+ type proration_rounding =
4811
+ {
4812
+ decimal_places: Float,
4813
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4814
+ }
4815
+
4816
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4817
+ attr_accessor decimal_places: Float
4818
+
4819
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4820
+
4821
+ def initialize: (
4822
+ decimal_places: Float,
4823
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4824
+ ) -> void
4825
+
4826
+ def to_hash: -> {
4827
+ decimal_places: Float,
4828
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4829
+ }
4830
+
4831
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4832
+
4833
+ module RoundingMethod
4834
+ extend MetronomeSDK::Internal::Type::Enum
4835
+
4836
+ HALF_UP: :HALF_UP
4837
+ FLOOR: :FLOOR
4838
+ CEILING: :CEILING
4839
+
4840
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method]
4841
+ end
4842
+ end
4843
+
4107
4844
  type quantity_management_mode_update =
4108
4845
  {
4109
4846
  quantity_management_mode: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate::quantity_management_mode,