metronome-sdk 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  6. data/lib/metronome_sdk/models/commit.rb +36 -1
  7. data/lib/metronome_sdk/models/contract.rb +140 -1
  8. data/lib/metronome_sdk/models/contract_v2.rb +457 -8
  9. data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
  10. data/lib/metronome_sdk/models/credit.rb +10 -1
  11. data/lib/metronome_sdk/models/override.rb +7 -1
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
  13. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
  14. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  15. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  16. data/lib/metronome_sdk/models/subscription.rb +90 -2
  17. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  18. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
  19. data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
  20. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
  21. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  22. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  23. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  24. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  25. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  26. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  27. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  28. data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
  29. data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
  30. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
  31. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
  32. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
  33. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
  34. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  36. data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
  37. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  38. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  39. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  40. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  41. data/lib/metronome_sdk/resources/v1.rb +0 -4
  42. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  43. data/lib/metronome_sdk/version.rb +1 -1
  44. data/lib/metronome_sdk.rb +2 -8
  45. data/rbi/metronome_sdk/models/commit.rbi +61 -0
  46. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  47. data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
  48. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
  49. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  50. data/rbi/metronome_sdk/models/override.rbi +9 -0
  51. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
  52. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
  53. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  54. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  55. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  56. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  57. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
  58. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
  59. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
  60. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  61. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  62. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  63. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  64. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  65. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  66. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  67. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
  68. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
  69. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
  70. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
  71. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
  72. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
  73. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  74. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  75. data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
  76. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  77. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  78. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  79. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  80. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  81. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  82. data/sig/metronome_sdk/models/commit.rbs +26 -0
  83. data/sig/metronome_sdk/models/contract.rbs +151 -0
  84. data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
  85. data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
  86. data/sig/metronome_sdk/models/credit.rbs +7 -0
  87. data/sig/metronome_sdk/models/override.rbs +7 -0
  88. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  89. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  90. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  91. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  92. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  93. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  94. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
  95. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
  96. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
  97. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  98. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  99. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  100. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  101. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  102. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  103. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  104. data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
  105. data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
  106. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
  107. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
  108. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
  109. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
  110. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  111. data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
  112. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  113. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  114. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  115. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  116. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  117. metadata +8 -26
  118. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  119. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  120. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  121. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  122. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  123. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  124. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  125. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  126. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  127. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  128. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  129. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  130. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  131. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  132. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  133. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  134. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  135. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  136. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  137. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  138. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  139. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  140. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  141. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -26,6 +26,7 @@ module MetronomeSDK
26
26
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit],
27
27
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices,
28
28
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
29
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker],
29
30
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription],
30
31
  uniqueness_key: String
31
32
  }
@@ -131,6 +132,12 @@ module MetronomeSDK
131
132
  MetronomeSDK::SpendThresholdConfiguration
132
133
  ) -> MetronomeSDK::SpendThresholdConfiguration
133
134
 
135
+ attr_reader spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker]?
136
+
137
+ def spend_trackers=: (
138
+ ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker]
139
+ ) -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker]
140
+
134
141
  attr_reader subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription]?
135
142
 
136
143
  def subscriptions=: (
@@ -165,6 +172,7 @@ module MetronomeSDK
165
172
  ?recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit],
166
173
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices,
167
174
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
175
+ ?spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker],
168
176
  ?subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription],
169
177
  ?uniqueness_key: String
170
178
  ) -> void
@@ -193,6 +201,7 @@ module MetronomeSDK
193
201
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit],
194
202
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices,
195
203
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
204
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker],
196
205
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription],
197
206
  uniqueness_key: String
198
207
  }
@@ -678,6 +687,7 @@ module MetronomeSDK
678
687
 
679
688
  type override_specifier =
680
689
  {
690
+ any_commit_or_credit_template_ids: ::Array[String],
681
691
  billing_frequency: MetronomeSDK::Models::V1::PackageListResponse::Override::OverrideSpecifier::billing_frequency,
682
692
  commit_template_ids: ::Array[String],
683
693
  presentation_group_values: ::Hash[Symbol, String?],
@@ -688,6 +698,12 @@ module MetronomeSDK
688
698
  }
689
699
 
