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
@@ -31,6 +31,7 @@ module MetronomeSDK
31
31
  scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
32
32
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
33
33
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
34
+ spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker],
34
35
  subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
35
36
  total_contract_value: Float,
36
37
  transition: MetronomeSDK::V1::ContractCreateParams::Transition,
@@ -184,6 +185,12 @@ module MetronomeSDK
184
185
  MetronomeSDK::SpendThresholdConfiguration
185
186
  ) -> MetronomeSDK::SpendThresholdConfiguration
186
187
 
188
+ attr_reader spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker]?
189
+
190
+ def spend_trackers=: (
191
+ ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker]
192
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker]
193
+
187
194
  attr_reader subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription]?
188
195
 
189
196
  def subscriptions=: (
@@ -245,6 +252,7 @@ module MetronomeSDK
245
252
  ?scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
246
253
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
247
254
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
255
+ ?spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker],
248
256
  ?subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
249
257
  ?total_contract_value: Float,
250
258
  ?transition: MetronomeSDK::V1::ContractCreateParams::Transition,
@@ -283,6 +291,7 @@ module MetronomeSDK
283
291
  scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
284
292
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
285
293
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
294
+ spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker],
286
295
  subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
287
296
  total_contract_value: Float,
288
297
  transition: MetronomeSDK::V1::ContractCreateParams::Transition,
@@ -380,6 +389,7 @@ module MetronomeSDK
380
389
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
381
390
  rollover_fraction: Float,
382
391
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
392
+ spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
383
393
  temporary_id: String
384
394
  }
385
395
 
@@ -454,6 +464,12 @@ module MetronomeSDK
454
464
  ::Array[MetronomeSDK::CommitSpecifierInput]
455
465
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
456
466
 
467
+ attr_reader spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes?
468
+
469
+ def spend_tracker_attributes=: (
470
+ MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes
471
+ ) -> MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes
472
+
457
473
  attr_reader temporary_id: String?
458
474
 
459
475
  def temporary_id=: (String) -> String
@@ -475,6 +491,7 @@ module MetronomeSDK
475
491
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
476
492
  ?rollover_fraction: Float,
477
493
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
494
+ ?spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
478
495
  ?temporary_id: String
479
496
  ) -> void
480
497
 
@@ -495,6 +512,7 @@ module MetronomeSDK
495
512
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
496
513
  rollover_fraction: Float,
497
514
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
515
+ spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
498
516
  temporary_id: String
499
517
  }
500
518
 
@@ -726,6 +744,16 @@ module MetronomeSDK
726
744
 
727
745
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type]
728
746
  end
747
+
748
+ type spend_tracker_attributes = { counts_as_discounted: bool }
749
+
750
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
751
+ attr_accessor counts_as_discounted: bool
752
+
753
+ def initialize: (counts_as_discounted: bool) -> void
754
+
755
+ def to_hash: -> { counts_as_discounted: bool }
756
+ end
729
757
  end
730
758
 
731
759
  type credit =
@@ -1331,6 +1359,7 @@ module MetronomeSDK
1331
1359
 
1332
1360
  type override_specifier =
1333
1361
  {
1362
+ any_commit_or_credit_ids: ::Array[String],
1334
1363
  billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1335
1364
  commit_ids: ::Array[String],
1336
1365
  presentation_group_values: ::Hash[Symbol, String],
@@ -1341,6 +1370,10 @@ module MetronomeSDK
1341
1370
  }
1342
1371
 
1343
1372
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1373
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1374
+
1375
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1376
+
1344
1377
  attr_reader billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency?
1345
1378
 
