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
@@ -825,6 +825,7 @@ module MetronomeSDK
825
825
 
826
826
  type override_specifier =
827
827
  {
828
+ any_commit_or_credit_ids: ::Array[String],
828
829
  billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::billing_frequency,
829
830
  commit_ids: ::Array[String],
830
831
  presentation_group_values: ::Hash[Symbol, String?],
@@ -835,6 +836,12 @@ module MetronomeSDK
835
836
  }
836
837
 
837
838
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
839
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
840
+
841
+ def any_commit_or_credit_ids=: (
842
+ ::Array[String]
843
+ ) -> ::Array[String]
844
+
838
845
  attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::billing_frequency?
839
846
 
840
847
  def billing_frequency=: (
@@ -870,6 +877,7 @@ module MetronomeSDK
870
877
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
871
878
 
872
879
  def initialize: (
880
+ ?any_commit_or_credit_ids: ::Array[String],
873
881
  ?billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::billing_frequency,
874
882
  ?commit_ids: ::Array[String],
875
883
  ?presentation_group_values: ::Hash[Symbol, String?],
@@ -880,6 +888,7 @@ module MetronomeSDK
880
888
  ) -> void
881
889
 
882
890
  def to_hash: -> {
891
+ any_commit_or_credit_ids: ::Array[String],
883
892
  billing_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::billing_frequency,
884
893
  commit_ids: ::Array[String],
885
894
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1042,6 +1051,7 @@ module MetronomeSDK
1042
1051
  name: String,
1043
1052
  netsuite_sales_order_id: String,
1044
1053
  proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::proration,
1054
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding?,
1045
1055
  recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::recurrence_frequency,
1046
1056
  rollover_fraction: Float,
1047
1057
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1111,6 +1121,8 @@ module MetronomeSDK
1111
1121
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::proration
1112
1122
  ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::proration
1113
1123
 
1124
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding?
1125
+
1114
1126
  attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::recurrence_frequency?
1115
1127
 
1116
1128
  def recurrence_frequency=: (
@@ -1151,6 +1163,7 @@ module MetronomeSDK
1151
1163
  ?name: String,
1152
1164
  ?netsuite_sales_order_id: String,
1153
1165
  ?proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::proration,
1166
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding?,
1154
1167
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::recurrence_frequency,
1155
1168
  ?rollover_fraction: Float,
1156
1169
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1175,6 +1188,7 @@ module MetronomeSDK
1175
1188
  name: String,
1176
1189
  netsuite_sales_order_id: String,
1177
1190
  proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::proration,
1191
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding?,
1178
1192
  recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::recurrence_frequency,
1179
1193
  rollover_fraction: Float,
1180
1194
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1311,8 +1325,106 @@ module MetronomeSDK
1311
1325
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::proration]
1312
1326
  end
1313
1327
 
1328
+ type proration_rounding =
1329
+ {
1330
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access,
1331
+ invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice
1332
+ }
1333
+
1334
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1335
+ attr_reader access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access?
1336
+
1337
+ def access=: (
1338
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access
1339
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access
1340
+
1341
+ attr_reader invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice?
1342
+
1343
+ def invoice=: (
1344
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice
1345
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice
1346
+
1347
+ def initialize: (
1348
+ ?access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access,
1349
+ ?invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice
1350
+ ) -> void
1351
+
1352
+ def to_hash: -> {
1353
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access,
1354
+ invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice
1355
+ }
1356
+
1357
+ type access =
1358
+ {
1359
+ decimal_places: Float,
1360
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::rounding_method
1361
+ }
1362
+
1363
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1364
+ attr_accessor decimal_places: Float
1365
+
1366
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::rounding_method
1367
+
1368
+ def initialize: (
1369
+ decimal_places: Float,
1370
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::rounding_method
1371
+ ) -> void
1372
+
1373
+ def to_hash: -> {
1374
+ decimal_places: Float,
1375
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::rounding_method
1376
+ }
1377
+
1378
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1379
+
1380
+ module RoundingMethod
1381
+ extend MetronomeSDK::Internal::Type::Enum
1382
+
1383
+ HALF_UP: :HALF_UP
1384
+ FLOOR: :FLOOR
1385
+ CEILING: :CEILING
1386
+
1387
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::rounding_method]
1388
+ end
1389
+ end
1390
+
1391
+ type invoice =
1392
+ {
1393
+ decimal_places: Float,
1394
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1395
+ }
1396
+
1397
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1398
+ attr_accessor decimal_places: Float
1399
+
1400
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1401
+
1402
+ def initialize: (
1403
+ decimal_places: Float,
1404
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1405
+ ) -> void
1406
+
1407
+ def to_hash: -> {
1408
+ decimal_places: Float,
1409
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
1410
+ }
1411
+
1412
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1413
+
1414
+ module RoundingMethod
1415
+ extend MetronomeSDK::Internal::Type::Enum
1416
+
1417
+ HALF_UP: :HALF_UP
1418
+ FLOOR: :FLOOR
1419
+ CEILING: :CEILING
1420
+
1421
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::rounding_method]
1422
+ end
1423
+ end
1424
+ end
1425
+
1314
1426
  type recurrence_frequency =
1315
- :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1427
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1316
1428
 
1317
1429
  module RecurrenceFrequency
1318
1430
  extend MetronomeSDK::Internal::Type::Enum
@@ -1321,6 +1433,7 @@ module MetronomeSDK
1321
1433
  QUARTERLY: :QUARTERLY
1322
1434
  ANNUAL: :ANNUAL
1323
1435
  WEEKLY: :WEEKLY
1436
+ DAILY: :DAILY
1324
1437
 
1325
1438
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::recurrence_frequency]
1326
1439
  end
@@ -1344,6 +1457,7 @@ module MetronomeSDK
1344
1457
  name: String,
1345
1458
  netsuite_sales_order_id: String,
1346
1459
  proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::proration,
1460
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding?,
1347
1461
  recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::recurrence_frequency,
1348
1462
  rollover_fraction: Float,
1349
1463
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1407,6 +1521,8 @@ module MetronomeSDK
1407
1521
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::proration
1408
1522
  ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::proration
1409
1523
 
1524
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding?
1525
+
1410
1526
  attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::recurrence_frequency?
1411
1527
 
1412
1528
  def recurrence_frequency=: (
@@ -1446,6 +1562,7 @@ module MetronomeSDK
1446
1562
  ?name: String,
1447
1563
  ?netsuite_sales_order_id: String,
1448
1564
  ?proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::proration,
1565
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding?,
1449
1566
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::recurrence_frequency,
1450
1567
  ?rollover_fraction: Float,
1451
1568
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1469,6 +1586,7 @@ module MetronomeSDK
1469
1586
  name: String,
1470
1587
  netsuite_sales_order_id: String,
1471
1588
  proration: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::proration,
1589
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding?,
1472
1590
  recurrence_frequency: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::recurrence_frequency,
1473
1591
  rollover_fraction: Float,
1474
1592
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1582,8 +1700,63 @@ module MetronomeSDK
1582
1700
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::proration]
1583
1701
  end
1584
1702
 
1703
+ type proration_rounding =
1704
+ {
1705
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access
1706
+ }
1707
+
1708
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1709
+ attr_reader access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access?
1710
+
1711
+ def access=: (
1712
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access
1713
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access
1714
+
1715
+ def initialize: (
1716
+ ?access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access
1717
+ ) -> void
1718
+
1719
+ def to_hash: -> {
1720
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access
1721
+ }
1722
+
1723
+ type access =
1724
+ {
1725
+ decimal_places: Float,
1726
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::rounding_method
1727
+ }
1728
+
1729
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1730
+ attr_accessor decimal_places: Float
1731
+
1732
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::rounding_method
1733
+
1734
+ def initialize: (
1735
+ decimal_places: Float,
1736
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::rounding_method
1737
+ ) -> void
1738
+
1739
+ def to_hash: -> {
1740
+ decimal_places: Float,
1741
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::rounding_method
1742
+ }
1743
+
1744
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1745
+
1746
+ module RoundingMethod
1747
+ extend MetronomeSDK::Internal::Type::Enum
1748
+
1749
+ HALF_UP: :HALF_UP
1750
+ FLOOR: :FLOOR
1751
+ CEILING: :CEILING
1752
+
1753
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::rounding_method]
1754
+ end
1755
+ end
1756
+ end
1757
+
1585
1758
  type recurrence_frequency =
1586
- :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1759
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1587
1760
 
1588
1761
  module RecurrenceFrequency
1589
1762
  extend MetronomeSDK::Internal::Type::Enum
@@ -1592,6 +1765,7 @@ module MetronomeSDK
1592
1765
  QUARTERLY: :QUARTERLY
1593
1766
  ANNUAL: :ANNUAL
1594
1767
  WEEKLY: :WEEKLY
1768
+ DAILY: :DAILY
1595
1769
 
1596
1770
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::recurrence_frequency]
1597
1771
  end
