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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +54 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
- data/lib/metronome_sdk/internal/type/enum.rb +0 -25
- data/lib/metronome_sdk/models/commit.rb +36 -1
- data/lib/metronome_sdk/models/contract.rb +140 -1
- data/lib/metronome_sdk/models/contract_v2.rb +457 -8
- data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
- data/lib/metronome_sdk/models/credit.rb +10 -1
- data/lib/metronome_sdk/models/override.rb +7 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
- data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
- data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
- data/lib/metronome_sdk/models/subscription.rb +90 -2
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
- data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
- data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
- data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
- data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
- data/lib/metronome_sdk/resources/v1.rb +0 -4
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -8
- data/rbi/metronome_sdk/models/commit.rbi +61 -0
- data/rbi/metronome_sdk/models/contract.rbi +354 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
- data/rbi/metronome_sdk/models/credit.rbi +13 -0
- data/rbi/metronome_sdk/models/override.rbi +9 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
- data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
- data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
- data/rbi/metronome_sdk/models/subscription.rbi +212 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
- data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1.rbi +0 -3
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/models/commit.rbs +26 -0
- data/sig/metronome_sdk/models/contract.rbs +151 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
- data/sig/metronome_sdk/models/credit.rbs +7 -0
- data/sig/metronome_sdk/models/override.rbs +7 -0
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
- data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
- data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
- data/sig/metronome_sdk/models/subscription.rbs +88 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
- data/sig/metronome_sdk/resources/v1.rbs +0 -2
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +8 -26
- data/lib/metronome_sdk/models/v1/payment.rb +0 -196
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
- data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
- data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
- data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
- data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
- data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
- data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
|
@@ -67,6 +67,14 @@ module MetronomeSDK
|
|
|
67
67
|
sig { params(contract: MetronomeSDK::Credit::Contract::OrHash).void }
|
|
68
68
|
attr_writer :contract
|
|
69
69
|
|
|
70
|
+
# The actor who created this credit. Omitted for system-generated credits such as
|
|
71
|
+
# recurring credits.
|
|
72
|
+
sig { returns(T.nilable(String)) }
|
|
73
|
+
attr_reader :created_by
|
|
74
|
+
|
|
75
|
+
sig { params(created_by: String).void }
|
|
76
|
+
attr_writer :created_by
|
|
77
|
+
|
|
70
78
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
71
79
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
72
80
|
attr_reader :custom_fields
|
|
@@ -214,6 +222,7 @@ module MetronomeSDK
|
|
|
214
222
|
applicable_product_tags: T::Array[String],
|
|
215
223
|
balance: Float,
|
|
216
224
|
contract: MetronomeSDK::Credit::Contract::OrHash,
|
|
225
|
+
created_by: String,
|
|
217
226
|
custom_fields: T::Hash[Symbol, String],
|
|
218
227
|
description: String,
|
|
219
228
|
hierarchy_configuration:
|
|
@@ -262,6 +271,9 @@ module MetronomeSDK
|
|
|
262
271
|
# included in the balance, including future-dated manual ledger entries.
|
|
263
272
|
balance: nil,
|
|
264
273
|
contract: nil,
|
|
274
|
+
# The actor who created this credit. Omitted for system-generated credits such as
|
|
275
|
+
# recurring credits.
|
|
276
|
+
created_by: nil,
|
|
265
277
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
266
278
|
custom_fields: nil,
|
|
267
279
|
description: nil,
|
|
@@ -310,6 +322,7 @@ module MetronomeSDK
|
|
|
310
322
|
applicable_product_tags: T::Array[String],
|
|
311
323
|
balance: Float,
|
|
312
324
|
contract: MetronomeSDK::Credit::Contract,
|
|
325
|
+
created_by: String,
|
|
313
326
|
custom_fields: T::Hash[Symbol, String],
|
|
314
327
|
description: String,
|
|
315
328
|
hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
|
|
@@ -252,6 +252,12 @@ module MetronomeSDK
|
|
|
252
252
|
)
|
|
253
253
|
end
|
|
254
254
|
|
|
255
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
256
|
+
attr_reader :any_commit_or_credit_ids
|
|
257
|
+
|
|
258
|
+
sig { params(any_commit_or_credit_ids: T::Array[String]).void }
|
|
259
|
+
attr_writer :any_commit_or_credit_ids
|
|
260
|
+
|
|
255
261
|
sig do
|
|
256
262
|
returns(
|
|
257
263
|
T.nilable(
|
|
@@ -311,6 +317,7 @@ module MetronomeSDK
|
|
|
311
317
|
|
|
312
318
|
sig do
|
|
313
319
|
params(
|
|
320
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
314
321
|
billing_frequency:
|
|
315
322
|
MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
|
|
316
323
|
commit_ids: T::Array[String],
|
|
@@ -322,6 +329,7 @@ module MetronomeSDK
|
|
|
322
329
|
).returns(T.attached_class)
|
|
323
330
|
end
|
|
324
331
|
def self.new(
|
|
332
|
+
any_commit_or_credit_ids: nil,
|
|
325
333
|
billing_frequency: nil,
|
|
326
334
|
commit_ids: nil,
|
|
327
335
|
presentation_group_values: nil,
|
|
@@ -335,6 +343,7 @@ module MetronomeSDK
|
|
|
335
343
|
sig do
|
|
336
344
|
override.returns(
|
|
337
345
|
{
|
|
346
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
338
347
|
billing_frequency:
|
|
339
348
|
MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol,
|
|
340
349
|
commit_ids: T::Array[String],
|
|
@@ -74,6 +74,29 @@ module MetronomeSDK
|
|
|
74
74
|
end
|
|
75
75
|
attr_writer :discount_configuration
|
|
76
76
|
|
|
77
|
+
# Determines which balances are excluded from remaining balance calculation for
|
|
78
|
+
# threshold billing.
|
|
79
|
+
sig do
|
|
80
|
+
returns(
|
|
81
|
+
T.nilable(
|
|
82
|
+
T::Array[
|
|
83
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier
|
|
84
|
+
]
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
attr_reader :threshold_balance_specifiers
|
|
89
|
+
|
|
90
|
+
sig do
|
|
91
|
+
params(
|
|
92
|
+
threshold_balance_specifiers:
|
|
93
|
+
T::Array[
|
|
94
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::OrHash
|
|
95
|
+
]
|
|
96
|
+
).void
|
|
97
|
+
end
|
|
98
|
+
attr_writer :threshold_balance_specifiers
|
|
99
|
+
|
|
77
100
|
sig do
|
|
78
101
|
params(
|
|
79
102
|
commit:
|
|
@@ -84,7 +107,11 @@ module MetronomeSDK
|
|
|
84
107
|
threshold_amount: Float,
|
|
85
108
|
custom_credit_type_id: String,
|
|
86
109
|
discount_configuration:
|
|
87
|
-
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::OrHash
|
|
110
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::OrHash,
|
|
111
|
+
threshold_balance_specifiers:
|
|
112
|
+
T::Array[
|
|
113
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::OrHash
|
|
114
|
+
]
|
|
88
115
|
).returns(T.attached_class)
|
|
89
116
|
end
|
|
90
117
|
def self.new(
|
|
@@ -102,7 +129,10 @@ module MetronomeSDK
|
|
|
102
129
|
# If provided, the threshold, recharge-to amount, and the resulting threshold
|
|
103
130
|
# commit amount will be in terms of this credit type instead of the fiat currency.
|
|
104
131
|
custom_credit_type_id: nil,
|
|
105
|
-
discount_configuration: nil
|
|
132
|
+
discount_configuration: nil,
|
|
133
|
+
# Determines which balances are excluded from remaining balance calculation for
|
|
134
|
+
# threshold billing.
|
|
135
|
+
threshold_balance_specifiers: nil
|
|
106
136
|
)
|
|
107
137
|
end
|
|
108
138
|
|
|
@@ -116,7 +146,11 @@ module MetronomeSDK
|
|
|
116
146
|
threshold_amount: Float,
|
|
117
147
|
custom_credit_type_id: String,
|
|
118
148
|
discount_configuration:
|
|
119
|
-
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration
|
|
149
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration,
|
|
150
|
+
threshold_balance_specifiers:
|
|
151
|
+
T::Array[
|
|
152
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier
|
|
153
|
+
]
|
|
120
154
|
}
|
|
121
155
|
)
|
|
122
156
|
end
|
|
@@ -216,18 +250,277 @@ module MetronomeSDK
|
|
|
216
250
|
sig { returns(Float) }
|
|
217
251
|
attr_accessor :payment_fraction
|
|
218
252
|
|
|
219
|
-
|
|
253
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
254
|
+
# this much spend in the billing period.
|
|
255
|
+
sig do
|
|
256
|
+
returns(
|
|
257
|
+
T.nilable(
|
|
258
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
|
|
259
|
+
)
|
|
260
|
+
)
|
|
261
|
+
end
|
|
262
|
+
attr_reader :cap
|
|
263
|
+
|
|
264
|
+
sig do
|
|
265
|
+
params(
|
|
266
|
+
cap:
|
|
267
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
268
|
+
).void
|
|
269
|
+
end
|
|
270
|
+
attr_writer :cap
|
|
271
|
+
|
|
272
|
+
sig do
|
|
273
|
+
params(
|
|
274
|
+
payment_fraction: Float,
|
|
275
|
+
cap:
|
|
276
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
277
|
+
).returns(T.attached_class)
|
|
278
|
+
end
|
|
220
279
|
def self.new(
|
|
221
280
|
# The fraction of the original amount that the customer pays after applying the
|
|
222
281
|
# discount. For example, 0.85 means the customer pays 85% of the original amount
|
|
223
282
|
# (a 15% discount).
|
|
224
|
-
payment_fraction
|
|
283
|
+
payment_fraction:,
|
|
284
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
285
|
+
# this much spend in the billing period.
|
|
286
|
+
cap: nil
|
|
225
287
|
)
|
|
226
288
|
end
|
|
227
289
|
|
|
228
|
-
sig
|
|
290
|
+
sig do
|
|
291
|
+
override.returns(
|
|
292
|
+
{
|
|
293
|
+
payment_fraction: Float,
|
|
294
|
+
cap:
|
|
295
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
|
|
296
|
+
}
|
|
297
|
+
)
|
|
298
|
+
end
|
|
229
299
|
def to_hash
|
|
230
300
|
end
|
|
301
|
+
|
|
302
|
+
class Cap < MetronomeSDK::Internal::Type::BaseModel
|
|
303
|
+
OrHash =
|
|
304
|
+
T.type_alias do
|
|
305
|
+
T.any(
|
|
306
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap,
|
|
307
|
+
MetronomeSDK::Internal::AnyHash
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
312
|
+
sig { returns(Float) }
|
|
313
|
+
attr_accessor :amount
|
|
314
|
+
|
|
315
|
+
# Alias of the spend tracker this cap is measured against.
|
|
316
|
+
sig { returns(String) }
|
|
317
|
+
attr_accessor :spend_tracker_alias
|
|
318
|
+
|
|
319
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
320
|
+
# this much spend in the billing period.
|
|
321
|
+
sig do
|
|
322
|
+
params(amount: Float, spend_tracker_alias: String).returns(
|
|
323
|
+
T.attached_class
|
|
324
|
+
)
|
|
325
|
+
end
|
|
326
|
+
def self.new(
|
|
327
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
328
|
+
amount:,
|
|
329
|
+
# Alias of the spend tracker this cap is measured against.
|
|
330
|
+
spend_tracker_alias:
|
|
331
|
+
)
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
sig do
|
|
335
|
+
override.returns({ amount: Float, spend_tracker_alias: String })
|
|
336
|
+
end
|
|
337
|
+
def to_hash
|
|
338
|
+
end
|
|
339
|
+
end
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
343
|
+
OrHash =
|
|
344
|
+
T.type_alias do
|
|
345
|
+
T.any(
|
|
346
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier,
|
|
347
|
+
MetronomeSDK::Internal::AnyHash
|
|
348
|
+
)
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
# If any of the exclude specifier is met, the balance is not considered when
|
|
352
|
+
# evaluating threshold billing
|
|
353
|
+
sig do
|
|
354
|
+
returns(
|
|
355
|
+
T::Array[
|
|
356
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude
|
|
357
|
+
]
|
|
358
|
+
)
|
|
359
|
+
end
|
|
360
|
+
attr_accessor :exclude
|
|
361
|
+
|
|
362
|
+
sig do
|
|
363
|
+
params(
|
|
364
|
+
exclude:
|
|
365
|
+
T::Array[
|
|
366
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::OrHash
|
|
367
|
+
]
|
|
368
|
+
).returns(T.attached_class)
|
|
369
|
+
end
|
|
370
|
+
def self.new(
|
|
371
|
+
# If any of the exclude specifier is met, the balance is not considered when
|
|
372
|
+
# evaluating threshold billing
|
|
373
|
+
exclude:
|
|
374
|
+
)
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
sig do
|
|
378
|
+
override.returns(
|
|
379
|
+
{
|
|
380
|
+
exclude:
|
|
381
|
+
T::Array[
|
|
382
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude
|
|
383
|
+
]
|
|
384
|
+
}
|
|
385
|
+
)
|
|
386
|
+
end
|
|
387
|
+
def to_hash
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
class Exclude < MetronomeSDK::Internal::Type::BaseModel
|
|
391
|
+
OrHash =
|
|
392
|
+
T.type_alias do
|
|
393
|
+
T.any(
|
|
394
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude,
|
|
395
|
+
MetronomeSDK::Internal::AnyHash
|
|
396
|
+
)
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
# If provided, balances with all the custom fields will not be considered when
|
|
400
|
+
# evaluating threshold billing
|
|
401
|
+
sig do
|
|
402
|
+
returns(
|
|
403
|
+
T::Array[
|
|
404
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter
|
|
405
|
+
]
|
|
406
|
+
)
|
|
407
|
+
end
|
|
408
|
+
attr_accessor :custom_field_filters
|
|
409
|
+
|
|
410
|
+
sig do
|
|
411
|
+
params(
|
|
412
|
+
custom_field_filters:
|
|
413
|
+
T::Array[
|
|
414
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::OrHash
|
|
415
|
+
]
|
|
416
|
+
).returns(T.attached_class)
|
|
417
|
+
end
|
|
418
|
+
def self.new(
|
|
419
|
+
# If provided, balances with all the custom fields will not be considered when
|
|
420
|
+
# evaluating threshold billing
|
|
421
|
+
custom_field_filters:
|
|
422
|
+
)
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
sig do
|
|
426
|
+
override.returns(
|
|
427
|
+
{
|
|
428
|
+
custom_field_filters:
|
|
429
|
+
T::Array[
|
|
430
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter
|
|
431
|
+
]
|
|
432
|
+
}
|
|
433
|
+
)
|
|
434
|
+
end
|
|
435
|
+
def to_hash
|
|
436
|
+
end
|
|
437
|
+
|
|
438
|
+
class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
439
|
+
OrHash =
|
|
440
|
+
T.type_alias do
|
|
441
|
+
T.any(
|
|
442
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter,
|
|
443
|
+
MetronomeSDK::Internal::AnyHash
|
|
444
|
+
)
|
|
445
|
+
end
|
|
446
|
+
|
|
447
|
+
sig do
|
|
448
|
+
returns(
|
|
449
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol
|
|
450
|
+
)
|
|
451
|
+
end
|
|
452
|
+
attr_accessor :entity
|
|
453
|
+
|
|
454
|
+
sig { returns(String) }
|
|
455
|
+
attr_accessor :key
|
|
456
|
+
|
|
457
|
+
sig { returns(String) }
|
|
458
|
+
attr_accessor :value
|
|
459
|
+
|
|
460
|
+
sig do
|
|
461
|
+
params(
|
|
462
|
+
entity:
|
|
463
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
464
|
+
key: String,
|
|
465
|
+
value: String
|
|
466
|
+
).returns(T.attached_class)
|
|
467
|
+
end
|
|
468
|
+
def self.new(entity:, key:, value:)
|
|
469
|
+
end
|
|
470
|
+
|
|
471
|
+
sig do
|
|
472
|
+
override.returns(
|
|
473
|
+
{
|
|
474
|
+
entity:
|
|
475
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
476
|
+
key: String,
|
|
477
|
+
value: String
|
|
478
|
+
}
|
|
479
|
+
)
|
|
480
|
+
end
|
|
481
|
+
def to_hash
|
|
482
|
+
end
|
|
483
|
+
|
|
484
|
+
module Entity
|
|
485
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
486
|
+
|
|
487
|
+
TaggedSymbol =
|
|
488
|
+
T.type_alias do
|
|
489
|
+
T.all(
|
|
490
|
+
Symbol,
|
|
491
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity
|
|
492
|
+
)
|
|
493
|
+
end
|
|
494
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
495
|
+
|
|
496
|
+
COMMIT =
|
|
497
|
+
T.let(
|
|
498
|
+
:Commit,
|
|
499
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
500
|
+
)
|
|
501
|
+
CONTRACT_CREDIT =
|
|
502
|
+
T.let(
|
|
503
|
+
:ContractCredit,
|
|
504
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
505
|
+
)
|
|
506
|
+
CONTRACT_CREDIT_OR_COMMIT =
|
|
507
|
+
T.let(
|
|
508
|
+
:ContractCreditOrCommit,
|
|
509
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
510
|
+
)
|
|
511
|
+
|
|
512
|
+
sig do
|
|
513
|
+
override.returns(
|
|
514
|
+
T::Array[
|
|
515
|
+
MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
516
|
+
]
|
|
517
|
+
)
|
|
518
|
+
end
|
|
519
|
+
def self.values
|
|
520
|
+
end
|
|
521
|
+
end
|
|
522
|
+
end
|
|
523
|
+
end
|
|
231
524
|
end
|
|
232
525
|
end
|
|
233
526
|
end
|