1346
1379
  def billing_frequency=: (
@@ -1376,6 +1409,7 @@ module MetronomeSDK
1376
1409
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1377
1410
 
1378
1411
  def initialize: (
1412
+ ?any_commit_or_credit_ids: ::Array[String],
1379
1413
  ?billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1380
1414
  ?commit_ids: ::Array[String],
1381
1415
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1386,6 +1420,7 @@ module MetronomeSDK
1386
1420
  ) -> void
1387
1421
 
1388
1422
  def to_hash: -> {
1423
+ any_commit_or_credit_ids: ::Array[String],
1389
1424
  billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1390
1425
  commit_ids: ::Array[String],
1391
1426
  presentation_group_values: ::Hash[Symbol, String],
@@ -1598,6 +1633,7 @@ module MetronomeSDK
1598
1633
  name: String,
1599
1634
  netsuite_sales_order_id: String,
1600
1635
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1636
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding,
1601
1637
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1602
1638
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1603
1639
  rollover_fraction: Float,
@@ -1659,6 +1695,12 @@ module MetronomeSDK
1659
1695
  MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1660
1696
  ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1661
1697
 
1698
+ attr_reader proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding?
1699
+
1700
+ def proration_rounding=: (
1701
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding
1702
+ ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding
1703
+
1662
1704
  attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type?
1663
1705
 
1664
1706
  def rate_type=: (
@@ -1706,6 +1748,7 @@ module MetronomeSDK
1706
1748
  ?name: String,
1707
1749
  ?netsuite_sales_order_id: String,
1708
1750
  ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1751
+ ?proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding,
1709
1752
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1710
1753
  ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1711
1754
  ?rollover_fraction: Float,
@@ -1729,6 +1772,7 @@ module MetronomeSDK
1729
1772
  name: String,
1730
1773
  netsuite_sales_order_id: String,
1731
1774
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1775
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding,
1732
1776
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1733
1777
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1734
1778
  rollover_fraction: Float,
@@ -1834,6 +1878,104 @@ module MetronomeSDK
1834
1878
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration]
1835
1879
  end
1836
1880
 
1881
+ type proration_rounding =
1882
+ {
1883
+ access: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access,
1884
+ invoice: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice
1885
+ }
1886
+
1887
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1888
+ attr_reader access: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access?
1889
+
1890
+ def access=: (
1891
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access
1892
+ ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access
1893
+
1894
+ attr_reader invoice: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice?
1895
+
1896
+ def invoice=: (
1897
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice
1898
+ ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice
1899
+
1900
+ def initialize: (
1901
+ ?access: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access,
1902
+ ?invoice: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice
1903
+ ) -> void
1904
+
1905
+ def to_hash: -> {
1906
+ access: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access,
1907
+ invoice: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice
1908
+ }
1909
+
1910
+ type access =
1911
+ {
1912
+ decimal_places: Float,
1913
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access::rounding_method
1914
+ }
1915
+
1916
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1917
+ attr_accessor decimal_places: Float
1918
+
1919
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access::rounding_method
1920
+
1921
+ def initialize: (
1922
+ decimal_places: Float,
1923
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access::rounding_method
1924
+ ) -> void
1925
+
1926
+ def to_hash: -> {
1927
+ decimal_places: Float,
1928
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access::rounding_method
1929
+ }
1930
+
1931
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1932
+
1933
+ module RoundingMethod
1934
+ extend MetronomeSDK::Internal::Type::Enum
1935
+
1936
+ HALF_UP: :HALF_UP
1937
+ FLOOR: :FLOOR
1938
+ CEILING: :CEILING
1939
+
1940
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Access::rounding_method]
1941
+ end
1942
+ end
1943
+
1944
+ type invoice =
1945
+ {
1946
+ decimal_places: Float,
1947
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice::rounding_method
1948
+ }
1949
+
1950
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1951
+ attr_accessor decimal_places: Float
1952
+
1953
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice::rounding_method
1954
+
1955
+ def initialize: (
1956
+ decimal_places: Float,
1957
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice::rounding_method
1958
+ ) -> void
1959
+
1960
+ def to_hash: -> {
1961
+ decimal_places: Float,
1962
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice::rounding_method
1963
+ }
1964
+
1965
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1966
+
1967
+ module RoundingMethod
1968
+ extend MetronomeSDK::Internal::Type::Enum
1969
+
1970
+ HALF_UP: :HALF_UP
1971
+ FLOOR: :FLOOR
1972
+ CEILING: :CEILING
1973
+
1974
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::ProrationRounding::Invoice::rounding_method]
1975
+ end
1976
+ end
1977
+ end
1978
+
1837
1979
  type rate_type = :COMMIT_RATE | :LIST_RATE
1838
1980
 
1839
1981
  module RateType
@@ -1845,7 +1987,8 @@ module MetronomeSDK
1845
1987
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type]
1846
1988
  end
1847
1989
 
1848
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1990
+ type recurrence_frequency =
1991
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1849
1992
 
1850
1993
  module RecurrenceFrequency
1851
1994
  extend MetronomeSDK::Internal::Type::Enum
@@ -1854,6 +1997,7 @@ module MetronomeSDK
1854
1997
  QUARTERLY: :QUARTERLY
1855
1998
  ANNUAL: :ANNUAL
1856
1999
  WEEKLY: :WEEKLY
2000
+ DAILY: :DAILY
1857
2001
 
1858
2002
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency]
1859
2003
  end
@@ -1926,6 +2070,7 @@ module MetronomeSDK
1926
2070
  name: String,
1927
2071
  netsuite_sales_order_id: String,
1928
2072
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2073
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding,
1929
2074
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
1930
2075
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
1931
2076
  rollover_fraction: Float,
@@ -1981,6 +2126,12 @@ module MetronomeSDK
1981
2126
  MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
1982
2127
  ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
1983
2128
 
2129
+ attr_reader proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding?
2130
+
2131
+ def proration_rounding=: (
2132
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding
2133
+ ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding
2134
+
1984
2135
  attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type?
1985
2136
 
1986
2137
  def rate_type=: (
@@ -2027,6 +2178,7 @@ module MetronomeSDK
2027
2178
  ?name: String,
2028
2179
  ?netsuite_sales_order_id: String,
2029
2180
  ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2181
+ ?proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding,
2030
2182
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2031
2183
  ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2032
2184
  ?rollover_fraction: Float,
@@ -2049,6 +2201,7 @@ module MetronomeSDK
2049
2201
  name: String,
2050
2202
  netsuite_sales_order_id: String,
2051
2203
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2204
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding,
2052
2205
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2053
2206
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2054
2207
  rollover_fraction: Float,
@@ -2131,6 +2284,61 @@ module MetronomeSDK
2131
2284
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration]
2132
2285
  end
2133
2286
 
2287
+ type proration_rounding =
2288
+ {
2289
+ access: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access
2290
+ }
2291
+
2292
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2293
+ attr_reader access: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access?
2294
+
2295
+ def access=: (
2296
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access
2297
+ ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access
2298
+
2299
+ def initialize: (
2300
+ ?access: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access
2301
+ ) -> void
2302
+
2303
+ def to_hash: -> {
2304
+ access: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access
2305
+ }
2306
+
2307
+ type access =
2308
+ {
2309
+ decimal_places: Float,
2310
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access::rounding_method
2311
+ }
2312
+
2313
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2314
+ attr_accessor decimal_places: Float
2315
+
2316
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access::rounding_method
2317
+
2318
+ def initialize: (
2319
+ decimal_places: Float,
2320
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access::rounding_method
2321
+ ) -> void
2322
+
2323
+ def to_hash: -> {
2324
+ decimal_places: Float,
2325
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access::rounding_method
2326
+ }
2327
+
2328
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2329
+
2330
+ module RoundingMethod
2331
+ extend MetronomeSDK::Internal::Type::Enum
2332
+
2333
+ HALF_UP: :HALF_UP
2334
+ FLOOR: :FLOOR
2335
+ CEILING: :CEILING
2336
+
2337
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::ProrationRounding::Access::rounding_method]
2338
+ end
2339
+ end
2340
+ end
2341
+
2134
2342
  type rate_type = :COMMIT_RATE | :LIST_RATE
2135
2343
 
2136
2344
  module RateType
@@ -2142,7 +2350,8 @@ module MetronomeSDK
2142
2350
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type]
2143
2351
  end
2144
2352
 
2145
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2353
+ type recurrence_frequency =
2354
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2146
2355
 
2147
2356
  module RecurrenceFrequency
2148
2357
  extend MetronomeSDK::Internal::Type::Enum
@@ -2151,6 +2360,7 @@ module MetronomeSDK
2151
2360
  QUARTERLY: :QUARTERLY
2152
2361
  ANNUAL: :ANNUAL
2153
2362
  WEEKLY: :WEEKLY
2363
+ DAILY: :DAILY
2154
2364
 
2155
2365
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency]
2156
2366
  end