@@ -1773,6 +1947,7 @@ module MetronomeSDK
1773
1947
  starting_at: Time,
1774
1948
  subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate,
1775
1949
  id: String,
1950
+ billing_cycle_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig,
1776
1951
  custom_fields: ::Hash[Symbol, String],
1777
1952
  description: String,
1778
1953
  ending_before: Time,
@@ -1800,6 +1975,12 @@ module MetronomeSDK
1800
1975
 
1801
1976
  def id=: (String) -> String
1802
1977
 
1978
+ attr_reader billing_cycle_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig?
1979
+
1980
+ def billing_cycle_config=: (
1981
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig
1982
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig
1983
+
1803
1984
  attr_reader custom_fields: ::Hash[Symbol, String]?
1804
1985
 
1805
1986
  def custom_fields=: (
@@ -1837,6 +2018,7 @@ module MetronomeSDK
1837
2018
  starting_at: Time,
1838
2019
  subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate,
1839
2020
  ?id: String,
2021
+ ?billing_cycle_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig,
1840
2022
  ?custom_fields: ::Hash[Symbol, String],
1841
2023
  ?description: String,
1842
2024
  ?ending_before: Time,
@@ -1854,6 +2036,7 @@ module MetronomeSDK
1854
2036
  starting_at: Time,
1855
2037
  subscription_rate: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate,
1856
2038
  id: String,
2039
+ billing_cycle_config: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig,
1857
2040
  custom_fields: ::Hash[Symbol, String],
1858
2041
  description: String,
1859
2042
  ending_before: Time,
@@ -1951,7 +2134,8 @@ module MetronomeSDK
1951
2134
  type proration =
1952
2135
  {
1953
2136
  invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior,
1954
- is_prorated: bool
2137
+ is_prorated: bool,
2138
+ rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding
1955
2139
  }
1956
2140
 
1957
2141
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -1959,14 +2143,22 @@ module MetronomeSDK
1959
2143
 
1960
2144
  attr_accessor is_prorated: bool
1961
2145
 
2146
+ attr_reader rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding?
2147
+
2148
+ def rounding=: (
2149
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding
2150
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding
2151
+
1962
2152
  def initialize: (
1963
2153
  invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior,
1964
- is_prorated: bool
2154
+ is_prorated: bool,
2155
+ ?rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding
1965
2156
  ) -> void
1966
2157
 
1967
2158
  def to_hash: -> {
1968
2159
  invoice_behavior: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior,
1969
- is_prorated: bool
2160
+ is_prorated: bool,
2161
+ rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding
1970
2162
  }
1971
2163
 
1972
2164
  type invoice_behavior =
@@ -1980,6 +2172,40 @@ module MetronomeSDK
1980
2172
 
1981
2173
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::invoice_behavior]
1982
2174
  end
2175
+
2176
+ type rounding =
2177
+ {
2178
+ decimal_places: Float,
2179
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::rounding_method
2180
+ }
2181
+
2182
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2183
+ attr_accessor decimal_places: Float
2184
+
2185
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::rounding_method
2186
+
2187
+ def initialize: (
2188
+ decimal_places: Float,
2189
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::rounding_method
2190
+ ) -> void
2191
+
2192
+ def to_hash: -> {
2193
+ decimal_places: Float,
2194
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::rounding_method
2195
+ }
2196
+
2197
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2198
+
2199
+ module RoundingMethod
2200
+ extend MetronomeSDK::Internal::Type::Enum
2201
+
2202
+ HALF_UP: :HALF_UP
2203
+ FLOOR: :FLOOR
2204
+ CEILING: :CEILING
2205
+
2206
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::rounding_method]
2207
+ end
2208
+ end
1983
2209
  end
1984
2210
 
1985
2211
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
@@ -2065,6 +2291,39 @@ module MetronomeSDK
2065
2291
  end
2066
2292
  end
2067
2293
 
2294
+ type billing_cycle_config =
2295
+ {
2296
+ anchor_date: Time,
2297
+ invoice_placement: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::invoice_placement
2298
+ }
2299
+
2300
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2301
+ attr_accessor anchor_date: Time
2302
+
2303
+ attr_accessor invoice_placement: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::invoice_placement
2304
+
2305
+ def initialize: (
2306
+ anchor_date: Time,
2307
+ invoice_placement: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::invoice_placement
2308
+ ) -> void
2309
+
2310
+ def to_hash: -> {
2311
+ anchor_date: Time,
2312
+ invoice_placement: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::invoice_placement
2313
+ }
2314
+
2315
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
2316
+
2317
+ module InvoicePlacement
2318
+ extend MetronomeSDK::Internal::Type::Enum
2319
+
2320
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
2321
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
2322
+
2323
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::invoice_placement]
2324
+ end
2325
+ end
2326
+
2068
2327
  type seat_config = { seat_group_key: String }