690
700
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
701
+ attr_reader any_commit_or_credit_template_ids: ::Array[String]?
702
+
703
+ def any_commit_or_credit_template_ids=: (
704
+ ::Array[String]
705
+ ) -> ::Array[String]
706
+
691
707
  attr_reader billing_frequency: MetronomeSDK::Models::V1::PackageListResponse::Override::OverrideSpecifier::billing_frequency?
692
708
 
693
709
  def billing_frequency=: (
@@ -725,6 +741,7 @@ module MetronomeSDK
725
741
  ) -> ::Array[String]
726
742
 
727
743
  def initialize: (
744
+ ?any_commit_or_credit_template_ids: ::Array[String],
728
745
  ?billing_frequency: MetronomeSDK::Models::V1::PackageListResponse::Override::OverrideSpecifier::billing_frequency,
729
746
  ?commit_template_ids: ::Array[String],
730
747
  ?presentation_group_values: ::Hash[Symbol, String?],
@@ -735,6 +752,7 @@ module MetronomeSDK
735
752
  ) -> void
736
753
 
737
754
  def to_hash: -> {
755
+ any_commit_or_credit_template_ids: ::Array[String],
738
756
  billing_frequency: MetronomeSDK::Models::V1::PackageListResponse::Override::OverrideSpecifier::billing_frequency,
739
757
  commit_template_ids: ::Array[String],
740
758
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1430,6 +1448,7 @@ module MetronomeSDK
1430
1448
  invoice_amount: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::InvoiceAmount,
1431
1449
  name: String,
1432
1450
  proration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::proration,
1451
+ proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding?,
1433
1452
  recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::recurrence_frequency,
1434
1453
  rollover_fraction: Float,
1435
1454
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1485,6 +1504,8 @@ module MetronomeSDK
1485
1504
  MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::proration
1486
1505
  ) -> MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::proration
1487
1506
 
1507
+ attr_accessor proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding?
1508
+
1488
1509
  attr_reader recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::recurrence_frequency?
1489
1510
 
1490
1511
  def recurrence_frequency=: (
@@ -1522,6 +1543,7 @@ module MetronomeSDK
1522
1543
  ?invoice_amount: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::InvoiceAmount,
1523
1544
  ?name: String,
1524
1545
  ?proration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::proration,
1546
+ ?proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding?,
1525
1547
  ?recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::recurrence_frequency,
1526
1548
  ?rollover_fraction: Float,
1527
1549
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1543,6 +1565,7 @@ module MetronomeSDK
1543
1565
  invoice_amount: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::InvoiceAmount,
1544
1566
  name: String,
1545
1567
  proration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::proration,
1568
+ proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding?,
1546
1569
  recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::recurrence_frequency,
1547
1570
  rollover_fraction: Float,
1548
1571
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1739,7 +1762,106 @@ module MetronomeSDK
1739
1762
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::proration]
1740
1763
  end
1741
1764
 
1742
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1765
+ type proration_rounding =
1766
+ {
1767
+ access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access,
1768
+ invoice: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice
1769
+ }
1770
+
1771
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1772
+ attr_reader access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access?
1773
+
1774
+ def access=: (
1775
+ MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access
1776
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access
1777
+
1778
+ attr_reader invoice: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice?
1779
+
1780
+ def invoice=: (
1781
+ MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice
1782
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice
1783
+
1784
+ def initialize: (
1785
+ ?access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access,
1786
+ ?invoice: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice
1787
+ ) -> void
1788
+
1789
+ def to_hash: -> {
1790
+ access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access,
1791
+ invoice: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice
1792
+ }
1793
+
1794
+ type access =
1795
+ {
1796
+ decimal_places: Float,
1797
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::rounding_method
1798
+ }
1799
+
1800
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1801
+ attr_accessor decimal_places: Float
1802
+
1803
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::rounding_method
1804
+
1805
+ def initialize: (
1806
+ decimal_places: Float,
1807
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::rounding_method
1808
+ ) -> void
1809
+
1810
+ def to_hash: -> {
1811
+ decimal_places: Float,
1812
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::rounding_method
1813
+ }
1814
+
1815
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1816
+
1817
+ module RoundingMethod
1818
+ extend MetronomeSDK::Internal::Type::Enum
1819
+
1820
+ HALF_UP: :HALF_UP
1821
+ FLOOR: :FLOOR
1822
+ CEILING: :CEILING
1823
+
1824
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Access::rounding_method]
1825
+ end
1826
+ end
1827
+
1828
+ type invoice =
1829
+ {
1830
+ decimal_places: Float,
1831
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::rounding_method
1832
+ }
1833
+
1834
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1835
+ attr_accessor decimal_places: Float
1836
+
1837
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::rounding_method
1838
+
1839
+ def initialize: (
1840
+ decimal_places: Float,
1841
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::rounding_method
1842
+ ) -> void
1843
+
1844
+ def to_hash: -> {
1845
+ decimal_places: Float,
1846
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::rounding_method
1847
+ }
1848
+
1849
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1850
+
1851
+ module RoundingMethod
1852
+ extend MetronomeSDK::Internal::Type::Enum
1853
+
1854
+ HALF_UP: :HALF_UP
1855
+ FLOOR: :FLOOR
1856
+ CEILING: :CEILING
1857
+
1858
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::ProrationRounding::Invoice::rounding_method]
1859
+ end
1860
+ end
1861
+ end
1862
+
1863
+ type recurrence_frequency =
1864
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1743
1865
 