@@ -2621,11 +2831,118 @@ module MetronomeSDK
2621
2831
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices]
2622
2832
  end
2623
2833
 
2834
+ type spend_tracker =
2835
+ {
2836
+ alias_: String,
2837
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier],
2838
+ credit_type_id: String,
2839
+ reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2840
+ }
2841
+
2842
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2843
+ attr_accessor alias_: String
2844
+
2845
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier]
2846
+
2847
+ attr_accessor credit_type_id: String
2848
+
2849
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2850
+
2851
+ def initialize: (
2852
+ alias_: String,
2853
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier],
2854
+ credit_type_id: String,
2855
+ reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2856
+ ) -> void
2857
+
2858
+ def to_hash: -> {
2859
+ alias_: String,
2860
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier],
2861
+ credit_type_id: String,
2862
+ reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2863
+ }
2864
+
2865
+ type applicable_spend_specifier =
2866
+ {
2867
+ sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2868
+ spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2869
+ discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2870
+ }
2871
+
2872
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2873
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source]
2874
+
2875
+ attr_accessor spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type
2876
+
2877
+ attr_reader discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted?
2878
+
2879
+ def discounted=: (
2880
+ MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2881
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2882
+
2883
+ def initialize: (
2884
+ sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2885
+ spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2886
+ ?discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2887
+ ) -> void
2888
+
2889
+ def to_hash: -> {
2890
+ sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2891
+ spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2892
+ discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2893
+ }
2894
+
2895
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2896
+
2897
+ module Source
2898
+ extend MetronomeSDK::Internal::Type::Enum
2899
+
2900
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2901
+ MANUAL: :MANUAL
2902
+
2903
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source]
2904
+ end
2905
+
2906
+ type spend_type = :COMMIT_PURCHASE
2907
+
2908
+ module SpendType
2909
+ extend MetronomeSDK::Internal::Type::Enum
2910
+
2911
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2912
+
2913
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type]
2914
+ end
2915
+
2916
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2917
+
2918
+ module Discounted
2919
+ extend MetronomeSDK::Internal::Type::Enum
2920
+
2921
+ ANY: :ANY
2922
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2923
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2924
+
2925
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted]
2926
+ end
2927
+ end
2928
+
2929
+ type reset_frequency = :BILLING_PERIOD
2930
+
2931
+ module ResetFrequency
2932
+ extend MetronomeSDK::Internal::Type::Enum
2933
+
2934
+ BILLING_PERIOD: :BILLING_PERIOD
2935
+
2936
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency]
2937
+ end
2938
+ end
2939
+
2624
2940
  type subscription =
