metronome-sdk 3.7.0 → 3.9.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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/models/commit.rb +10 -1
  6. data/lib/metronome_sdk/models/contract.rb +46 -16
  7. data/lib/metronome_sdk/models/contract_v2.rb +645 -16
  8. data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
  9. data/lib/metronome_sdk/models/credit.rb +10 -1
  10. data/lib/metronome_sdk/models/override.rb +7 -1
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
  13. data/lib/metronome_sdk/models/subscription.rb +90 -2
  14. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  15. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
  16. data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
  17. data/lib/metronome_sdk/models/v1/contract_create_response.rb +243 -17
  18. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  19. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  21. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  22. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  23. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  25. data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
  26. data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
  27. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
  28. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +517 -9
  29. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
  30. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
  31. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  32. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  33. data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
  34. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  35. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  36. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  37. data/lib/metronome_sdk/version.rb +1 -1
  38. data/lib/metronome_sdk.rb +2 -0
  39. data/rbi/metronome_sdk/models/commit.rbi +13 -0
  40. data/rbi/metronome_sdk/models/contract.rbi +47 -22
  41. data/rbi/metronome_sdk/models/contract_v2.rbi +1472 -96
  42. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
  43. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  44. data/rbi/metronome_sdk/models/override.rbi +9 -0
  45. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
  46. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
  47. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  48. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  49. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
  50. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
  51. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +523 -32
  52. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  53. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  54. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  55. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  56. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  57. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  58. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  59. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
  60. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
  61. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
  62. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1372 -69
  63. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
  64. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
  65. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  66. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  67. data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
  68. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  69. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  70. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  71. data/sig/metronome_sdk/models/commit.rbs +7 -0
  72. data/sig/metronome_sdk/models/contract.rbs +22 -11
  73. data/sig/metronome_sdk/models/contract_v2.rbs +559 -8
  74. data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
  75. data/sig/metronome_sdk/models/credit.rbs +7 -0
  76. data/sig/metronome_sdk/models/override.rbs +7 -0
  77. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  78. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  79. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
  80. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
  81. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +197 -17
  82. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  83. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  84. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  85. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  86. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  87. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  88. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  89. data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
  90. data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
  91. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
  92. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +472 -7
  93. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
  94. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
  95. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  96. data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
  97. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  98. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  99. metadata +8 -2
@@ -422,12 +422,13 @@ module MetronomeSDK
422
422
  effective_at: MetronomeSDK::Models::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::effective_at
423
423
  }
424
424
 
425
- type effective_at = :START_OF_CURRENT_PERIOD
425
+ type effective_at = :START_OF_CURRENT_PERIOD | :START_OF_NEXT_PERIOD
426
426
 
427
427
  module EffectiveAt
428
428
  extend MetronomeSDK::Internal::Type::Enum
429
429
 
430
430
  START_OF_CURRENT_PERIOD: :START_OF_CURRENT_PERIOD
431
+ START_OF_NEXT_PERIOD: :START_OF_NEXT_PERIOD
431
432
 
432
433
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddBillingProviderConfigurationUpdate::Schedule::effective_at]
433
434
  end
@@ -1438,6 +1439,7 @@ module MetronomeSDK
1438
1439
 
1439
1440
  type override_specifier =
1440
1441
  {
1442
+ any_commit_or_credit_ids: ::Array[String],
1441
1443
  billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1442
1444
  commit_ids: ::Array[String],
1443
1445
  presentation_group_values: ::Hash[Symbol, String],
@@ -1448,6 +1450,10 @@ module MetronomeSDK
1448
1450
  }
1449
1451
 
1450
1452
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1453
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1454
+
1455
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1456
+
1451
1457
  attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency?
1452
1458
 
