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
@@ -40,6 +40,7 @@ module MetronomeSDK
40
40
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit],
41
41
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
42
42
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
43
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker],
43
44
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription],
44
45
  uniqueness_key: String
45
46
  }
@@ -145,6 +146,12 @@ module MetronomeSDK
145
146
  MetronomeSDK::SpendThresholdConfiguration
146
147
  ) -> MetronomeSDK::SpendThresholdConfiguration
147
148
 
149
+ attr_reader spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker]?
150
+
151
+ def spend_trackers=: (
152
+ ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker]
153
+ ) -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker]
154
+
148
155
  attr_reader subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription]?
149
156
 
150
157
  def subscriptions=: (
@@ -179,6 +186,7 @@ module MetronomeSDK
179
186
  ?recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit],
180
187
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
181
188
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
189
+ ?spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker],
182
190
  ?subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription],
183
191
  ?uniqueness_key: String
184
192
  ) -> void
@@ -207,6 +215,7 @@ module MetronomeSDK
207
215
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit],
208
216
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
209
217
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
218
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker],
210
219
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription],
211
220
  uniqueness_key: String
212
221
  }
@@ -694,6 +703,7 @@ module MetronomeSDK
694
703
 
695
704
  type override_specifier =
696
705
  {
706
+ any_commit_or_credit_template_ids: ::Array[String],
697
707
  billing_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency,
698
708
  commit_template_ids: ::Array[String],
699
709
  presentation_group_values: ::Hash[Symbol, String?],
@@ -704,6 +714,12 @@ module MetronomeSDK
704
714
  }
705
715
 
706
716
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
717
+ attr_reader any_commit_or_credit_template_ids: ::Array[String]?
718
+
719
+ def any_commit_or_credit_template_ids=: (
720
+ ::Array[String]
721
+ ) -> ::Array[String]
722
+
707
723
  attr_reader billing_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency?
708
724
 
709
725
  def billing_frequency=: (
@@ -741,6 +757,7 @@ module MetronomeSDK
741
757
  ) -> ::Array[String]
742
758
 
743
759
  def initialize: (
760
+ ?any_commit_or_credit_template_ids: ::Array[String],
744
761
  ?billing_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency,
745
762
  ?commit_template_ids: ::Array[String],
746
763
  ?presentation_group_values: ::Hash[Symbol, String?],
@@ -751,6 +768,7 @@ module MetronomeSDK
751
768
  ) -> void
752
769
 