2625
2941
  {
2626
2942
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
2627
2943
  proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
2628
2944
  subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
2945
+ billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig,
2629
2946
  custom_fields: ::Hash[Symbol, String],
2630
2947
  description: String,
2631
2948
  ending_before: Time,
@@ -2644,6 +2961,12 @@ module MetronomeSDK
2644
2961
 
2645
2962
  attr_accessor subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate
2646
2963
 
2964
+ attr_reader billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig?
2965
+
2966
+ def billing_cycle_config=: (
2967
+ MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig
2968
+ ) -> MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig
2969
+
2647
2970
  attr_reader custom_fields: ::Hash[Symbol, String]?
2648
2971
 
2649
2972
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -2688,6 +3011,7 @@ module MetronomeSDK
2688
3011
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
2689
3012
  proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
2690
3013
  subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3014
+ ?billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig,
2691
3015
  ?custom_fields: ::Hash[Symbol, String],
2692
3016
  ?description: String,
2693
3017
  ?ending_before: Time,
@@ -2703,6 +3027,7 @@ module MetronomeSDK
2703
3027
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
2704
3028
  proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
2705
3029
  subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3030
+ billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig,
2706
3031
  custom_fields: ::Hash[Symbol, String],
2707
3032
  description: String,
2708
3033
  ending_before: Time,
@@ -2728,7 +3053,8 @@ module MetronomeSDK
2728
3053
  type proration =
2729
3054
  {
2730
3055
  invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
2731
- is_prorated: bool
3056
+ is_prorated: bool,
3057
+ rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
2732
3058
  }
2733
3059
 
2734
3060
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -2742,14 +3068,22 @@ module MetronomeSDK
2742
3068
 
2743
3069
  def is_prorated=: (bool) -> bool
2744
3070
 
3071
+ attr_reader rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding?
3072
+
3073
+ def rounding=: (
3074
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
3075
+ ) -> MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
3076
+
2745
3077
  def initialize: (
2746
3078
  ?invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
2747
- ?is_prorated: bool
3079
+ ?is_prorated: bool,
3080
+ ?rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
2748
3081
  ) -> void
2749
3082
 
2750
3083
  def to_hash: -> {
2751
3084
  invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
2752
- is_prorated: bool
3085
+ is_prorated: bool,
3086
+ rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
2753
3087
  }
2754
3088
 
2755
3089
  type invoice_behavior =
@@ -2763,6 +3097,40 @@ module MetronomeSDK
2763
3097
 
2764
3098
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior]
2765
3099
  end