1453
1459
  def billing_frequency=: (
@@ -1483,6 +1489,7 @@ module MetronomeSDK
1483
1489
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1484
1490
 
1485
1491
  def initialize: (
1492
+ ?any_commit_or_credit_ids: ::Array[String],
1486
1493
  ?billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1487
1494
  ?commit_ids: ::Array[String],
1488
1495
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1493,6 +1500,7 @@ module MetronomeSDK
1493
1500
  ) -> void
1494
1501
 
1495
1502
  def to_hash: -> {
1503
+ any_commit_or_credit_ids: ::Array[String],
1496
1504
  billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1497
1505
  commit_ids: ::Array[String],
1498
1506
  presentation_group_values: ::Hash[Symbol, String],
@@ -1705,6 +1713,7 @@ module MetronomeSDK
1705
1713
  name: String,
1706
1714
  netsuite_sales_order_id: String,
1707
1715
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1716
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1708
1717
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1709
1718
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1710
1719
  rollover_fraction: Float,
@@ -1766,6 +1775,12 @@ module MetronomeSDK
1766
1775
  MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1767
1776
  ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1768
1777
 
1778
+ attr_reader proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding?
1779
+
1780
+ def proration_rounding=: (
1781
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
1782
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
1783
+
1769
1784
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type?
1770
1785
 
1771
1786
  def rate_type=: (
@@ -1813,6 +1828,7 @@ module MetronomeSDK
1813
1828
  ?name: String,
1814
1829
  ?netsuite_sales_order_id: String,
1815
1830
  ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1831
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1816
1832
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1817
1833
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1818
1834
  ?rollover_fraction: Float,
@@ -1836,6 +1852,7 @@ module MetronomeSDK
1836
1852
  name: String,
1837
1853
  netsuite_sales_order_id: String,
1838
1854
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1855
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1839
1856
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1840
1857
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1841
1858
  rollover_fraction: Float,
@@ -1941,6 +1958,104 @@ module MetronomeSDK
1941
1958
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration]
1942
1959
  end
1943
1960
 
1961
+ type proration_rounding =
1962
+ {
1963
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1964
+ invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1965
+ }
1966
+
1967
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1968
+ attr_reader access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access?
1969
+
1970
+ def access=: (
1971
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
1972
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
1973
+
1974
+ attr_reader invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice?
1975
+
1976
+ def invoice=: (
1977
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1978
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1979
+
1980
+ def initialize: (
1981
+ ?access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1982
+ ?invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1983
+ ) -> void
1984
+
1985
+ def to_hash: -> {
1986
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1987
+ invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1988
+ }
1989
+
1990
+ type access =
1991
+ {
1992
+ decimal_places: Float,
1993
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
1994
+ }
1995
+
1996
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1997
+ attr_accessor decimal_places: Float
1998
+
1999
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2000
+
2001
+ def initialize: (
2002
+ decimal_places: Float,
2003
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2004
+ ) -> void
2005
+
2006
+ def to_hash: -> {
2007
+ decimal_places: Float,
2008
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2009
+ }
2010
+
2011
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2012
+
2013
+ module RoundingMethod
2014
+ extend MetronomeSDK::Internal::Type::Enum
2015
+
2016
+ HALF_UP: :HALF_UP
2017
+ FLOOR: :FLOOR
2018
+ CEILING: :CEILING
2019
+
2020
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method]
2021
+ end
2022
+ end
2023
+
2024
+ type invoice =
2025
+ {
2026
+ decimal_places: Float,
2027
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2028
+ }
2029
+
2030
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
2031
+ attr_accessor decimal_places: Float
2032
+
2033
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2034
+
2035
+ def initialize: (
2036
+ decimal_places: Float,
2037
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2038
+ ) -> void
2039
+
2040
+ def to_hash: -> {
2041
+ decimal_places: Float,
2042
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2043
+ }
2044
+
2045
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2046
+
2047
+ module RoundingMethod
2048
+ extend MetronomeSDK::Internal::Type::Enum
2049
+
2050
+ HALF_UP: :HALF_UP
2051
+ FLOOR: :FLOOR
2052
+ CEILING: :CEILING
2053
+
2054
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method]
2055
+ end
2056
+ end
2057
+ end
2058
+
1944
2059
  type rate_type = :COMMIT_RATE | :LIST_RATE
1945
2060
 
1946
2061
  module RateType
@@ -1952,7 +2067,8 @@ module MetronomeSDK
1952
2067
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type]
1953
2068
  end
1954
2069
 
1955
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2070
+ type recurrence_frequency =
2071
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1956
2072
 
1957
2073
  module RecurrenceFrequency
1958
2074
  extend MetronomeSDK::Internal::Type::Enum
@@ -1961,6 +2077,7 @@ module MetronomeSDK
1961
2077
  QUARTERLY: :QUARTERLY
1962
2078
  ANNUAL: :ANNUAL
1963
2079
  WEEKLY: :WEEKLY
2080
+ DAILY: :DAILY
1964
2081
 
1965
2082
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency]
1966
2083
  end
@@ -2033,6 +2150,7 @@ module MetronomeSDK
2033
2150
  name: String,
2034
2151
  netsuite_sales_order_id: String,
2035
2152
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2153
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2036
2154
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2037
2155
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2038
2156
  rollover_fraction: Float,
@@ -2088,6 +2206,12 @@ module MetronomeSDK
2088
2206
  MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2089
2207
  ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2090
2208
 
2209
+ attr_reader proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding?
2210
+
2211
+ def proration_rounding=: (
2212
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
2213
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
2214
+
2091
2215
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type?
2092
2216
 
2093
2217
  def rate_type=: (
@@ -2134,6 +2258,7 @@ module MetronomeSDK
2134
2258
  ?name: String,
2135
2259
  ?netsuite_sales_order_id: String,
2136
2260
  ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2261
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2137
2262
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2138
2263
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2139
2264
  ?rollover_fraction: Float,
@@ -2156,6 +2281,7 @@ module MetronomeSDK
2156
2281
  name: String,
2157
2282
  netsuite_sales_order_id: String,
2158
2283
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2284
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2159
2285
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2160
2286
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2161
2287
  rollover_fraction: Float,
@@ -2238,6 +2364,61 @@ module MetronomeSDK
2238
2364
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration]
2239
2365
  end
2240
2366
 
2367
+ type proration_rounding =
2368
+ {
2369
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2370
+ }
2371
+
2372
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2373
+ attr_reader access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access?
2374
+
2375
+ def access=: (
2376
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2377
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2378
+
2379
+ def initialize: (
2380
+ ?access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2381
+ ) -> void
2382
+
2383
+ def to_hash: -> {
2384
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2385
+ }
2386
+
2387
+ type access =
2388
+ {
2389
+ decimal_places: Float,
2390
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2391
+ }
2392
+
2393
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2394
+ attr_accessor decimal_places: Float
2395
+
2396
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2397
+
2398
+ def initialize: (
2399
+ decimal_places: Float,
2400
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2401
+ ) -> void
2402
+
2403
+ def to_hash: -> {
2404
+ decimal_places: Float,
2405
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2406
+ }
2407
+
2408
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2409
+
2410
+ module RoundingMethod
2411
+ extend MetronomeSDK::Internal::Type::Enum
2412
+
2413
+ HALF_UP: :HALF_UP
2414
+ FLOOR: :FLOOR
2415
+ CEILING: :CEILING
2416
+
2417
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method]
2418
+ end
2419
+ end
2420
+ end
2421
+
2241
2422
  type rate_type = :COMMIT_RATE | :LIST_RATE
2242
2423
 
2243
2424
  module RateType
@@ -2249,7 +2430,8 @@ module MetronomeSDK
2249
2430
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type]
2250
2431
  end
2251
2432
 
2252
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2433
+ type recurrence_frequency =
2434
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2253
2435
 
2254
2436
  module RecurrenceFrequency
2255
2437
  extend MetronomeSDK::Internal::Type::Enum
@@ -2258,6 +2440,7 @@ module MetronomeSDK
2258
2440
  QUARTERLY: :QUARTERLY
2259
2441
  ANNUAL: :ANNUAL
2260
2442
  WEEKLY: :WEEKLY
2443
+ DAILY: :DAILY
2261
2444
 
2262
2445
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency]
2263
2446
  end
