metronome-sdk 3.7.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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -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_v2.rb +290 -7
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
  8. data/lib/metronome_sdk/models/credit.rb +10 -1
  9. data/lib/metronome_sdk/models/override.rb +7 -1
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
  12. data/lib/metronome_sdk/models/subscription.rb +90 -2
  13. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  14. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
  15. data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
  16. data/lib/metronome_sdk/models/v1/contract_create_response.rb +178 -4
  17. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  18. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  20. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  21. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  22. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  23. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  24. data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
  25. data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
  27. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +515 -9
  28. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
  29. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
  30. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  31. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  32. data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
  33. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  36. data/lib/metronome_sdk/version.rb +1 -1
  37. data/lib/metronome_sdk.rb +2 -0
  38. data/rbi/metronome_sdk/models/commit.rbi +13 -0
  39. data/rbi/metronome_sdk/models/contract_v2.rbi +715 -3
  40. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
  41. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  42. data/rbi/metronome_sdk/models/override.rbi +9 -0
  43. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
  45. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  46. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  47. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
  48. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
  49. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +463 -0
  50. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  51. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  53. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  54. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  55. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  56. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  57. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
  58. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
  59. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
  60. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1333 -40
  61. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
  62. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
  63. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  64. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  65. data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
  66. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  68. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  69. data/sig/metronome_sdk/models/commit.rbs +7 -0
  70. data/sig/metronome_sdk/models/contract_v2.rbs +278 -5
  71. data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
  72. data/sig/metronome_sdk/models/credit.rbs +7 -0
  73. data/sig/metronome_sdk/models/override.rbs +7 -0
  74. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  75. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  76. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
  77. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
  78. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +167 -2
  79. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  80. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  81. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  82. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  83. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  84. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  85. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  86. data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
  87. data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
  88. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
  89. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +468 -5
  90. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
  91. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
  92. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  93. data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
  94. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  95. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  96. metadata +8 -2
@@ -1359,6 +1359,7 @@ module MetronomeSDK
1359
1359
 
1360
1360
  type override_specifier =
1361
1361
  {
1362
+ any_commit_or_credit_ids: ::Array[String],
1362
1363
  billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1363
1364
  commit_ids: ::Array[String],
1364
1365
  presentation_group_values: ::Hash[Symbol, String],
@@ -1369,6 +1370,10 @@ module MetronomeSDK
1369
1370
  }
1370
1371
 
1371
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
+
1372
1377
  attr_reader billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency?
1373
1378
 
1374
1379
  def billing_frequency=: (
@@ -1404,6 +1409,7 @@ module MetronomeSDK
1404
1409
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1405
1410
 
1406
1411
  def initialize: (
1412
+ ?any_commit_or_credit_ids: ::Array[String],
1407
1413
  ?billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1408
1414
  ?commit_ids: ::Array[String],
1409
1415
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1414,6 +1420,7 @@ module MetronomeSDK
1414
1420
  ) -> void
1415
1421
 
1416
1422
  def to_hash: -> {
1423
+ any_commit_or_credit_ids: ::Array[String],
1417
1424
  billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1418
1425
  commit_ids: ::Array[String],
1419
1426
  presentation_group_values: ::Hash[Symbol, String],
@@ -1626,6 +1633,7 @@ module MetronomeSDK
1626
1633
  name: String,
1627
1634
  netsuite_sales_order_id: String,
1628
1635
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1636
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding,
1629
1637
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1630
1638
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1631
1639
  rollover_fraction: Float,
@@ -1687,6 +1695,12 @@ module MetronomeSDK
1687
1695
  MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1688
1696
  ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1689
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
+
1690
1704
  attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type?
1691
1705
 
1692
1706
  def rate_type=: (
@@ -1734,6 +1748,7 @@ module MetronomeSDK
1734
1748
  ?name: String,
1735
1749
  ?netsuite_sales_order_id: String,
1736
1750
  ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1751
+ ?proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding,
1737
1752
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1738
1753
  ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1739
1754
  ?rollover_fraction: Float,
@@ -1757,6 +1772,7 @@ module MetronomeSDK
1757
1772
  name: String,
1758
1773
  netsuite_sales_order_id: String,
1759
1774
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1775
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::ProrationRounding,
1760
1776
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1761
1777
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1762
1778
  rollover_fraction: Float,
@@ -1862,6 +1878,104 @@ module MetronomeSDK
1862
1878
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration]
1863
1879
  end
1864
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
+
1865
1979
  type rate_type = :COMMIT_RATE | :LIST_RATE
1866
1980
 
1867
1981
  module RateType
@@ -1873,7 +1987,8 @@ module MetronomeSDK
1873
1987
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type]
1874
1988
  end
1875
1989
 
1876
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1990
+ type recurrence_frequency =
1991
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1877
1992
 
1878
1993
  module RecurrenceFrequency
1879
1994
  extend MetronomeSDK::Internal::Type::Enum
@@ -1882,6 +1997,7 @@ module MetronomeSDK
1882
1997
  QUARTERLY: :QUARTERLY
1883
1998
  ANNUAL: :ANNUAL
1884
1999
  WEEKLY: :WEEKLY
2000
+ DAILY: :DAILY
1885
2001
 
1886
2002
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency]
1887
2003
  end