3100
+
3101
+ type rounding =
3102
+ {
3103
+ decimal_places: Float,
3104
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::Rounding::rounding_method
3105
+ }
3106
+
3107
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
3108
+ attr_accessor decimal_places: Float
3109
+
3110
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::Rounding::rounding_method
3111
+
3112
+ def initialize: (
3113
+ decimal_places: Float,
3114
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::Rounding::rounding_method
3115
+ ) -> void
3116
+
3117
+ def to_hash: -> {
3118
+ decimal_places: Float,
3119
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::Rounding::rounding_method
3120
+ }
3121
+
3122
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3123
+
3124
+ module RoundingMethod
3125
+ extend MetronomeSDK::Internal::Type::Enum
3126
+
3127
+ HALF_UP: :HALF_UP
3128
+ FLOOR: :FLOOR
3129
+ CEILING: :CEILING
3130
+
3131
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::Rounding::rounding_method]
3132
+ end
3133
+ end
2766
3134
  end
2767
3135
 
2768
3136
  type subscription_rate =
@@ -2800,6 +3168,45 @@ module MetronomeSDK
2800
3168
  end
2801
3169
  end
2802
3170
 
3171
+ type billing_cycle_config =
3172
+ {
3173
+ anchor_date: Time,
3174
+ invoice_placement: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement
3175
+ }
3176
+
3177
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
3178
+ attr_reader anchor_date: Time?
3179
+
3180
+ def anchor_date=: (Time) -> Time
3181
+
3182
+ attr_reader invoice_placement: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement?
3183
+
3184
+ def invoice_placement=: (
3185
+ MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement
3186
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement
3187
+
3188
+ def initialize: (
3189
+ ?anchor_date: Time,
3190
+ ?invoice_placement: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement
3191
+ ) -> void
3192
+
3193
+ def to_hash: -> {
3194
+ anchor_date: Time,
3195
+ invoice_placement: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement
3196
+ }
3197
+
3198
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
3199
+
3200
+ module InvoicePlacement
3201
+ extend MetronomeSDK::Internal::Type::Enum
3202
+
3203
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
3204
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
3205
+
3206
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::BillingCycleConfig::invoice_placement]
3207
+ end
3208
+ end
3209
+
2803
3210
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
2804
3211
 
2805
3212
  module QuantityManagementMode