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
@@ -661,6 +661,11 @@ module MetronomeSDK
661
661
  # @param type [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Override::Type]
662
662
 
663
663
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
664
+ # @!attribute any_commit_or_credit_template_ids
665
+ #
666
+ # @return [Array<String>, nil]
667
+ optional :any_commit_or_credit_template_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
668
+
664
669
  # @!attribute billing_frequency
665
670
  #
666
671
  # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Override::OverrideSpecifier::BillingFrequency, nil]
@@ -697,7 +702,8 @@ module MetronomeSDK
697
702
  # @return [Array<String>, nil]
698
703
  optional :recurring_commit_template_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
699
704
 
700
- # @!method initialize(billing_frequency: nil, commit_template_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_template_ids: nil)
705
+ # @!method initialize(any_commit_or_credit_template_ids: nil, billing_frequency: nil, commit_template_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_template_ids: nil)
706
+ # @param any_commit_or_credit_template_ids [Array<String>]
701
707
  # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Override::OverrideSpecifier::BillingFrequency]
702
708
  # @param commit_template_ids [Array<String>]
703
709
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
@@ -1417,6 +1423,14 @@ module MetronomeSDK
1417
1423
  optional :proration,
1418
1424
  enum: -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::Proration }
1419
1425
 
1426
+ # @!attribute proration_rounding
1427
+ # Rounding configuration for prorated recurring commit amounts.
1428
+ #
1429
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding, nil]
1430
+ optional :proration_rounding,
1431
+ -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding },
1432
+ nil?: true
1433
+
1420
1434
  # @!attribute recurrence_frequency
1421
1435
  # The frequency at which the recurring commits will be created. If not provided: -
1422
1436
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -1451,7 +1465,7 @@ module MetronomeSDK
1451
1465
  optional :subscription_config,
1452
1466
  -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::SubscriptionConfig }
1453
1467
 
1454
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, invoice_amount: nil, name: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1468
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, invoice_amount: nil, name: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1455
1469
  # Some parameter documentations has been truncated, see
1456
1470
  # {MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit} for more
1457
1471
  # details.
@@ -1484,7 +1498,9 @@ module MetronomeSDK
1484
1498
  #
1485
1499
  # @param proration [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1486
1500
  #
1487
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1501
+ # @param proration_rounding [MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding, nil] Rounding configuration for prorated recurring commit amounts.
1502
+ #
1503
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1488
1504
  #
1489
1505
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1490
1506
  #
@@ -1686,6 +1702,105 @@ module MetronomeSDK
1686
1702
  # @return [Array<Symbol>]
1687
1703
  end
1688
1704
 
1705
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit#proration_rounding
1706
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1707
+ # @!attribute access
1708
+ #
1709
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access, nil]
1710
+ optional :access,
1711
+ -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access }
1712
+
1713
+ # @!attribute invoice
1714
+ #
1715
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice, nil]
1716
+ optional :invoice,
1717
+ -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice }
1718
+
1719
+ # @!method initialize(access: nil, invoice: nil)
1720
+ # Rounding configuration for prorated recurring commit amounts.
1721
+ #
1722
+ # @param access [MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access]
1723
+ # @param invoice [MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice]
1724
+
1725
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding#access
1726
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1727
+ # @!attribute decimal_places
1728
+ # Number of decimal places to round to. Applied directly to the stored monetary
1729
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1730
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
1731
+ # dollar).
1732
+ #
1733
+ # @return [Float]
1734
+ required :decimal_places, Float
1735
+
1736
+ # @!attribute rounding_method
1737
+ #
1738
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::RoundingMethod]
1739
+ required :rounding_method,
1740
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::RoundingMethod }
1741
+
1742
+ # @!method initialize(decimal_places:, rounding_method:)
1743
+ # Some parameter documentations has been truncated, see
1744
+ # {MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access}
1745
+ # for more details.
1746
+ #
1747
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1748
+ #
1749
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::RoundingMethod]
1750
+
1751
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access#rounding_method
1752
+ module RoundingMethod
1753
+ extend MetronomeSDK::Internal::Type::Enum
1754
+
1755
+ HALF_UP = :HALF_UP
1756
+ FLOOR = :FLOOR
1757
+ CEILING = :CEILING
1758
+
1759
+ # @!method self.values
1760
+ # @return [Array<Symbol>]
1761
+ end
1762
+ end
1763
+
1764
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding#invoice
1765
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1766
+ # @!attribute decimal_places
1767
+ # Number of decimal places to round to. Applied directly to the stored monetary
1768
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1769
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
1770
+ # dollar).
1771
+ #
1772
+ # @return [Float]
1773
+ required :decimal_places, Float
1774
+
1775
+ # @!attribute rounding_method
1776
+ #
1777
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1778
+ required :rounding_method,
1779
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::RoundingMethod }
1780
+
1781
+ # @!method initialize(decimal_places:, rounding_method:)
1782
+ # Some parameter documentations has been truncated, see
1783
+ # {MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice}
1784
+ # for more details.
1785
+ #
1786
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1787
+ #
1788
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1789
+
1790
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice#rounding_method
1791
+ module RoundingMethod
1792
+ extend MetronomeSDK::Internal::Type::Enum
1793
+
1794
+ HALF_UP = :HALF_UP
1795
+ FLOOR = :FLOOR
1796
+ CEILING = :CEILING
1797
+
1798
+ # @!method self.values
1799
+ # @return [Array<Symbol>]
1800
+ end
1801
+ end
1802
+ end
1803
+
1689
1804
  # The frequency at which the recurring commits will be created. If not provided: -
