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
@@ -1,14 +1,1220 @@
1
1
  module MetronomeSDK
2
2
  module Models
3
3
  module V1
4
- type contract_create_response = { data: MetronomeSDK::ID }
4
+ type contract_create_response =
5
+ { data: MetronomeSDK::Models::V1::ContractCreateResponse::Data }
5
6
 
6
7
  class ContractCreateResponse < MetronomeSDK::Internal::Type::BaseModel
7
- attr_accessor data: MetronomeSDK::ID
8
+ attr_accessor data: MetronomeSDK::Models::V1::ContractCreateResponse::Data
8
9
 
9
- def initialize: (data: MetronomeSDK::ID) -> void
10
+ def initialize: (
11
+ data: MetronomeSDK::Models::V1::ContractCreateResponse::Data
12
+ ) -> void
10
13
 
11
- def to_hash: -> { data: MetronomeSDK::ID }
14
+ def to_hash: -> {
15
+ data: MetronomeSDK::Models::V1::ContractCreateResponse::Data
16
+ }
17
+
18
+ type data =
19
+ {
20
+ id: String,
21
+ contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract
22
+ }
23
+
24
+ class Data < MetronomeSDK::Internal::Type::BaseModel
25
+ attr_accessor id: String
26
+
27
+ attr_reader contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract?
28
+
29
+ def contract=: (
30
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract
31
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract
32
+
33
+ def initialize: (
34
+ id: String,
35
+ ?contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract
41
+ }
42
+
43
+ type contract =
44
+ {
45
+ id: String,
46
+ commits: ::Array[MetronomeSDK::Commit],
47
+ created_at: Time,
48
+ created_by: String,
49
+ customer_id: String,
50
+ overrides: ::Array[MetronomeSDK::Override],
51
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
52
+ starting_at: Time,
53
+ transitions: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition],
54
+ usage_filter: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageFilter],
55
+ usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule,
56
+ credits: ::Array[MetronomeSDK::Credit],
57
+ custom_fields: ::Hash[Symbol, String],
58
+ customer_billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration,
59
+ ending_before: Time,
60
+ has_more: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::HasMore,
61
+ hierarchy_configuration: MetronomeSDK::Models::hierarchy_configuration,
62
+ multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization,
63
+ name: String,
64
+ net_payment_terms_days: Float,
65
+ package_id: String,
66
+ prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
67
+ rate_card_id: String,
68
+ recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit],
69
+ recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit],
70
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices,
71
+ spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
72
+ subscriptions: ::Array[MetronomeSDK::Subscription],
73
+ uniqueness_key: String
74
+ }
75
+
76
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
77
+ attr_accessor id: String
78
+
79
+ attr_accessor commits: ::Array[MetronomeSDK::Commit]
80
+
81
+ attr_accessor created_at: Time
82
+
83
+ attr_accessor created_by: String
84
+
85
+ attr_accessor customer_id: String
86
+
87
+ attr_accessor overrides: ::Array[MetronomeSDK::Override]
88
+
89
+ attr_accessor scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge]
90
+
91
+ attr_accessor starting_at: Time
92
+
93
+ attr_accessor transitions: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition]
94
+
95
+ attr_accessor usage_filter: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageFilter]
96
+
97
+ attr_accessor usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule
98
+
99
+ attr_reader credits: ::Array[MetronomeSDK::Credit]?
100
+
101
+ def credits=: (
102
+ ::Array[MetronomeSDK::Credit]
103
+ ) -> ::Array[MetronomeSDK::Credit]
104
+
105
+ attr_reader custom_fields: ::Hash[Symbol, String]?
106
+
107
+ def custom_fields=: (
108
+ ::Hash[Symbol, String]
109
+ ) -> ::Hash[Symbol, String]
110
+
111
+ attr_reader customer_billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration?
112
+
113
+ def customer_billing_provider_configuration=: (
114
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration
115
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration
116
+
117
+ attr_reader ending_before: Time?
118
+
119
+ def ending_before=: (Time) -> Time
120
+
121
+ attr_reader has_more: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::HasMore?
122
+
123
+ def has_more=: (
124
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::HasMore
125
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::HasMore
126
+
127
+ attr_reader hierarchy_configuration: MetronomeSDK::Models::hierarchy_configuration?
128
+
129
+ def hierarchy_configuration=: (
130
+ MetronomeSDK::Models::hierarchy_configuration
131
+ ) -> MetronomeSDK::Models::hierarchy_configuration
132
+
133
+ attr_reader multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization?
134
+
135
+ def multiplier_override_prioritization=: (
136
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization
137
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization
138
+
139
+ attr_reader name: String?
140
+
141
+ def name=: (String) -> String
142
+
143
+ attr_reader net_payment_terms_days: Float?
144
+
145
+ def net_payment_terms_days=: (Float) -> Float
146
+
147
+ attr_reader package_id: String?
148
+
149
+ def package_id=: (String) -> String
150
+
151
+ attr_reader prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration?
152
+
153
+ def prepaid_balance_threshold_configuration=: (
154
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration
155
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfiguration
156
+
157
+ attr_reader rate_card_id: String?
158
+
159
+ def rate_card_id=: (String) -> String
160
+
161
+ attr_reader recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit]?
162
+
163
+ def recurring_commits=: (
164
+ ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit]
165
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit]
166
+
167
+ attr_reader recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit]?
168
+
169
+ def recurring_credits=: (
170
+ ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit]
171
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit]
172
+
173
+ attr_reader scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices?
174
+
175
+ def scheduled_charges_on_usage_invoices=: (
176
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices
177
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices
178
+
179
+ attr_reader spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration?
180
+
181
+ def spend_threshold_configuration=: (
182
+ MetronomeSDK::SpendThresholdConfiguration
183
+ ) -> MetronomeSDK::SpendThresholdConfiguration
184
+
185
+ attr_reader subscriptions: ::Array[MetronomeSDK::Subscription]?
186
+
187
+ def subscriptions=: (
188
+ ::Array[MetronomeSDK::Subscription]
189
+ ) -> ::Array[MetronomeSDK::Subscription]
190
+
191
+ attr_reader uniqueness_key: String?
192
+
193
+ def uniqueness_key=: (String) -> String
194
+
195
+ def initialize: (
196
+ id: String,
197
+ commits: ::Array[MetronomeSDK::Commit],
198
+ created_at: Time,
199
+ created_by: String,
200
+ customer_id: String,
201
+ overrides: ::Array[MetronomeSDK::Override],
202
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
203
+ starting_at: Time,
204
+ transitions: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition],
205
+ usage_filter: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageFilter],
206
+ usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule,
207
+ ?credits: ::Array[MetronomeSDK::Credit],
208
+ ?custom_fields: ::Hash[Symbol, String],
209
+ ?customer_billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration,
210
+ ?ending_before: Time,
211
+ ?has_more: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::HasMore,
212
+ ?hierarchy_configuration: MetronomeSDK::Models::hierarchy_configuration,
213
+ ?multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization,
214
+ ?name: String,
215
+ ?net_payment_terms_days: Float,
216
+ ?package_id: String,
217
+ ?prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
218
+ ?rate_card_id: String,
219
+ ?recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit],
220
+ ?recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit],
221
+ ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices,
222
+ ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
223
+ ?subscriptions: ::Array[MetronomeSDK::Subscription],
224
+ ?uniqueness_key: String
225
+ ) -> void
226
+
227
+ def to_hash: -> {
228
+ id: String,
229
+ commits: ::Array[MetronomeSDK::Commit],
230
+ created_at: Time,
231
+ created_by: String,
232
+ customer_id: String,
233
+ overrides: ::Array[MetronomeSDK::Override],
234
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
235
+ starting_at: Time,
236
+ transitions: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition],
237
+ usage_filter: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageFilter],
238
+ usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule,
239
+ credits: ::Array[MetronomeSDK::Credit],
240
+ custom_fields: ::Hash[Symbol, String],
241
+ customer_billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration,
242
+ ending_before: Time,
243
+ has_more: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::HasMore,
244
+ hierarchy_configuration: MetronomeSDK::Models::hierarchy_configuration,
245
+ multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization,
246
+ name: String,
247
+ net_payment_terms_days: Float,
248
+ package_id: String,
249
+ prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
250
+ rate_card_id: String,
251
+ recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit],
252
+ recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit],
253
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices,
254
+ spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
255
+ subscriptions: ::Array[MetronomeSDK::Subscription],
256
+ uniqueness_key: String
257
+ }
258
+
259
+ type transition =
260
+ {
261
+ from_contract_id: String,
262
+ to_contract_id: String,
263
+ type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition::type_
264
+ }
265
+
266
+ class Transition < MetronomeSDK::Internal::Type::BaseModel
267
+ attr_accessor from_contract_id: String
268
+
269
+ attr_accessor to_contract_id: String
270
+
271
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition::type_
272
+
273
+ def initialize: (
274
+ from_contract_id: String,
275
+ to_contract_id: String,
276
+ type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition::type_
277
+ ) -> void
278
+
279
+ def to_hash: -> {
280
+ from_contract_id: String,
281
+ to_contract_id: String,
282
+ type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition::type_
283
+ }
284
+
285
+ type type_ = :SUPERSEDE | :RENEWAL
286
+
287
+ module Type
288
+ extend MetronomeSDK::Internal::Type::Enum
289
+
290
+ SUPERSEDE: :SUPERSEDE
291
+ RENEWAL: :RENEWAL
292
+
293
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::Transition::type_]
294
+ end
295
+ end
296
+
297
+ type usage_filter =
298
+ {
299
+ group_key: String,
300
+ group_values: ::Array[String],
301
+ starting_at: Time,
302
+ ending_before: Time
303
+ }
304
+
305
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
306
+ attr_accessor group_key: String
307
+
308
+ attr_accessor group_values: ::Array[String]
309
+
310
+ attr_accessor starting_at: Time
311
+
312
+ attr_reader ending_before: Time?
313
+
314
+ def ending_before=: (Time) -> Time
315
+
316
+ def initialize: (
317
+ group_key: String,
318
+ group_values: ::Array[String],
319
+ starting_at: Time,
320
+ ?ending_before: Time
321
+ ) -> void
322
+
323
+ def to_hash: -> {
324
+ group_key: String,
325
+ group_values: ::Array[String],
326
+ starting_at: Time,
327
+ ending_before: Time
328
+ }
329
+ end
330
+
331
+ type usage_statement_schedule =
332
+ {
333
+ billing_anchor_date: Time,
334
+ frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule::frequency
335
+ }
336
+
337
+ class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
338
+ attr_accessor billing_anchor_date: Time
339
+
340
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule::frequency
341
+
342
+ def initialize: (
343
+ billing_anchor_date: Time,
344
+ frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule::frequency
345
+ ) -> void
346
+
347
+ def to_hash: -> {
348
+ billing_anchor_date: Time,
349
+ frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule::frequency
350
+ }
351
+
352
+ type frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
353
+
354
+ module Frequency
355
+ extend MetronomeSDK::Internal::Type::Enum
356
+
357
+ MONTHLY: :MONTHLY
358
+ QUARTERLY: :QUARTERLY
359
+ ANNUAL: :ANNUAL
360
+ WEEKLY: :WEEKLY
361
+
362
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::UsageStatementSchedule::frequency]
363
+ end
364
+ end
365
+
366
+ type customer_billing_provider_configuration =
367
+ {
368
+ id: String,
369
+ billing_provider: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider,
370
+ delivery_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method
371
+ }
372
+
373
+ class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
374
+ attr_reader id: String?
375
+
376
+ def id=: (String) -> String
377
+
378
+ attr_reader billing_provider: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider?
379
+
380
+ def billing_provider=: (
381
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider
382
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider
383
+
384
+ attr_reader delivery_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method?
385
+
386
+ def delivery_method=: (
387
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method
388
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method
389
+
390
+ def initialize: (
391
+ ?id: String,
392
+ ?billing_provider: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider,
393
+ ?delivery_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method
394
+ ) -> void
395
+
396
+ def to_hash: -> {
397
+ id: String,
398
+ billing_provider: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider,
399
+ delivery_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method
400
+ }
401
+
402
+ type billing_provider =
403
+ :aws_marketplace
404
+ | :stripe
405
+ | :netsuite
406
+ | :custom
407
+ | :azure_marketplace
408
+ | :quickbooks_online
409
+ | :workday
410
+ | :gcp_marketplace
411
+ | :metronome
412
+
413
+ module BillingProvider
414
+ extend MetronomeSDK::Internal::Type::Enum
415
+
416
+ AWS_MARKETPLACE: :aws_marketplace
417
+ STRIPE: :stripe
418
+ NETSUITE: :netsuite
419
+ CUSTOM: :custom
420
+ AZURE_MARKETPLACE: :azure_marketplace
421
+ QUICKBOOKS_ONLINE: :quickbooks_online
422
+ WORKDAY: :workday
423
+ GCP_MARKETPLACE: :gcp_marketplace
424
+ METRONOME: :metronome
425
+
426
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::billing_provider]
427
+ end
428
+
429
+ type delivery_method =
430
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
431
+
432
+ module DeliveryMethod
433
+ extend MetronomeSDK::Internal::Type::Enum
434
+
435
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
436
+ AWS_SQS: :aws_sqs
437
+ TACKLE: :tackle
438
+ AWS_SNS: :aws_sns
439
+
440
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::CustomerBillingProviderConfiguration::delivery_method]
441
+ end
442
+ end
443
+
444
+ type has_more = { commits: bool, credits: bool }
445
+
446
+ class HasMore < MetronomeSDK::Internal::Type::BaseModel
447
+ attr_accessor commits: bool
448
+
449
+ attr_accessor credits: bool
450
+
451
+ def initialize: (commits: bool, credits: bool) -> void
452
+
453
+ def to_hash: -> { commits: bool, credits: bool }
454
+ end
455
+
456
+ type multiplier_override_prioritization =
457
+ :LOWEST_MULTIPLIER | :EXPLICIT
458
+
459
+ module MultiplierOverridePrioritization
460
+ extend MetronomeSDK::Internal::Type::Enum
461
+
462
+ LOWEST_MULTIPLIER: :LOWEST_MULTIPLIER
463
+ EXPLICIT: :EXPLICIT
464
+
465
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::multiplier_override_prioritization]
466
+ end
467
+
468
+ type recurring_commit =
469
+ {
470
+ id: String,
471
+ access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::AccessAmount,
472
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration,
473
+ priority: Float,
474
+ product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Product,
475
+ rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::rate_type,
476
+ starting_at: Time,
477
+ applicable_product_ids: ::Array[String],
478
+ applicable_product_tags: ::Array[String],
479
+ contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Contract,
480
+ description: String,
481
+ ending_before: Time,
482
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
483
+ invoice_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::InvoiceAmount,
484
+ name: String,
485
+ netsuite_sales_order_id: String,
486
+ proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration,
487
+ proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding?,
488
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency,
489
+ rollover_fraction: Float,
490
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
491
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
492
+ }
493
+
494
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
495
+ attr_accessor id: String
496
+
497
+ attr_accessor access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::AccessAmount
498
+
499
+ attr_accessor commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration
500
+
501
+ attr_accessor priority: Float
502
+
503
+ attr_accessor product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Product
504
+
505
+ attr_accessor rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::rate_type
506
+
507
+ attr_accessor starting_at: Time
508
+
509
+ attr_reader applicable_product_ids: ::Array[String]?
510
+
511
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
512
+
513
+ attr_reader applicable_product_tags: ::Array[String]?
514
+
515
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
516
+
517
+ attr_reader contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Contract?
518
+
519
+ def contract=: (
520
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Contract
521
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Contract
522
+
523
+ attr_reader description: String?
524
+
525
+ def description=: (String) -> String
526
+
527
+ attr_reader ending_before: Time?
528
+
529
+ def ending_before=: (Time) -> Time
530
+
531
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
532
+
533
+ def hierarchy_configuration=: (
534
+ MetronomeSDK::CommitHierarchyConfiguration
535
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
536
+
537
+ attr_reader invoice_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::InvoiceAmount?
538
+
539
+ def invoice_amount=: (
540
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::InvoiceAmount
541
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::InvoiceAmount
542
+
543
+ attr_reader name: String?
544
+
545
+ def name=: (String) -> String
546
+
547
+ attr_reader netsuite_sales_order_id: String?
548
+
549
+ def netsuite_sales_order_id=: (String) -> String
550
+
551
+ attr_reader proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration?
552
+
553
+ def proration=: (
554
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration
555
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration
556
+
557
+ attr_accessor proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding?
558
+
559
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency?
560
+
561
+ def recurrence_frequency=: (
562
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency
563
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency
564
+
565
+ attr_reader rollover_fraction: Float?
566
+
567
+ def rollover_fraction=: (Float) -> Float
568
+
569
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
570
+
571
+ def specifiers=: (
572
+ ::Array[MetronomeSDK::CommitSpecifier]
573
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
574
+
575
+ attr_reader subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig?
576
+
577
+ def subscription_config=: (
578
+ MetronomeSDK::RecurringCommitSubscriptionConfig
579
+ ) -> MetronomeSDK::RecurringCommitSubscriptionConfig
580
+
581
+ def initialize: (
582
+ id: String,
583
+ access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::AccessAmount,
584
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration,
585
+ priority: Float,
586
+ product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Product,
587
+ rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::rate_type,
588
+ starting_at: Time,
589
+ ?applicable_product_ids: ::Array[String],
590
+ ?applicable_product_tags: ::Array[String],
591
+ ?contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Contract,
592
+ ?description: String,
593
+ ?ending_before: Time,
594
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
595
+ ?invoice_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::InvoiceAmount,
596
+ ?name: String,
597
+ ?netsuite_sales_order_id: String,
598
+ ?proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration,
599
+ ?proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding?,
600
+ ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency,
601
+ ?rollover_fraction: Float,
602
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
603
+ ?subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
604
+ ) -> void
605
+
606
+ def to_hash: -> {
607
+ id: String,
608
+ access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::AccessAmount,
609
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration,
610
+ priority: Float,
611
+ product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Product,
612
+ rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::rate_type,
613
+ starting_at: Time,
614
+ applicable_product_ids: ::Array[String],
615
+ applicable_product_tags: ::Array[String],
616
+ contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::Contract,
617
+ description: String,
618
+ ending_before: Time,
619
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
620
+ invoice_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::InvoiceAmount,
621
+ name: String,
622
+ netsuite_sales_order_id: String,
623
+ proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration,
624
+ proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding?,
625
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency,
626
+ rollover_fraction: Float,
627
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
628
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
629
+ }
630
+
631
+ type access_amount =
632
+ { credit_type_id: String, unit_price: Float, quantity: Float }
633
+
634
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
635
+ attr_accessor credit_type_id: String
636
+
637
+ attr_accessor unit_price: Float
638
+
639
+ attr_reader quantity: Float?
640
+
641
+ def quantity=: (Float) -> Float
642
+
643
+ def initialize: (
644
+ credit_type_id: String,
645
+ unit_price: Float,
646
+ ?quantity: Float
647
+ ) -> void
648
+
649
+ def to_hash: -> {
650
+ credit_type_id: String,
651
+ unit_price: Float,
652
+ quantity: Float
653
+ }
654
+ end
655
+
656
+ type commit_duration =
657
+ {
658
+ value: Float,
659
+ unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit
660
+ }
661
+
662
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
663
+ attr_accessor value: Float
664
+
665
+ attr_reader unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit?
666
+
667
+ def unit=: (
668
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit
669
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit
670
+
671
+ def initialize: (
672
+ value: Float,
673
+ ?unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit
674
+ ) -> void
675
+
676
+ def to_hash: -> {
677
+ value: Float,
678
+ unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit
679
+ }
680
+
681
+ type unit = :PERIODS
682
+
683
+ module Unit
684
+ extend MetronomeSDK::Internal::Type::Enum
685
+
686
+ PERIODS: :PERIODS
687
+
688
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::CommitDuration::unit]
689
+ end
690
+ end
691
+
692
+ type product = { id: String, name: String }
693
+
694
+ class Product < MetronomeSDK::Internal::Type::BaseModel
695
+ attr_accessor id: String
696
+
697
+ attr_accessor name: String
698
+
699
+ def initialize: (id: String, name: String) -> void
700
+
701
+ def to_hash: -> { id: String, name: String }
702
+ end
703
+
704
+ type rate_type = :COMMIT_RATE | :LIST_RATE
705
+
706
+ module RateType
707
+ extend MetronomeSDK::Internal::Type::Enum
708
+
709
+ COMMIT_RATE: :COMMIT_RATE
710
+ LIST_RATE: :LIST_RATE
711
+
712
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::rate_type]
713
+ end
714
+
715
+ type contract = { id: String }
716
+
717
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
718
+ attr_accessor id: String
719
+
720
+ def initialize: (id: String) -> void
721
+
722
+ def to_hash: -> { id: String }
723
+ end
724
+
725
+ type invoice_amount =
726
+ { credit_type_id: String, quantity: Float, unit_price: Float }
727
+
728
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
729
+ attr_accessor credit_type_id: String
730
+
731
+ attr_accessor quantity: Float
732
+
733
+ attr_accessor unit_price: Float
734
+
735
+ def initialize: (
736
+ credit_type_id: String,
737
+ quantity: Float,
738
+ unit_price: Float
739
+ ) -> void
740
+
741
+ def to_hash: -> {
742
+ credit_type_id: String,
743
+ quantity: Float,
744
+ unit_price: Float
745
+ }
746
+ end
747
+
748
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
749
+
750
+ module Proration
751
+ extend MetronomeSDK::Internal::Type::Enum
752
+
753
+ NONE: :NONE
754
+ FIRST: :FIRST
755
+ LAST: :LAST
756
+ FIRST_AND_LAST: :FIRST_AND_LAST
757
+
758
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::proration]
759
+ end
760
+
761
+ type proration_rounding =
762
+ {
763
+ access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access,
764
+ invoice: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice
765
+ }
766
+
767
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
768
+ attr_reader access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access?
769
+
770
+ def access=: (
771
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access
772
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access
773
+
774
+ attr_reader invoice: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice?
775
+
776
+ def invoice=: (
777
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice
778
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice
779
+
780
+ def initialize: (
781
+ ?access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access,
782
+ ?invoice: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice
783
+ ) -> void
784
+
785
+ def to_hash: -> {
786
+ access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access,
787
+ invoice: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice
788
+ }
789
+
790
+ type access =
791
+ {
792
+ decimal_places: Float,
793
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access::rounding_method
794
+ }
795
+
796
+ class Access < MetronomeSDK::Internal::Type::BaseModel
797
+ attr_accessor decimal_places: Float
798
+
799
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access::rounding_method
800
+
801
+ def initialize: (
802
+ decimal_places: Float,
803
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access::rounding_method
804
+ ) -> void
805
+
806
+ def to_hash: -> {
807
+ decimal_places: Float,
808
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access::rounding_method
809
+ }
810
+
811
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
812
+
813
+ module RoundingMethod
814
+ extend MetronomeSDK::Internal::Type::Enum
815
+
816
+ HALF_UP: :HALF_UP
817
+ FLOOR: :FLOOR
818
+ CEILING: :CEILING
819
+
820
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Access::rounding_method]
821
+ end
822
+ end
823
+
824
+ type invoice =
825
+ {
826
+ decimal_places: Float,
827
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice::rounding_method
828
+ }
829
+
830
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
831
+ attr_accessor decimal_places: Float
832
+
833
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice::rounding_method
834
+
835
+ def initialize: (
836
+ decimal_places: Float,
837
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice::rounding_method
838
+ ) -> void
839
+
840
+ def to_hash: -> {
841
+ decimal_places: Float,
842
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice::rounding_method
843
+ }
844
+
845
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
846
+
847
+ module RoundingMethod
848
+ extend MetronomeSDK::Internal::Type::Enum
849
+
850
+ HALF_UP: :HALF_UP
851
+ FLOOR: :FLOOR
852
+ CEILING: :CEILING
853
+
854
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::ProrationRounding::Invoice::rounding_method]
855
+ end
856
+ end
857
+ end
858
+
859
+ type recurrence_frequency =
860
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
861
+
862
+ module RecurrenceFrequency
863
+ extend MetronomeSDK::Internal::Type::Enum
864
+
865
+ MONTHLY: :MONTHLY
866
+ QUARTERLY: :QUARTERLY
867
+ ANNUAL: :ANNUAL
868
+ WEEKLY: :WEEKLY
869
+ DAILY: :DAILY
870
+
871
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCommit::recurrence_frequency]
872
+ end
873
+ end
874
+
875
+ type recurring_credit =
876
+ {
877
+ id: String,
878
+ access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::AccessAmount,
879
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration,
880
+ priority: Float,
881
+ product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Product,
882
+ rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::rate_type,
883
+ starting_at: Time,
884
+ applicable_product_ids: ::Array[String],
885
+ applicable_product_tags: ::Array[String],
886
+ contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Contract,
887
+ description: String,
888
+ ending_before: Time,
889
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
890
+ name: String,
891
+ netsuite_sales_order_id: String,
892
+ proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration,
893
+ proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding?,
894
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency,
895
+ rollover_fraction: Float,
896
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
897
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
898
+ }
899
+
900
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
901
+ attr_accessor id: String
902
+
903
+ attr_accessor access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::AccessAmount
904
+
905
+ attr_accessor commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration
906
+
907
+ attr_accessor priority: Float
908
+
909
+ attr_accessor product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Product
910
+
911
+ attr_accessor rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::rate_type
912
+
913
+ attr_accessor starting_at: Time
914
+
915
+ attr_reader applicable_product_ids: ::Array[String]?
916
+
917
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
918
+
919
+ attr_reader applicable_product_tags: ::Array[String]?
920
+
921
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
922
+
923
+ attr_reader contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Contract?
924
+
925
+ def contract=: (
926
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Contract
927
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Contract
928
+
929
+ attr_reader description: String?
930
+
931
+ def description=: (String) -> String
932
+
933
+ attr_reader ending_before: Time?
934
+
935
+ def ending_before=: (Time) -> Time
936
+
937
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
938
+
939
+ def hierarchy_configuration=: (
940
+ MetronomeSDK::CommitHierarchyConfiguration
941
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
942
+
943
+ attr_reader name: String?
944
+
945
+ def name=: (String) -> String
946
+
947
+ attr_reader netsuite_sales_order_id: String?
948
+
949
+ def netsuite_sales_order_id=: (String) -> String
950
+
951
+ attr_reader proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration?
952
+
953
+ def proration=: (
954
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration
955
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration
956
+
957
+ attr_accessor proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding?
958
+
959
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency?
960
+
961
+ def recurrence_frequency=: (
962
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency
963
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency
964
+
965
+ attr_reader rollover_fraction: Float?
966
+
967
+ def rollover_fraction=: (Float) -> Float
968
+
969
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
970
+
971
+ def specifiers=: (
972
+ ::Array[MetronomeSDK::CommitSpecifier]
973
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
974
+
975
+ attr_reader subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig?
976
+
977
+ def subscription_config=: (
978
+ MetronomeSDK::RecurringCommitSubscriptionConfig
979
+ ) -> MetronomeSDK::RecurringCommitSubscriptionConfig
980
+
981
+ def initialize: (
982
+ id: String,
983
+ access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::AccessAmount,
984
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration,
985
+ priority: Float,
986
+ product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Product,
987
+ rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::rate_type,
988
+ starting_at: Time,
989
+ ?applicable_product_ids: ::Array[String],
990
+ ?applicable_product_tags: ::Array[String],
991
+ ?contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Contract,
992
+ ?description: String,
993
+ ?ending_before: Time,
994
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
995
+ ?name: String,
996
+ ?netsuite_sales_order_id: String,
997
+ ?proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration,
998
+ ?proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding?,
999
+ ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency,
1000
+ ?rollover_fraction: Float,
1001
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1002
+ ?subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1003
+ ) -> void
1004
+
1005
+ def to_hash: -> {
1006
+ id: String,
1007
+ access_amount: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::AccessAmount,
1008
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration,
1009
+ priority: Float,
1010
+ product: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Product,
1011
+ rate_type: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::rate_type,
1012
+ starting_at: Time,
1013
+ applicable_product_ids: ::Array[String],
1014
+ applicable_product_tags: ::Array[String],
1015
+ contract: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::Contract,
1016
+ description: String,
1017
+ ending_before: Time,
1018
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
1019
+ name: String,
1020
+ netsuite_sales_order_id: String,
1021
+ proration: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration,
1022
+ proration_rounding: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding?,
1023
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency,
1024
+ rollover_fraction: Float,
1025
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
1026
+ subscription_config: MetronomeSDK::RecurringCommitSubscriptionConfig
1027
+ }
1028
+
1029
+ type access_amount =
1030
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1031
+
1032
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1033
+ attr_accessor credit_type_id: String
1034
+
1035
+ attr_accessor unit_price: Float
1036
+
1037
+ attr_reader quantity: Float?
1038
+
1039
+ def quantity=: (Float) -> Float
1040
+
1041
+ def initialize: (
1042
+ credit_type_id: String,
1043
+ unit_price: Float,
1044
+ ?quantity: Float
1045
+ ) -> void
1046
+
1047
+ def to_hash: -> {
1048
+ credit_type_id: String,
1049
+ unit_price: Float,
1050
+ quantity: Float
1051
+ }
1052
+ end
1053
+
1054
+ type commit_duration =
1055
+ {
1056
+ value: Float,
1057
+ unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit
1058
+ }
1059
+
1060
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1061
+ attr_accessor value: Float
1062
+
1063
+ attr_reader unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit?
1064
+
1065
+ def unit=: (
1066
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit
1067
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit
1068
+
1069
+ def initialize: (
1070
+ value: Float,
1071
+ ?unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit
1072
+ ) -> void
1073
+
1074
+ def to_hash: -> {
1075
+ value: Float,
1076
+ unit: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit
1077
+ }
1078
+
1079
+ type unit = :PERIODS
1080
+
1081
+ module Unit
1082
+ extend MetronomeSDK::Internal::Type::Enum
1083
+
1084
+ PERIODS: :PERIODS
1085
+
1086
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::CommitDuration::unit]
1087
+ end
1088
+ end
1089
+
1090
+ type product = { id: String, name: String }
1091
+
1092
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1093
+ attr_accessor id: String
1094
+
1095
+ attr_accessor name: String
1096
+
1097
+ def initialize: (id: String, name: String) -> void
1098
+
1099
+ def to_hash: -> { id: String, name: String }
1100
+ end
1101
+
1102
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1103
+
1104
+ module RateType
1105
+ extend MetronomeSDK::Internal::Type::Enum
1106
+
1107
+ COMMIT_RATE: :COMMIT_RATE
1108
+ LIST_RATE: :LIST_RATE
1109
+
1110
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::rate_type]
1111
+ end
1112
+
1113
+ type contract = { id: String }
1114
+
1115
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1116
+ attr_accessor id: String
1117
+
1118
+ def initialize: (id: String) -> void
1119
+
1120
+ def to_hash: -> { id: String }
1121
+ end
1122
+
1123
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1124
+
1125
+ module Proration
1126
+ extend MetronomeSDK::Internal::Type::Enum
1127
+
1128
+ NONE: :NONE
1129
+ FIRST: :FIRST
1130
+ LAST: :LAST
1131
+ FIRST_AND_LAST: :FIRST_AND_LAST
1132
+
1133
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::proration]
1134
+ end
1135
+
1136
+ type proration_rounding =
1137
+ {
1138
+ access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access
1139
+ }
1140
+
1141
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1142
+ attr_reader access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access?
1143
+
1144
+ def access=: (
1145
+ MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access
1146
+ ) -> MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access
1147
+
1148
+ def initialize: (
1149
+ ?access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access
1150
+ ) -> void
1151
+
1152
+ def to_hash: -> {
1153
+ access: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access
1154
+ }
1155
+
1156
+ type access =
1157
+ {
1158
+ decimal_places: Float,
1159
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access::rounding_method
1160
+ }
1161
+
1162
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1163
+ attr_accessor decimal_places: Float
1164
+
1165
+ attr_accessor rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access::rounding_method
1166
+
1167
+ def initialize: (
1168
+ decimal_places: Float,
1169
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access::rounding_method
1170
+ ) -> void
1171
+
1172
+ def to_hash: -> {
1173
+ decimal_places: Float,
1174
+ rounding_method: MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access::rounding_method
1175
+ }
1176
+
1177
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
1178
+
1179
+ module RoundingMethod
1180
+ extend MetronomeSDK::Internal::Type::Enum
1181
+
1182
+ HALF_UP: :HALF_UP
1183
+ FLOOR: :FLOOR
1184
+ CEILING: :CEILING
1185
+
1186
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::ProrationRounding::Access::rounding_method]
1187
+ end
1188
+ end
1189
+ end
1190
+
1191
+ type recurrence_frequency =
1192
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1193
+
1194
+ module RecurrenceFrequency
1195
+ extend MetronomeSDK::Internal::Type::Enum
1196
+
1197
+ MONTHLY: :MONTHLY
1198
+ QUARTERLY: :QUARTERLY
1199
+ ANNUAL: :ANNUAL
1200
+ WEEKLY: :WEEKLY
1201
+ DAILY: :DAILY
1202
+
1203
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::RecurringCredit::recurrence_frequency]
1204
+ end
1205
+ end
1206
+
1207
+ type scheduled_charges_on_usage_invoices = :ALL
1208
+
1209
+ module ScheduledChargesOnUsageInvoices
1210
+ extend MetronomeSDK::Internal::Type::Enum
1211
+
1212
+ ALL: :ALL
1213
+
1214
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateResponse::Data::Contract::scheduled_charges_on_usage_invoices]
1215
+ end
1216
+ end
1217
+ end
12
1218
  end
13
1219
  end
14
1220
  end