1744
1866
  module RecurrenceFrequency
1745
1867
  extend MetronomeSDK::Internal::Type::Enum
@@ -1748,6 +1870,7 @@ module MetronomeSDK
1748
1870
  QUARTERLY: :QUARTERLY
1749
1871
  ANNUAL: :ANNUAL
1750
1872
  WEEKLY: :WEEKLY
1873
+ DAILY: :DAILY
1751
1874
 
1752
1875
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCommit::recurrence_frequency]
1753
1876
  end
@@ -1816,6 +1939,7 @@ module MetronomeSDK
1816
1939
  duration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::Duration,
1817
1940
  name: String,
1818
1941
  proration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::proration,
1942
+ proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding?,
1819
1943
  recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::recurrence_frequency,
1820
1944
  rollover_fraction: Float,
1821
1945
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1865,6 +1989,8 @@ module MetronomeSDK
1865
1989
  MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::proration
1866
1990
  ) -> MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::proration
1867
1991
 
1992
+ attr_accessor proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding?
1993
+
1868
1994
  attr_reader recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::recurrence_frequency?
1869
1995
 
1870
1996
  def recurrence_frequency=: (
@@ -1901,6 +2027,7 @@ module MetronomeSDK
1901
2027
  ?duration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::Duration,
1902
2028
  ?name: String,
1903
2029
  ?proration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::proration,
2030
+ ?proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding?,
1904
2031
  ?recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::recurrence_frequency,
1905
2032
  ?rollover_fraction: Float,
1906
2033
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1921,6 +2048,7 @@ module MetronomeSDK
1921
2048
  duration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::Duration,
1922
2049
  name: String,
1923
2050
  proration: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::proration,
2051
+ proration_rounding: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding?,
1924
2052
  recurrence_frequency: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::recurrence_frequency,
1925
2053
  rollover_fraction: Float,
1926
2054
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2094,7 +2222,63 @@ module MetronomeSDK
2094
2222
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::proration]
2095
2223
  end
2096
2224
 
2097
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2225
+ type proration_rounding =
2226
+ {
2227
+ access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access
2228
+ }
2229
+
2230
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2231
+ attr_reader access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access?
2232
+
2233
+ def access=: (
2234
+ MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access
2235
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access
2236
+
2237
+ def initialize: (
2238
+ ?access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access
2239
+ ) -> void
2240
+
2241
+ def to_hash: -> {
2242
+ access: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access
2243
+ }
2244
+
2245
+ type access =
2246
+ {
2247
+ decimal_places: Float,
2248
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::rounding_method
2249
+ }
2250
+
2251
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2252
+ attr_accessor decimal_places: Float
2253
+
2254
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::rounding_method
2255
+
2256
+ def initialize: (
2257
+ decimal_places: Float,
2258
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::rounding_method
2259
+ ) -> void
2260
+
2261
+ def to_hash: -> {
2262
+ decimal_places: Float,
2263
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::rounding_method
2264
+ }
2265
+
2266
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2267
+
2268
+ module RoundingMethod
2269
+ extend MetronomeSDK::Internal::Type::Enum
2270
+
2271
+ HALF_UP: :HALF_UP
2272
+ FLOOR: :FLOOR
2273
+ CEILING: :CEILING
2274
+
2275
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::ProrationRounding::Access::rounding_method]
2276
+ end
2277
+ end
2278
+ end
2279
+
2280
+ type recurrence_frequency =
2281
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2098
2282
 