@@ -1954,6 +2070,7 @@ module MetronomeSDK
1954
2070
  name: String,
1955
2071
  netsuite_sales_order_id: String,
1956
2072
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2073
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding,
1957
2074
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
1958
2075
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
1959
2076
  rollover_fraction: Float,
@@ -2009,6 +2126,12 @@ module MetronomeSDK
2009
2126
  MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
2010
2127
  ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
2011
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
+
2012
2135
  attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type?
2013
2136
 
2014
2137
  def rate_type=: (
@@ -2055,6 +2178,7 @@ module MetronomeSDK
2055
2178
  ?name: String,
2056
2179
  ?netsuite_sales_order_id: String,
2057
2180
  ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2181
+ ?proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding,
2058
2182
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2059
2183
  ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2060
2184
  ?rollover_fraction: Float,
@@ -2077,6 +2201,7 @@ module MetronomeSDK
2077
2201
  name: String,
2078
2202
  netsuite_sales_order_id: String,
2079
2203
  proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2204
+ proration_rounding: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::ProrationRounding,
2080
2205
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2081
2206
  recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2082
2207
  rollover_fraction: Float,
@@ -2159,6 +2284,61 @@ module MetronomeSDK
2159
2284
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration]
2160
2285
  end
2161
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
+
2162
2342
  type rate_type = :COMMIT_RATE | :LIST_RATE
2163
2343
 
2164
2344
  module RateType
@@ -2170,7 +2350,8 @@ module MetronomeSDK
2170
2350
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type]
2171
2351
  end
2172
2352
 
2173
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2353
+ type recurrence_frequency =
2354
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2174
2355
 
2175
2356
  module RecurrenceFrequency
2176
2357
  extend MetronomeSDK::Internal::Type::Enum
@@ -2179,6 +2360,7 @@ module MetronomeSDK
2179
2360
  QUARTERLY: :QUARTERLY
2180
2361
  ANNUAL: :ANNUAL
2181
2362
  WEEKLY: :WEEKLY
2363
+ DAILY: :DAILY
2182
2364
 
2183
2365
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency]
2184
2366
  end
@@ -2760,6 +2942,7 @@ module MetronomeSDK
2760
2942
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
2761
2943
  proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
2762
2944
  subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
2945
+ billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig,
2763
2946
  custom_fields: ::Hash[Symbol, String],
2764
2947
  description: String,
2765
2948
  ending_before: Time,
@@ -2778,6 +2961,12 @@ module MetronomeSDK
2778
2961
 
2779
2962
  attr_accessor subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate
2780
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
+
2781
2970
  attr_reader custom_fields: ::Hash[Symbol, String]?
2782
2971
 
2783
2972
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -2822,6 +3011,7 @@ module MetronomeSDK
2822
3011
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
2823
3012
  proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
2824
3013
  subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3014
+ ?billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig,
2825
3015
  ?custom_fields: ::Hash[Symbol, String],
2826
3016
  ?description: String,
2827
3017
  ?ending_before: Time,
@@ -2837,6 +3027,7 @@ module MetronomeSDK
2837
3027
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
2838
3028
  proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
2839
3029
  subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3030
+ billing_cycle_config: MetronomeSDK::V1::ContractCreateParams::Subscription::BillingCycleConfig,
2840
3031
  custom_fields: ::Hash[Symbol, String],
2841
3032
  description: String,
2842
3033
  ending_before: Time,
@@ -2862,7 +3053,8 @@ module MetronomeSDK
2862
3053
  type proration =
2863
3054
  {
2864
3055
  invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
2865
- is_prorated: bool
3056
+ is_prorated: bool,
3057
+ rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
2866
3058
  }
2867
3059
 
2868
3060
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -2876,14 +3068,22 @@ module MetronomeSDK
2876
3068
 
2877
3069
  def is_prorated=: (bool) -> bool
2878
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
+
2879
3077
  def initialize: (
2880
3078
  ?invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
2881
- ?is_prorated: bool
3079
+ ?is_prorated: bool,
3080
+ ?rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
2882
3081
  ) -> void
2883
3082
 
2884
3083
  def to_hash: -> {
2885
3084
  invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
2886
- is_prorated: bool
3085
+ is_prorated: bool,
3086
+ rounding: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::Rounding
2887
3087
  }
2888
3088
 
2889
3089
  type invoice_behavior =
@@ -2897,6 +3097,40 @@ module MetronomeSDK
2897
3097
 
2898
3098
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior]
2899
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
2900
3134
  end
2901
3135
 
2902
3136
  type subscription_rate =
@@ -2934,6 +3168,45 @@ module MetronomeSDK
2934
3168
  end
2935
3169
  end
2936
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
+
2937
3210
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
2938
3211
 
2939
3212
  module QuantityManagementMode