753
770
  def to_hash: -> {
771
+ any_commit_or_credit_template_ids: ::Array[String],
754
772
  billing_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency,
755
773
  commit_template_ids: ::Array[String],
756
774
  presentation_group_values: ::Hash[Symbol, String?],
@@ -1451,6 +1469,7 @@ module MetronomeSDK
1451
1469
  invoice_amount: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::InvoiceAmount,
1452
1470
  name: String,
1453
1471
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::proration,
1472
+ proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding?,
1454
1473
  recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::recurrence_frequency,
1455
1474
  rollover_fraction: Float,
1456
1475
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1506,6 +1525,8 @@ module MetronomeSDK
1506
1525
  MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::proration
1507
1526
  ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::proration
1508
1527
 
1528
+ attr_accessor proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding?
1529
+
1509
1530
  attr_reader recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::recurrence_frequency?
1510
1531
 
1511
1532
  def recurrence_frequency=: (
@@ -1543,6 +1564,7 @@ module MetronomeSDK
1543
1564
  ?invoice_amount: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::InvoiceAmount,
1544
1565
  ?name: String,
1545
1566
  ?proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::proration,
1567
+ ?proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding?,
1546
1568
  ?recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::recurrence_frequency,
1547
1569
  ?rollover_fraction: Float,
1548
1570
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1564,6 +1586,7 @@ module MetronomeSDK
1564
1586
  invoice_amount: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::InvoiceAmount,
1565
1587
  name: String,
1566
1588
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::proration,
1589
+ proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding?,
1567
1590
  recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::recurrence_frequency,
1568
1591
  rollover_fraction: Float,
1569
1592
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1760,8 +1783,106 @@ module MetronomeSDK
1760
1783
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::proration]
1761
1784
  end
1762
1785
 
1786
+ type proration_rounding =
1787
+ {
1788
+ access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access,
1789
+ invoice: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice
1790
+ }
1791
+
1792
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1793
+ attr_reader access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access?
1794
+
1795
+ def access=: (
1796
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access
1797
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access
1798
+
1799
+ attr_reader invoice: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice?
1800
+
1801
+ def invoice=: (
1802
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice
1803
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice
1804
+
1805
+ def initialize: (
1806
+ ?access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access,
1807
+ ?invoice: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice
1808
+ ) -> void
1809
+
1810
+ def to_hash: -> {
1811
+ access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access,
1812
+ invoice: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice
1813
+ }
1814
+
1815
+ type access =
1816
+ {
1817
+ decimal_places: Float,
1818
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::rounding_method
1819
+ }
1820
+
1821
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1822
+ attr_accessor decimal_places: Float
1823
+
1824
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::rounding_method
1825
+
1826
+ def initialize: (
1827
+ decimal_places: Float,
1828
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::rounding_method
1829
+ ) -> void
1830
+
1831
+ def to_hash: -> {
1832
+ decimal_places: Float,
1833
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::rounding_method
1834
+ }
1835
+
1836
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1837
+
1838
+ module RoundingMethod
1839
+ extend MetronomeSDK::Internal::Type::Enum
1840
+
1841
+ HALF_UP: :HALF_UP
1842
+ FLOOR: :FLOOR
1843
+ CEILING: :CEILING
1844
+
1845
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Access::rounding_method]
1846
+ end
1847
+ end
1848
+
1849
+ type invoice =
1850
+ {
1851
+ decimal_places: Float,
1852
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::rounding_method
1853
+ }
1854
+
1855
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1856
+ attr_accessor decimal_places: Float
1857
+
1858
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::rounding_method
1859
+
1860
+ def initialize: (
1861
+ decimal_places: Float,
1862
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::rounding_method
1863
+ ) -> void
1864
+
1865
+ def to_hash: -> {
1866
+ decimal_places: Float,
1867
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::rounding_method
1868
+ }
1869
+
1870
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1871
+
1872
+ module RoundingMethod
1873
+ extend MetronomeSDK::Internal::Type::Enum
1874
+
1875
+ HALF_UP: :HALF_UP
1876
+ FLOOR: :FLOOR
1877
+ CEILING: :CEILING
1878
+
1879
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::ProrationRounding::Invoice::rounding_method]
1880
+ end
1881
+ end
1882
+ end
1883
+
1763
1884
  type recurrence_frequency =
1764
- :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1885
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1765
1886
 
1766
1887
  module RecurrenceFrequency
1767
1888
  extend MetronomeSDK::Internal::Type::Enum
@@ -1770,6 +1891,7 @@ module MetronomeSDK
1770
1891
  QUARTERLY: :QUARTERLY
1771
1892
  ANNUAL: :ANNUAL
1772
1893
  WEEKLY: :WEEKLY
1894
+ DAILY: :DAILY
1773
1895
 
1774
1896
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCommit::recurrence_frequency]
1775
1897
  end
@@ -1838,6 +1960,7 @@ module MetronomeSDK
1838
1960
  duration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::Duration,
1839
1961
  name: String,
1840
1962
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::proration,
1963
+ proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding?,
1841
1964
  recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::recurrence_frequency,
1842
1965
  rollover_fraction: Float,
1843
1966
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1887,6 +2010,8 @@ module MetronomeSDK
1887
2010
  MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::proration
1888
2011
  ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::proration
1889
2012
 
2013
+ attr_accessor proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding?
2014
+
1890
2015
  attr_reader recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::recurrence_frequency?
1891
2016
 
1892
2017
  def recurrence_frequency=: (
@@ -1923,6 +2048,7 @@ module MetronomeSDK
1923
2048
  ?duration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::Duration,
1924
2049
  ?name: String,
1925
2050
  ?proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::proration,
2051
+ ?proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding?,
1926
2052
  ?recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::recurrence_frequency,
1927
2053
  ?rollover_fraction: Float,
1928
2054
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -1943,6 +2069,7 @@ module MetronomeSDK
1943
2069
  duration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::Duration,
1944
2070
  name: String,
1945
2071
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::proration,
2072
+ proration_rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding?,
1946
2073
  recurrence_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::recurrence_frequency,
1947
2074
  rollover_fraction: Float,
1948
2075
  specifiers: ::Array[MetronomeSDK::CommitSpecifier],
@@ -2116,8 +2243,63 @@ module MetronomeSDK
2116
2243
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::proration]
2117
2244
  end
2118
2245
 