2099
2283
  module RecurrenceFrequency
2100
2284
  extend MetronomeSDK::Internal::Type::Enum
@@ -2103,6 +2287,7 @@ module MetronomeSDK
2103
2287
  QUARTERLY: :QUARTERLY
2104
2288
  ANNUAL: :ANNUAL
2105
2289
  WEEKLY: :WEEKLY
2290
+ DAILY: :DAILY
2106
2291
 
2107
2292
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit::recurrence_frequency]
2108
2293
  end
@@ -2166,12 +2351,119 @@ module MetronomeSDK
2166
2351
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices]
2167
2352
  end
2168
2353
 
2354
+ type spend_tracker =
2355
+ {
2356
+ alias_: String,
2357
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier],
2358
+ credit_type_id: String,
2359
+ reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2360
+ }
2361
+
2362
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2363
+ attr_accessor alias_: String
2364
+
2365
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier]
2366
+
2367
+ attr_accessor credit_type_id: String
2368
+
2369
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2370
+
2371
+ def initialize: (
2372
+ alias_: String,
2373
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier],
2374
+ credit_type_id: String,
2375
+ reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2376
+ ) -> void
2377
+
2378
+ def to_hash: -> {
2379
+ alias_: String,
2380
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier],
2381
+ credit_type_id: String,
2382
+ reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2383
+ }
2384
+
2385
+ type applicable_spend_specifier =
2386
+ {
2387
+ sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source],
2388
+ spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type,
2389
+ discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2390
+ }
2391
+
2392
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2393
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source]
2394
+
2395
+ attr_accessor spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type
2396
+
2397
+ attr_reader discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted?
2398
+
2399
+ def discounted=: (
2400
+ MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2401
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2402
+
2403
+ def initialize: (
2404
+ sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source],
2405
+ spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type,
2406
+ ?discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2407
+ ) -> void
2408
+
2409
+ def to_hash: -> {
2410
+ sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source],
2411
+ spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type,
2412
+ discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2413
+ }
2414
+
2415
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2416
+
2417
+ module Source
2418
+ extend MetronomeSDK::Internal::Type::Enum
2419
+
2420
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2421
+ MANUAL: :MANUAL
2422
+
2423
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source]
2424
+ end
2425
+
2426
+ type spend_type = :COMMIT_PURCHASE
2427
+
2428
+ module SpendType
2429
+ extend MetronomeSDK::Internal::Type::Enum
2430
+
2431
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2432
+
2433
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type]
2434
+ end
2435
+
2436
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2437
+
2438
+ module Discounted
2439
+ extend MetronomeSDK::Internal::Type::Enum
2440
+
2441
+ ANY: :ANY
2442
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2443
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2444
+
2445
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted]
2446
+ end
2447
+ end
2448
+
2449
+ type reset_frequency = :BILLING_PERIOD
2450
+
2451
+ module ResetFrequency
2452
+ extend MetronomeSDK::Internal::Type::Enum
2453
+
2454
+ BILLING_PERIOD: :BILLING_PERIOD
2455
+
2456
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency]
2457
+ end
2458
+ end
2459
+
2169
2460
  type subscription =