@@ -2560,12 +2743,13 @@ module MetronomeSDK
2560
2743
  effective_at: MetronomeSDK::Models::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::Schedule::effective_at
2561
2744
  }
2562
2745
 
2563
- type effective_at = :START_OF_CURRENT_PERIOD
2746
+ type effective_at = :START_OF_CURRENT_PERIOD | :START_OF_NEXT_PERIOD
2564
2747
 
2565
2748
  module EffectiveAt
2566
2749
  extend MetronomeSDK::Internal::Type::Enum
2567
2750
 
2568
2751
  START_OF_CURRENT_PERIOD: :START_OF_CURRENT_PERIOD
2752
+ START_OF_NEXT_PERIOD: :START_OF_NEXT_PERIOD
2569
2753
 
2570
2754
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate::Schedule::effective_at]
2571
2755
  end
@@ -2888,6 +3072,7 @@ module MetronomeSDK
2888
3072
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2889
3073
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2890
3074
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3075
+ billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2891
3076
  custom_fields: ::Hash[Symbol, String],
2892
3077
  description: String,
2893
3078
  ending_before: Time,
@@ -2906,6 +3091,12 @@ module MetronomeSDK
2906
3091
 
2907
3092
  attr_accessor subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate
2908
3093
 
3094
+ attr_reader billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig?
3095
+
3096
+ def billing_cycle_config=: (
3097
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
3098
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
3099
+
2909
3100
  attr_reader custom_fields: ::Hash[Symbol, String]?
2910
3101
 
2911
3102
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -2950,6 +3141,7 @@ module MetronomeSDK
2950
3141
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2951
3142
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2952
3143
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3144
+ ?billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2953
3145
  ?custom_fields: ::Hash[Symbol, String],
2954
3146
  ?description: String,
2955
3147
  ?ending_before: Time,
@@ -2965,6 +3157,7 @@ module MetronomeSDK
2965
3157
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2966
3158
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2967
3159
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3160
+ billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2968
3161
  custom_fields: ::Hash[Symbol, String],
2969
3162
  description: String,
2970
3163
  ending_before: Time,
@@ -2990,7 +3183,8 @@ module MetronomeSDK
2990
3183
  type proration =
2991
3184
  {
2992
3185
  invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
2993
- is_prorated: bool
3186
+ is_prorated: bool,
3187
+ rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
2994
3188
  }
2995
3189
 
2996
3190
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -3004,14 +3198,22 @@ module MetronomeSDK
3004
3198
 
3005
3199
  def is_prorated=: (bool) -> bool
3006
3200
 
3201
+ attr_reader rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding?
3202
+
3203
+ def rounding=: (
3204
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3205
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3206
+
3007
3207
  def initialize: (
3008
3208
  ?invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3009
- ?is_prorated: bool
3209
+ ?is_prorated: bool,
3210
+ ?rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3010
3211
  ) -> void
3011
3212
 
3012
3213
  def to_hash: -> {
3013
3214
  invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3014
- is_prorated: bool
3215
+ is_prorated: bool,
3216
+ rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3015
3217
  }
3016
3218
 
3017
3219
  type invoice_behavior =
@@ -3025,6 +3227,40 @@ module MetronomeSDK
3025
3227
 
3026
3228
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior]
3027
3229
  end
3230
+
3231
+ type rounding =
3232
+ {
3233
+ decimal_places: Float,
3234
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3235
+ }
3236
+
3237
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
3238
+ attr_accessor decimal_places: Float
3239
+
3240
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3241
+
3242
+ def initialize: (
3243
+ decimal_places: Float,
3244
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3245
+ ) -> void
3246
+
3247
+ def to_hash: -> {
3248
+ decimal_places: Float,
3249
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3250
+ }
3251
+
3252
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3253
+
3254
+ module RoundingMethod
3255
+ extend MetronomeSDK::Internal::Type::Enum
3256
+
3257
+ HALF_UP: :HALF_UP
3258
+ FLOOR: :FLOOR
3259
+ CEILING: :CEILING
3260
+
3261
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method]
3262
+ end
3263
+ end
3028
3264
  end