1690
1805
  # The commits will be created on the usage invoice frequency. If provided: - The
1691
1806
  # period defined in the duration will correspond to this frequency. - Commits will
@@ -1700,6 +1815,7 @@ module MetronomeSDK
1700
1815
  QUARTERLY = :QUARTERLY
1701
1816
  ANNUAL = :ANNUAL
1702
1817
  WEEKLY = :WEEKLY
1818
+ DAILY = :DAILY
1703
1819
 
1704
1820
  # @!method self.values
1705
1821
  # @return [Array<Symbol>]
@@ -1837,6 +1953,14 @@ module MetronomeSDK
1837
1953
  optional :proration,
1838
1954
  enum: -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::Proration }
1839
1955
 
1956
+ # @!attribute proration_rounding
1957
+ # Rounding configuration for prorated recurring credit amounts.
1958
+ #
1959
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding, nil]
1960
+ optional :proration_rounding,
1961
+ -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding },
1962
+ nil?: true
1963
+
1840
1964
  # @!attribute recurrence_frequency
1841
1965
  # The frequency at which the recurring commits will be created. If not provided: -
1842
1966
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -1871,7 +1995,7 @@ module MetronomeSDK
1871
1995
  optional :subscription_config,
1872
1996
  -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::SubscriptionConfig }
1873
1997
 
1874
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, name: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1998
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at_offset:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, duration: nil, name: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1875
1999
  # Some parameter documentations has been truncated, see
1876
2000
  # {MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit} for more
1877
2001
  # details.
@@ -1902,7 +2026,9 @@ module MetronomeSDK
1902
2026
  #
1903
2027
  # @param proration [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1904
2028
  #
1905
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
2029
+ # @param proration_rounding [MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding, nil] Rounding configuration for prorated recurring credit amounts.
2030
+ #
2031
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1906
2032
  #
1907
2033
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1908
2034
  #
@@ -2079,6 +2205,59 @@ module MetronomeSDK
2079
2205
  # @return [Array<Symbol>]
2080
2206
  end
2081
2207
 
2208
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit#proration_rounding
2209
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2210
+ # @!attribute access
2211
+ #
2212
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access, nil]
2213
+ optional :access,
2214
+ -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access }
2215
+
2216
+ # @!method initialize(access: nil)
2217
+ # Rounding configuration for prorated recurring credit amounts.
2218
+ #
2219
+ # @param access [MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access]
2220
+
2221
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding#access
2222
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2223
+ # @!attribute decimal_places
2224
+ # Number of decimal places to round to. Applied directly to the stored monetary
2225
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2226
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
2227
+ # dollar).
2228
+ #
2229
+ # @return [Float]
2230
+ required :decimal_places, Float
2231
+
2232
+ # @!attribute rounding_method
2233
+ #
2234
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::RoundingMethod]
2235
+ required :rounding_method,
2236
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::RoundingMethod }
2237
+
2238
+ # @!method initialize(decimal_places:, rounding_method:)
2239
+ # Some parameter documentations has been truncated, see
2240
+ # {MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access}
2241
+ # for more details.
2242
+ #
2243
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2244
+ #
2245
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::RoundingMethod]
2246
+
2247
+ # @see MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access#rounding_method
2248
+ module RoundingMethod
2249
+ extend MetronomeSDK::Internal::Type::Enum
2250
+
2251
+ HALF_UP = :HALF_UP
2252
+ FLOOR = :FLOOR
2253
+ CEILING = :CEILING
2254
+
2255
+ # @!method self.values
2256
+ # @return [Array<Symbol>]
2257
+ end
2258
+ end
2259
+ end
2260
+
2082
2261
  # The frequency at which the recurring commits will be created. If not provided: -
2083
2262
  # The commits will be created on the usage invoice frequency. If provided: - The
2084
2263
  # period defined in the duration will correspond to this frequency. - Commits will
@@ -2093,6 +2272,7 @@ module MetronomeSDK
2093
2272
  QUARTERLY = :QUARTERLY
2094
2273
  ANNUAL = :ANNUAL
2095
2274
  WEEKLY = :WEEKLY
2275
+ DAILY = :DAILY
2096
2276
 
2097
2277
  # @!method self.values
2098
2278
  # @return [Array<Symbol>]
@@ -2289,6 +2469,12 @@ module MetronomeSDK
2289
2469
  # @return [String, nil]
2290
2470
  optional :id, String
2291
2471
 