2246
+ type proration_rounding =
2247
+ {
2248
+ access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access
2249
+ }
2250
+
2251
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2252
+ attr_reader access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access?
2253
+
2254
+ def access=: (
2255
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access
2256
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access
2257
+
2258
+ def initialize: (
2259
+ ?access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access
2260
+ ) -> void
2261
+
2262
+ def to_hash: -> {
2263
+ access: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access
2264
+ }
2265
+
2266
+ type access =
2267
+ {
2268
+ decimal_places: Float,
2269
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::rounding_method
2270
+ }
2271
+
2272
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2273
+ attr_accessor decimal_places: Float
2274
+
2275
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::rounding_method
2276
+
2277
+ def initialize: (
2278
+ decimal_places: Float,
2279
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::rounding_method
2280
+ ) -> void
2281
+
2282
+ def to_hash: -> {
2283
+ decimal_places: Float,
2284
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::rounding_method
2285
+ }
2286
+
2287
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2288
+
2289
+ module RoundingMethod
2290
+ extend MetronomeSDK::Internal::Type::Enum
2291
+
2292
+ HALF_UP: :HALF_UP
2293
+ FLOOR: :FLOOR
2294
+ CEILING: :CEILING
2295
+
2296
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::ProrationRounding::Access::rounding_method]
2297
+ end
2298
+ end
2299
+ end
2300
+
2119
2301
  type recurrence_frequency =
2120
- :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2302
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2121
2303
 
2122
2304
  module RecurrenceFrequency
2123
2305
  extend MetronomeSDK::Internal::Type::Enum
@@ -2126,6 +2308,7 @@ module MetronomeSDK
2126
2308
  QUARTERLY: :QUARTERLY
2127
2309
  ANNUAL: :ANNUAL
2128
2310
  WEEKLY: :WEEKLY
2311
+ DAILY: :DAILY
2129
2312
 
2130
2313
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit::recurrence_frequency]
2131
2314
  end
@@ -2189,12 +2372,119 @@ module MetronomeSDK
2189
2372
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices]
2190
2373
  end
2191
2374
 
2375
+ type spend_tracker =
2376
+ {
2377
+ alias_: String,
2378
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier],
2379
+ credit_type_id: String,
2380
+ reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2381
+ }
2382
+
2383
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2384
+ attr_accessor alias_: String
2385
+
2386
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier]
2387
+
2388
+ attr_accessor credit_type_id: String
2389
+
2390
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2391
+
2392
+ def initialize: (
2393
+ alias_: String,
2394
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier],
2395
+ credit_type_id: String,
2396
+ reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2397
+ ) -> void
2398
+
2399
+ def to_hash: -> {
2400
+ alias_: String,
2401
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier],
2402
+ credit_type_id: String,
2403
+ reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2404
+ }
2405
+
2406
+ type applicable_spend_specifier =
2407
+ {
2408
+ sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source],
2409
+ spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type,
2410
+ discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2411
+ }
2412
+
2413
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2414
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source]
2415
+
2416
+ attr_accessor spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type
2417
+
2418
+ attr_reader discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted?
2419
+
2420
+ def discounted=: (
2421
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2422
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2423
+
2424
+ def initialize: (
2425
+ sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source],
2426
+ spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type,
2427
+ ?discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2428
+ ) -> void
2429
+
2430
+ def to_hash: -> {
2431
+ sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source],
2432
+ spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type,
2433
+ discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2434
+ }
2435
+
2436
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2437
+
2438
+ module Source
2439
+ extend MetronomeSDK::Internal::Type::Enum
2440
+
2441
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2442
+ MANUAL: :MANUAL
2443
+
2444
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source]
2445
+ end
2446
+
2447
+ type spend_type = :COMMIT_PURCHASE
2448
+
2449
+ module SpendType
2450
+ extend MetronomeSDK::Internal::Type::Enum
2451
+
2452
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2453
+
2454
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type]
2455
+ end
2456
+
2457
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2458
+
2459
+ module Discounted
2460
+ extend MetronomeSDK::Internal::Type::Enum
2461
+
2462
+ ANY: :ANY
2463
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2464
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2465
+
2466
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted]
2467
+ end
2468
+ end
2469
+
2470
+ type reset_frequency = :BILLING_PERIOD
2471
+
2472
+ module ResetFrequency
2473
+ extend MetronomeSDK::Internal::Type::Enum
2474
+
2475
+ BILLING_PERIOD: :BILLING_PERIOD
2476
+
2477
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency]
2478
+ end
2479
+ end
2480
+
2192
2481
  type subscription =