3029
3265
 
3030
3266
  type subscription_rate =
@@ -3062,6 +3298,45 @@ module MetronomeSDK
3062
3298
  end
3063
3299
  end
3064
3300
 
3301
+ type billing_cycle_config =
3302
+ {
3303
+ anchor_date: Time,
3304
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3305
+ }
3306
+
3307
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
3308
+ attr_reader anchor_date: Time?
3309
+
3310
+ def anchor_date=: (Time) -> Time
3311
+
3312
+ attr_reader invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement?
3313
+
3314
+ def invoice_placement=: (
3315
+ MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3316
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3317
+
3318
+ def initialize: (
3319
+ ?anchor_date: Time,
3320
+ ?invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3321
+ ) -> void
3322
+
3323
+ def to_hash: -> {
3324
+ anchor_date: Time,
3325
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3326
+ }
3327
+
3328
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
3329
+
3330
+ module InvoicePlacement
3331
+ extend MetronomeSDK::Internal::Type::Enum
3332
+
3333
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
3334
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
3335
+
3336
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement]
3337
+ end
3338
+ end
3339
+
3065
3340
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
3066
3341
 
3067
3342
  module QuantityManagementMode
@@ -3928,6 +4203,7 @@ module MetronomeSDK
3928
4203
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3929
4204
  ending_before: Time?,