2069
2328
 
2070
2329
  class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -2942,7 +3201,8 @@ module MetronomeSDK
2942
3201
  is_enabled: bool,
2943
3202
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2944
3203
  recharge_to_amount: Float,
2945
- threshold_amount: Float
3204
+ threshold_amount: Float,
3205
+ threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
2946
3206
  }
2947
3207
 
2948
3208
  class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -2974,6 +3234,8 @@ module MetronomeSDK
2974
3234
 
2975
3235
  def threshold_amount=: (Float) -> Float
2976
3236
 
3237
+ attr_accessor threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3238
+
2977
3239
  def initialize: (
2978
3240
  ?commit: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit,
2979
3241
  ?custom_credit_type_id: String?,
@@ -2981,7 +3243,8 @@ module MetronomeSDK
2981
3243
  ?is_enabled: bool,
2982
3244
  ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2983
3245
  ?recharge_to_amount: Float,
2984
- ?threshold_amount: Float
3246
+ ?threshold_amount: Float,
3247
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
2985
3248
  ) -> void
2986
3249
 
2987
3250
  def to_hash: -> {
@@ -2991,7 +3254,8 @@ module MetronomeSDK
2991
3254
  is_enabled: bool,
2992
3255
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
2993
3256
  recharge_to_amount: Float,
2994
- threshold_amount: Float
3257
+ threshold_amount: Float,
3258
+ threshold_balance_specifiers: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
2995
3259
  }