2472
+ # @!attribute billing_cycle_config
2473
+ #
2474
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig, nil]
2475
+ optional :billing_cycle_config,
2476
+ -> { MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig }
2477
+
2292
2478
  # @!attribute custom_fields
2293
2479
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2294
2480
  #
@@ -2346,7 +2532,7 @@ module MetronomeSDK
2346
2532
  optional :starting_at_offset,
2347
2533
  -> { MetronomeSDK::Models::V1::PackageListResponse::Subscription::StartingAtOffset }
2348
2534
 
2349
- # @!method initialize(collection_schedule:, proration:, subscription_rate:, id: nil, custom_fields: nil, description: nil, duration: nil, fiat_credit_type_id: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at_offset: nil)
2535
+ # @!method initialize(collection_schedule:, proration:, subscription_rate:, id: nil, billing_cycle_config: nil, custom_fields: nil, description: nil, duration: nil, fiat_credit_type_id: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at_offset: nil)
2350
2536
  # Some parameter documentations has been truncated, see
2351
2537
  # {MetronomeSDK::Models::V1::PackageListResponse::Subscription} for more details.
2352
2538
  #
@@ -2358,6 +2544,8 @@ module MetronomeSDK
2358
2544
  #
2359
2545
  # @param id [String]
2360
2546
  #
2547
+ # @param billing_cycle_config [MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig]
2548
+ #
2361
2549
  # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2362
2550
  #
2363
2551
  # @param description [String]
@@ -2400,9 +2588,16 @@ module MetronomeSDK
2400
2588
  # @return [Boolean]
2401
2589
  required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2402
2590
 
2403
- # @!method initialize(invoice_behavior:, is_prorated:)
2591
+ # @!attribute rounding
2592
+ #
2593
+ # @return [MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding, nil]
2594
+ optional :rounding,
2595
+ -> { MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding }
2596
+
2597
+ # @!method initialize(invoice_behavior:, is_prorated:, rounding: nil)
2404
2598
  # @param invoice_behavior [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::InvoiceBehavior]
2405
2599
  # @param is_prorated [Boolean]
2600
+ # @param rounding [MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding]
2406
2601
 
2407
2602
  # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration#invoice_behavior
2408
2603
  module InvoiceBehavior
@@ -2414,6 +2609,45 @@ module MetronomeSDK
2414
2609
  # @!method self.values
2415
2610
  # @return [Array<Symbol>]
2416
2611
  end
2612
+
2613
+ # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration#rounding
2614
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2615
+ # @!attribute decimal_places
2616
+ # Number of decimal places to round to. Applied directly to the stored monetary
2617
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2618
+ # nearest 100 in the stored unit. For USD, this means rounding to the nearest
2619
+ # dollar).
2620
+ #
2621
+ # @return [Float]
2622
+ required :decimal_places, Float
2623
+
2624
+ # @!attribute rounding_method
2625
+ #
2626
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::RoundingMethod]
2627
+ required :rounding_method,
2628
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::RoundingMethod }
2629
+
2630
+ # @!method initialize(decimal_places:, rounding_method:)
2631
+ # Some parameter documentations has been truncated, see
2632
+ # {MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding}
2633
+ # for more details.
2634
+ #
2635
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2636
+ #
2637
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::RoundingMethod]
2638
+
2639
+ # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding#rounding_method
2640
+ module RoundingMethod
2641
+ extend MetronomeSDK::Internal::Type::Enum
2642
+
2643
+ HALF_UP = :HALF_UP
2644
+ FLOOR = :FLOOR
2645
+ CEILING = :CEILING
2646
+
2647
+ # @!method self.values
2648
+ # @return [Array<Symbol>]
2649
+ end
2650
+ end
2417
2651
  end
2418
2652
 
2419
2653
  # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription#subscription_rate
@@ -2465,6 +2699,29 @@ module MetronomeSDK
2465
2699
  end
2466
2700
  end
2467
2701
 
2702
+ # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription#billing_cycle_config
2703
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2704
+ # @!attribute invoice_placement
2705
+ #
2706
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::InvoicePlacement, nil]
2707
+ optional :invoice_placement,
2708
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::InvoicePlacement }
2709
+
2710
+ # @!method initialize(invoice_placement: nil)
2711
+ # @param invoice_placement [Symbol, MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::InvoicePlacement]
2712
+
2713
+ # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig#invoice_placement
2714
+ module InvoicePlacement
2715
+ extend MetronomeSDK::Internal::Type::Enum
2716
+
2717
+ ON_SCHEDULED_INVOICE = :ON_SCHEDULED_INVOICE
2718
+ ON_USAGE_INVOICE = :ON_USAGE_INVOICE
2719
+
2720
+ # @!method self.values
2721
+ # @return [Array<Symbol>]
2722
+ end
2723
+ end
2724
+
2468
2725
  # @see MetronomeSDK::Models::V1::PackageListResponse::Subscription#duration
2469
2726
  class Duration < MetronomeSDK::Internal::Type::BaseModel
2470
2727
  # @!attribute unit