3930
4205
  invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4206
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3931
4207
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3932
4208
  }
3933
4209
 
@@ -3948,6 +4224,8 @@ module MetronomeSDK
3948
4224
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
3949
4225
  ) -> MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
3950
4226
 
4227
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?
4228
+
3951
4229
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type?
3952
4230
 
3953
4231
  def rate_type=: (
@@ -3959,6 +4237,7 @@ module MetronomeSDK
3959
4237
  ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3960
4238
  ?ending_before: Time?,
3961
4239
  ?invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4240
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3962
4241
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3963
4242
  ) -> void
3964
4243
 
@@ -3967,6 +4246,7 @@ module MetronomeSDK
3967
4246
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3968
4247
  ending_before: Time?,
3969
4248
  invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4249
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3970
4250
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3971
4251
  }
3972
4252
 
@@ -4002,6 +4282,96 @@ module MetronomeSDK
4002
4282
  def to_hash: -> { quantity: Float, unit_price: Float }
4003
4283
  end
4004
4284
 
4285
+ type proration_rounding =
4286
+ {
4287
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4288
+ invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4289
+ }
4290
+
4291
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4292
+ attr_accessor access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?
4293
+
4294
+ attr_accessor invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4295
+
4296
+ def initialize: (
4297
+ ?access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4298
+ ?invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4299
+ ) -> void
4300
+
4301
+ def to_hash: -> {
4302
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4303
+ invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4304
+ }
4305
+
4306
+ type access =
4307
+ {
4308
+ decimal_places: Float,
4309
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4310
+ }
4311
+
4312
+ class Access < MetronomeSDK::Internal::Type::BaseModel
4313
+ attr_accessor decimal_places: Float
4314
+
4315
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4316
+
4317
+ def initialize: (
4318
+ decimal_places: Float,
4319
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4320
+ ) -> void
4321
+
4322
+ def to_hash: -> {
4323
+ decimal_places: Float,
4324
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4325
+ }
4326
+
4327
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4328
+
4329
+ module RoundingMethod
4330
+ extend MetronomeSDK::Internal::Type::Enum
4331
+
4332
+ HALF_UP: :HALF_UP
4333
+ FLOOR: :FLOOR
4334
+ CEILING: :CEILING
4335
+
4336
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method]
4337
+ end
4338
+ end
4339
+
4340
+ type invoice =
4341
+ {
4342
+ decimal_places: Float,
4343
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4344
+ }
4345
+
4346
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
4347
+ attr_accessor decimal_places: Float
4348
+
4349
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4350
+
4351
+ def initialize: (
4352
+ decimal_places: Float,
4353
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4354
+ ) -> void
4355
+
4356
+ def to_hash: -> {
4357
+ decimal_places: Float,
4358
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4359
+ }
4360
+
4361
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4362
+
4363
+ module RoundingMethod
4364
+ extend MetronomeSDK::Internal::Type::Enum
4365
+
4366
+ HALF_UP: :HALF_UP
4367
+ FLOOR: :FLOOR
4368
+ CEILING: :CEILING
4369
+
4370
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method]
4371
+ end
4372
+ end
4373
+ end
4374
+
4005
4375
  type rate_type = :LIST_RATE | :COMMIT_RATE
4006
4376
 
4007
4377
  module RateType
@@ -4019,6 +4389,7 @@ module MetronomeSDK
4019
4389
  recurring_credit_id: String,
4020
4390
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4021
4391
  ending_before: Time?,
4392
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
4022
4393
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
4023
4394
  }
4024
4395
 
@@ -4033,6 +4404,8 @@ module MetronomeSDK
4033
4404
 
4034
4405
  attr_accessor ending_before: Time?
4035
4406
 
4407
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?
4408
+
4036
4409
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type?
4037
4410
 