2996
3260
 
2997
3261
  type commit =
@@ -3033,14 +3297,115 @@ module MetronomeSDK
3033
3297
  }
3034
3298
  end
3035
3299
 
3036
- type discount_configuration = { payment_fraction: Float? }
3300
+ type discount_configuration =
3301
+ {
3302
+ cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3303
+ payment_fraction: Float?
3304
+ }
3037
3305
 
3038
3306
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3307
+ attr_accessor cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?
3308
+
3039
3309
  attr_accessor payment_fraction: Float?
3040
3310
 
3041
- def initialize: (?payment_fraction: Float?) -> void
3311
+ def initialize: (
3312
+ ?cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3313
+ ?payment_fraction: Float?
3314
+ ) -> void
3315
+
3316
+ def to_hash: -> {
3317
+ cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3318
+ payment_fraction: Float?
3319
+ }
3320
+
3321
+ type cap = { amount: Float, spend_tracker_alias: String }
3042
3322
 
3043
- def to_hash: -> { payment_fraction: Float? }
3323
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
3324
+ attr_accessor amount: Float
3325
+
3326
+ attr_accessor spend_tracker_alias: String
3327
+
3328
+ def initialize: (
3329
+ amount: Float,
3330
+ spend_tracker_alias: String
3331
+ ) -> void
3332
+
3333
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
3334
+ end
3335
+ end
3336
+
3337
+ type threshold_balance_specifier =
3338
+ {
3339
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3340
+ }
3341
+
3342
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
3343
+ attr_accessor exclude: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3344
+
3345
+ def initialize: (
3346
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3347
+ ) -> void
3348
+
3349
+ def to_hash: -> {
3350
+ exclude: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3351
+ }
3352
+
3353
+ type exclude =
3354
+ {
3355
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3356
+ }
3357
+
3358
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
3359
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3360
+
3361
+ def initialize: (
3362
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3363
+ ) -> void
3364
+
3365
+ def to_hash: -> {
3366
+ custom_field_filters: ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3367
+ }
3368
+
3369
+ type custom_field_filter =
3370
+ {
3371
+ entity: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3372
+ key: String,
3373
+ value: String
3374
+ }
3375
+
3376
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
3377
+ attr_accessor entity: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
3378
+
3379
+ attr_accessor key: String
3380
+
3381
+ attr_accessor value: String
3382
+
3383
+ def initialize: (
3384
+ entity: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3385
+ key: String,
3386
+ value: String
3387
+ ) -> void
3388
+
3389
+ def to_hash: -> {
3390
+ entity: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3391
+ key: String,
3392
+ value: String
3393
+ }
3394
+
3395
+ type entity =
3396
+ :Commit | :ContractCredit | :ContractCreditOrCommit
3397
+
3398
+ module Entity
3399
+ extend MetronomeSDK::Internal::Type::Enum
3400
+
3401
+ COMMIT: :Commit
3402
+ CONTRACT_CREDIT: :ContractCredit
3403
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
3404
+
3405
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
3406
+ end
3407
+ end
3408
+ end
3044
3409
  end