2170
2461
  {
2171
2462
  collection_schedule: MetronomeSDK::Models::V1::PackageListResponse::Subscription::collection_schedule,
2172
2463
  proration: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration,
2173
2464
  subscription_rate: MetronomeSDK::Models::V1::PackageListResponse::Subscription::SubscriptionRate,
2174
2465
  id: String,
2466
+ billing_cycle_config: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig,
2175
2467
  custom_fields: ::Hash[Symbol, String],
2176
2468
  description: String,
2177
2469
  duration: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Duration,
@@ -2194,6 +2486,12 @@ module MetronomeSDK
2194
2486
 
2195
2487
  def id=: (String) -> String
2196
2488
 
2489
+ attr_reader billing_cycle_config: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig?
2490
+
2491
+ def billing_cycle_config=: (
2492
+ MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig
2493
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig
2494
+
2197
2495
  attr_reader custom_fields: ::Hash[Symbol, String]?
2198
2496
 
2199
2497
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -2243,6 +2541,7 @@ module MetronomeSDK
2243
2541
  proration: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration,
2244
2542
  subscription_rate: MetronomeSDK::Models::V1::PackageListResponse::Subscription::SubscriptionRate,
2245
2543
  ?id: String,
2544
+ ?billing_cycle_config: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig,
2246
2545
  ?custom_fields: ::Hash[Symbol, String],
2247
2546
  ?description: String,
2248
2547
  ?duration: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Duration,
@@ -2259,6 +2558,7 @@ module MetronomeSDK
2259
2558
  proration: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration,
2260
2559
  subscription_rate: MetronomeSDK::Models::V1::PackageListResponse::Subscription::SubscriptionRate,
2261
2560
  id: String,
2561
+ billing_cycle_config: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig,
2262
2562
  custom_fields: ::Hash[Symbol, String],
2263
2563
  description: String,
2264
2564
  duration: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Duration,
@@ -2284,7 +2584,8 @@ module MetronomeSDK
2284
2584
  type proration =
2285
2585
  {
2286
2586
  invoice_behavior: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::invoice_behavior,
2287
- is_prorated: bool
2587
+ is_prorated: bool,
2588
+ rounding: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding
2288
2589
  }
2289
2590
 
2290
2591
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -2292,14 +2593,22 @@ module MetronomeSDK
2292
2593
 
2293
2594
  attr_accessor is_prorated: bool
2294
2595
 
2596
+ attr_reader rounding: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding?
2597
+
2598
+ def rounding=: (
2599
+ MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding
2600
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding
2601
+
2295
2602
  def initialize: (
2296
2603
  invoice_behavior: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::invoice_behavior,
2297
- is_prorated: bool
2604
+ is_prorated: bool,
2605
+ ?rounding: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding
2298
2606
  ) -> void
2299
2607
 
2300
2608
  def to_hash: -> {
2301
2609
  invoice_behavior: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::invoice_behavior,
2302
- is_prorated: bool
2610
+ is_prorated: bool,
2611
+ rounding: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding
2303
2612
  }
2304
2613
 
2305
2614
  type invoice_behavior =
@@ -2313,6 +2622,40 @@ module MetronomeSDK
2313
2622
 
2314
2623
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::invoice_behavior]
2315
2624
  end
2625
+
2626
+ type rounding =
2627
+ {
2628
+ decimal_places: Float,
2629
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::rounding_method
2630
+ }
2631
+
2632
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2633
+ attr_accessor decimal_places: Float
2634
+
2635
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::rounding_method
2636
+
2637
+ def initialize: (
2638
+ decimal_places: Float,
2639
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::rounding_method
2640
+ ) -> void
2641
+
2642
+ def to_hash: -> {
2643
+ decimal_places: Float,
2644
+ rounding_method: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::rounding_method
2645
+ }
2646
+
2647
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2648
+
2649
+ module RoundingMethod
2650
+ extend MetronomeSDK::Internal::Type::Enum
2651
+
2652
+ HALF_UP: :HALF_UP
2653
+ FLOOR: :FLOOR
2654
+ CEILING: :CEILING
2655
+
2656
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription::Proration::Rounding::rounding_method]
2657
+ end
2658
+ end
2316
2659
  end
2317
2660
 
2318
2661
  type subscription_rate =
@@ -2362,6 +2705,38 @@ module MetronomeSDK
2362
2705
  end
2363
2706
  end
2364
2707
 
2708
+ type billing_cycle_config =
2709
+ {
2710
+ invoice_placement: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement
2711
+ }
2712
+
2713
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2714
+ attr_reader invoice_placement: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement?
2715
+
2716
+ def invoice_placement=: (
2717
+ MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement
2718
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement
2719
+
2720
+ def initialize: (
2721
+ ?invoice_placement: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement
2722
+ ) -> void
2723
+
2724
+ def to_hash: -> {
2725
+ invoice_placement: MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement
2726
+ }
2727
+
2728
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
2729
+
2730
+ module InvoicePlacement
2731
+ extend MetronomeSDK::Internal::Type::Enum
2732
+
2733
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
2734
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
2735
+
2736
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription::BillingCycleConfig::invoice_placement]
2737
+ end
2738
+ end
2739
+
2365
2740
  type duration =
2366
2741
  {
2367
2742
  unit: MetronomeSDK::Models::V1::PackageListResponse::Subscription::Duration::unit,