2193
2482
  {
2194
2483
  collection_schedule: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::collection_schedule,
2195
2484
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration,
2196
2485
  subscription_rate: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::SubscriptionRate,
2197
2486
  id: String,
2487
+ billing_cycle_config: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig,
2198
2488
  custom_fields: ::Hash[Symbol, String],
2199
2489
  description: String,
2200
2490
  duration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Duration,
@@ -2217,6 +2507,12 @@ module MetronomeSDK
2217
2507
 
2218
2508
  def id=: (String) -> String
2219
2509
 
2510
+ attr_reader billing_cycle_config: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig?
2511
+
2512
+ def billing_cycle_config=: (
2513
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig
2514
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig
2515
+
2220
2516
  attr_reader custom_fields: ::Hash[Symbol, String]?
2221
2517
 
2222
2518
  def custom_fields=: (
@@ -2268,6 +2564,7 @@ module MetronomeSDK
2268
2564
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration,
2269
2565
  subscription_rate: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::SubscriptionRate,
2270
2566
  ?id: String,
2567
+ ?billing_cycle_config: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig,
2271
2568
  ?custom_fields: ::Hash[Symbol, String],
2272
2569
  ?description: String,
2273
2570
  ?duration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Duration,
@@ -2284,6 +2581,7 @@ module MetronomeSDK
2284
2581
  proration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration,
2285
2582
  subscription_rate: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::SubscriptionRate,
2286
2583
  id: String,
2584
+ billing_cycle_config: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig,
2287
2585
  custom_fields: ::Hash[Symbol, String],
2288
2586
  description: String,
2289
2587
  duration: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Duration,
@@ -2309,7 +2607,8 @@ module MetronomeSDK
2309
2607
  type proration =
2310
2608
  {
2311
2609
  invoice_behavior: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::invoice_behavior,
2312
- is_prorated: bool
2610
+ is_prorated: bool,
2611
+ rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding
2313
2612
  }
2314
2613
 
2315
2614
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -2317,14 +2616,22 @@ module MetronomeSDK
2317
2616
 
2318
2617
  attr_accessor is_prorated: bool
2319
2618
 
2619
+ attr_reader rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding?
2620
+
2621
+ def rounding=: (
2622
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding
2623
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding
2624
+
2320
2625
  def initialize: (
2321
2626
  invoice_behavior: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::invoice_behavior,
2322
- is_prorated: bool
2627
+ is_prorated: bool,
2628
+ ?rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding
2323
2629
  ) -> void
2324
2630
 
2325
2631
  def to_hash: -> {
2326
2632
  invoice_behavior: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::invoice_behavior,
2327
- is_prorated: bool
2633
+ is_prorated: bool,
2634
+ rounding: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding
2328
2635
  }
2329
2636
 
2330
2637
  type invoice_behavior =
@@ -2338,6 +2645,40 @@ module MetronomeSDK
2338
2645
 
2339
2646
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::invoice_behavior]
2340
2647
  end
2648
+
2649
+ type rounding =
2650
+ {
2651
+ decimal_places: Float,
2652
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::rounding_method
2653
+ }
2654
+
2655
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2656
+ attr_accessor decimal_places: Float
2657
+
2658
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::rounding_method
2659
+
2660
+ def initialize: (
2661
+ decimal_places: Float,
2662
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::rounding_method
2663
+ ) -> void
2664
+
2665
+ def to_hash: -> {
2666
+ decimal_places: Float,
2667
+ rounding_method: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::rounding_method
2668
+ }
2669
+
2670
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2671
+
2672
+ module RoundingMethod
2673
+ extend MetronomeSDK::Internal::Type::Enum
2674
+
2675
+ HALF_UP: :HALF_UP
2676
+ FLOOR: :FLOOR
2677
+ CEILING: :CEILING
2678
+
2679
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Proration::Rounding::rounding_method]
2680
+ end
2681
+ end
2341
2682
  end
2342
2683
 
2343
2684
  type subscription_rate =
@@ -2387,6 +2728,38 @@ module MetronomeSDK
2387
2728
  end
2388
2729
  end
2389
2730
 
2731
+ type billing_cycle_config =
2732
+ {
2733
+ invoice_placement: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement
2734
+ }
2735
+
2736
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2737
+ attr_reader invoice_placement: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement?
2738
+
2739
+ def invoice_placement=: (
2740
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement
2741
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement
2742
+
2743
+ def initialize: (
2744
+ ?invoice_placement: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement
2745
+ ) -> void
2746
+
2747
+ def to_hash: -> {
2748
+ invoice_placement: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement
2749
+ }
2750
+
2751
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
2752
+
2753
+ module InvoicePlacement
2754
+ extend MetronomeSDK::Internal::Type::Enum
2755
+
2756
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
2757
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
2758
+
2759
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::BillingCycleConfig::invoice_placement]
2760
+ end
2761
+ end
2762
+
2390
2763
  type duration =
2391
2764
  {
2392
2765
  unit: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::Duration::unit,