4038
4411
  def rate_type=: (
@@ -4043,6 +4416,7 @@ module MetronomeSDK
4043
4416
  recurring_credit_id: String,
4044
4417
  ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4045
4418
  ?ending_before: Time?,
4419
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
4046
4420
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
4047
4421
  ) -> void
4048
4422
 
@@ -4050,6 +4424,7 @@ module MetronomeSDK
4050
4424
  recurring_credit_id: String,
4051
4425
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4052
4426
  ending_before: Time?,
4427
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
4053
4428
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
4054
4429
  }
4055
4430
 
@@ -4069,6 +4444,57 @@ module MetronomeSDK
4069
4444
  def to_hash: -> { quantity: Float, unit_price: Float }
4070
4445
  end
4071
4446
 
4447
+ type proration_rounding =
4448
+ {
4449
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4450
+ }
4451
+
4452
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4453
+ attr_accessor access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4454
+
4455
+ def initialize: (
4456
+ ?access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4457
+ ) -> void
4458
+
4459
+ def to_hash: -> {
4460
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4461
+ }
4462
+
4463
+ type access =
4464
+ {
4465
+ decimal_places: Float,
4466
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4467
+ }
4468
+
4469
+ class Access < MetronomeSDK::Internal::Type::BaseModel
4470
+ attr_accessor decimal_places: Float
4471
+
4472
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4473
+
4474
+ def initialize: (
4475
+ decimal_places: Float,
4476
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4477
+ ) -> void
4478
+
4479
+ def to_hash: -> {
4480
+ decimal_places: Float,
4481
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4482
+ }
4483
+
4484
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4485
+
4486
+ module RoundingMethod
4487
+ extend MetronomeSDK::Internal::Type::Enum
4488
+
4489
+ HALF_UP: :HALF_UP
4490
+ FLOOR: :FLOOR
4491
+ CEILING: :CEILING
4492
+
4493
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method]
4494
+ end
4495
+ end
4496
+ end
4497
+
4072
4498
  type rate_type = :LIST_RATE | :COMMIT_RATE
4073
4499
 
4074
4500
  module RateType
@@ -4334,6 +4760,7 @@ module MetronomeSDK
4334
4760
  {
4335
4761
  subscription_id: String,
4336
4762
  ending_before: Time?,
4763
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4337
4764
  quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4338
4765
  quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4339
4766
  seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
@@ -4344,6 +4771,8 @@ module MetronomeSDK
4344
4771
 
4345
4772
  attr_accessor ending_before: Time?
4346
4773
 
4774
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?
4775
+
4347
4776
  attr_reader quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate?
4348
4777
 
4349
4778
  def quantity_management_mode_update=: (
@@ -4365,6 +4794,7 @@ module MetronomeSDK
4365
4794
  def initialize: (
4366
4795
  subscription_id: String,
4367
4796
  ?ending_before: Time?,
4797
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4368
4798
  ?quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4369
4799
  ?quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4370
4800
  ?seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
@@ -4373,11 +4803,46 @@ module MetronomeSDK
4373
4803
  def to_hash: -> {
4374
4804
  subscription_id: String,
4375
4805
  ending_before: Time?,
4806
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4376
4807
  quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4377
4808
  quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4378
4809
  seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
4379
4810
  }
4380
4811
 
4812
+ type proration_rounding =
4813
+ {
4814
+ decimal_places: Float,
4815
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4816
+ }
4817
+
4818
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4819
+ attr_accessor decimal_places: Float
4820
+
4821
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4822
+
4823
+ def initialize: (
4824
+ decimal_places: Float,
4825
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4826
+ ) -> void
4827
+
4828
+ def to_hash: -> {
4829
+ decimal_places: Float,
4830
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4831
+ }
4832
+
4833
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4834
+
4835
+ module RoundingMethod
4836
+ extend MetronomeSDK::Internal::Type::Enum
4837
+
4838
+ HALF_UP: :HALF_UP
4839
+ FLOOR: :FLOOR
4840
+ CEILING: :CEILING
4841
+
4842
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method]
4843
+ end
4844
+ end
4845
+
4381
4846
  type quantity_management_mode_update =
4382
4847
  {
4383
4848
  quantity_management_mode: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate::quantity_management_mode,