3045
3410
  end
3046
3411
 
@@ -3050,6 +3415,7 @@ module MetronomeSDK
3050
3415
  access_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount,
3051
3416
  ending_before: Time,
3052
3417
  invoice_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount,
3418
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding?,
3053
3419
  rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::rate_type
3054
3420
  }
3055
3421
 
@@ -3072,6 +3438,8 @@ module MetronomeSDK
3072
3438
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount
3073
3439
  ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount
3074
3440
 
3441
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding?
3442
+
3075
3443
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::rate_type?
3076
3444
 
3077
3445
  def rate_type=: (
@@ -3083,6 +3451,7 @@ module MetronomeSDK
3083
3451
  ?access_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount,
3084
3452
  ?ending_before: Time,
3085
3453
  ?invoice_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount,
3454
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding?,
3086
3455
  ?rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::rate_type
3087
3456
  ) -> void
3088
3457
 
@@ -3091,6 +3460,7 @@ module MetronomeSDK
3091
3460
  access_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount,
3092
3461
  ending_before: Time,
3093
3462
  invoice_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount,
3463
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding?,
3094
3464
  rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::rate_type
3095
3465
  }
3096
3466
 
@@ -3126,6 +3496,104 @@ module MetronomeSDK
3126
3496
  def to_hash: -> { quantity: Float, unit_price: Float }
3127
3497
  end
3128
3498
 
3499
+ type proration_rounding =
3500
+ {
3501
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access,
3502
+ invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice
3503
+ }
3504
+
3505
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3506
+ attr_reader access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access?
3507
+
3508
+ def access=: (
3509
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access
3510
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access
3511
+
3512
+ attr_reader invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice?
3513
+
3514
+ def invoice=: (
3515
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice
3516
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice
3517
+
3518
+ def initialize: (
3519
+ ?access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access,
3520
+ ?invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice
3521
+ ) -> void
3522
+
3523
+ def to_hash: -> {
3524
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access,
3525
+ invoice: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice
3526
+ }
3527
+
3528
+ type access =
3529
+ {
3530
+ decimal_places: Float,
3531
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3532
+ }
3533
+
3534
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3535
+ attr_accessor decimal_places: Float
3536
+
3537
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3538
+
3539
+ def initialize: (
3540
+ decimal_places: Float,
3541
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3542
+ ) -> void
3543
+
3544
+ def to_hash: -> {
3545
+ decimal_places: Float,
3546
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
3547
+ }
3548
+
3549
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3550
+
3551
+ module RoundingMethod
3552
+ extend MetronomeSDK::Internal::Type::Enum
3553
+
3554
+ HALF_UP: :HALF_UP
3555
+ FLOOR: :FLOOR
3556
+ CEILING: :CEILING
3557
+
3558
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::rounding_method]
3559
+ end
3560
+ end
3561
+
3562
+ type invoice =
3563
+ {
3564
+ decimal_places: Float,
3565
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3566
+ }
3567
+
3568
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
3569
+ attr_accessor decimal_places: Float
3570
+
3571
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3572
+
3573
+ def initialize: (
3574
+ decimal_places: Float,
3575
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3576
+ ) -> void
3577
+
3578
+ def to_hash: -> {
3579
+ decimal_places: Float,
3580
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
3581
+ }
3582
+
3583
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3584
+
3585
+ module RoundingMethod
3586
+ extend MetronomeSDK::Internal::Type::Enum
3587
+
3588
+ HALF_UP: :HALF_UP
3589
+ FLOOR: :FLOOR
3590
+ CEILING: :CEILING
3591
+
3592
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method]
3593
+ end
3594
+ end
3595
+ end
3596
+
3129
3597
  type rate_type = :LIST_RATE | :COMMIT_RATE
3130
3598
 
3131
3599
  module RateType
@@ -3143,6 +3611,7 @@ module MetronomeSDK
3143
3611
  id: String,
3144
3612
  access_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount,
3145
3613
  ending_before: Time,
3614
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding?,
3146
3615
  rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::rate_type
3147
3616
  }
3148
3617
 
@@ -3159,6 +3628,8 @@ module MetronomeSDK
3159
3628
 
3160
3629
  def ending_before=: (Time) -> Time
3161
3630
 
3631
+ attr_accessor proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding?
3632
+
3162
3633
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::rate_type?
3163
3634
 
3164
3635
  def rate_type=: (
@@ -3169,6 +3640,7 @@ module MetronomeSDK
3169
3640
  id: String,
3170
3641
  ?access_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount,
3171
3642
  ?ending_before: Time,
3643
+ ?proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding?,
3172
3644
  ?rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::rate_type
3173
3645
  ) -> void
3174
3646
 
@@ -3176,6 +3648,7 @@ module MetronomeSDK
3176
3648
  id: String,
3177
3649
  access_amount: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount,
3178
3650
  ending_before: Time,
3651
+ proration_rounding: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding?,
3179
3652
  rate_type: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::rate_type
3180
3653
  }
3181
3654
 
@@ -3195,6 +3668,61 @@ module MetronomeSDK
3195
3668
  def to_hash: -> { quantity: Float, unit_price: Float }
3196
3669
  end
3197
3670
 
3671
+ type proration_rounding =
3672
+ {
3673
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access
3674
+ }
3675
+
3676
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3677
+ attr_reader access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access?
3678
+
3679
+ def access=: (
3680
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access
3681
+ ) -> MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access
3682
+
3683
+ def initialize: (
3684
+ ?access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access
3685
+ ) -> void
3686
+
3687
+ def to_hash: -> {
3688
+ access: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access
3689
+ }
3690
+
3691
+ type access =
3692
+ {
3693
+ decimal_places: Float,
3694
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3695
+ }
3696
+
3697
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3698
+ attr_accessor decimal_places: Float
3699
+
3700
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3701
+
3702
+ def initialize: (
3703
+ decimal_places: Float,
3704
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3705
+ ) -> void
3706
+
3707
+ def to_hash: -> {
3708
+ decimal_places: Float,
3709
+ rounding_method: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
3710
+ }
3711
+
3712
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3713
+
3714
+ module RoundingMethod
3715
+ extend MetronomeSDK::Internal::Type::Enum
3716
+
3717
+ HALF_UP: :HALF_UP
3718
+ FLOOR: :FLOOR
3719
+ CEILING: :CEILING
3720
+
3721
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::rounding_method]
3722
+ end
3723
+ end
3724
+ end
3725
+
3198
3726
  type rate_type = :LIST_RATE | :COMMIT_RATE
3199
3727
 
3200
3728
  module RateType
@@ -3437,14 +3965,41 @@ module MetronomeSDK
3437
3965
  threshold_amount: Float
3438
3966
  }
3439
3967
 
3440
- type discount_configuration = { payment_fraction: Float? }
3968
+ type discount_configuration =
3969
+ {
3970
+ cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
3971
+ payment_fraction: Float?
3972
+ }
3441
3973
 
3442
3974
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3975
+ attr_accessor cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?
3976
+
3443
3977
  attr_accessor payment_fraction: Float?
3444
3978
 
3445
- def initialize: (?payment_fraction: Float?) -> void
3979
+ def initialize: (
3980
+ ?cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
3981
+ ?payment_fraction: Float?
3982
+ ) -> void
3983
+
3984
+ def to_hash: -> {
3985
+ cap: MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
3986
+ payment_fraction: Float?
3987
+ }
3988
+
3989
+ type cap = { amount: Float, spend_tracker_alias: String }
3446
3990
 
3447
- def to_hash: -> { payment_fraction: Float? }
3991
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
3992
+ attr_accessor amount: Float
3993
+
3994
+ attr_accessor spend_tracker_alias: String
3995
+
3996
+ def initialize: (
3997
+ amount: Float,
3998
+ spend_tracker_alias: String
3999
+ ) -> void
4000
+
4001
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
4002
+ end
3448
4003
  end
3449
4004
  end
3450
4005