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
|
@@ -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::PrepaidBalanceThresholdConfigurationV2::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::PrepaidBalanceThresholdConfigurationV2::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::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::OrHash
|
|
110
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::OrHash,
|
|
111
|
+
threshold_balance_specifiers:
|
|
112
|
+
T::Array[
|
|
113
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::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
|
|
|
@@ -117,7 +147,11 @@ module MetronomeSDK
|
|
|
117
147
|
threshold_amount: Float,
|
|
118
148
|
custom_credit_type_id: String,
|
|
119
149
|
discount_configuration:
|
|
120
|
-
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
|
|
150
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
|
|
151
|
+
threshold_balance_specifiers:
|
|
152
|
+
T::Array[
|
|
153
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier
|
|
154
|
+
]
|
|
121
155
|
}
|
|
122
156
|
)
|
|
123
157
|
end
|
|
@@ -221,18 +255,265 @@ module MetronomeSDK
|
|
|
221
255
|
sig { returns(Float) }
|
|
222
256
|
attr_accessor :payment_fraction
|
|
223
257
|
|
|
224
|
-
|
|
258
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
259
|
+
# this much spend in the billing period.
|
|
260
|
+
sig do
|
|
261
|
+
returns(
|
|
262
|
+
T.nilable(
|
|
263
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
|
|
264
|
+
)
|
|
265
|
+
)
|
|
266
|
+
end
|
|
267
|
+
attr_reader :cap
|
|
268
|
+
|
|
269
|
+
sig do
|
|
270
|
+
params(
|
|
271
|
+
cap:
|
|
272
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap::OrHash
|
|
273
|
+
).void
|
|
274
|
+
end
|
|
275
|
+
attr_writer :cap
|
|
276
|
+
|
|
277
|
+
sig do
|
|
278
|
+
params(
|
|
279
|
+
payment_fraction: Float,
|
|
280
|
+
cap:
|
|
281
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap::OrHash
|
|
282
|
+
).returns(T.attached_class)
|
|
283
|
+
end
|
|
225
284
|
def self.new(
|
|
226
285
|
# The fraction of the original amount that the customer pays after applying the
|
|
227
286
|
# discount. For example, 0.85 means the customer pays 85% of the original amount
|
|
228
287
|
# (a 15% discount).
|
|
229
|
-
payment_fraction
|
|
288
|
+
payment_fraction:,
|
|
289
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
290
|
+
# this much spend in the billing period.
|
|
291
|
+
cap: nil
|
|
230
292
|
)
|
|
231
293
|
end
|
|
232
294
|
|
|
233
|
-
sig
|
|
295
|
+
sig do
|
|
296
|
+
override.returns(
|
|
297
|
+
{
|
|
298
|
+
payment_fraction: Float,
|
|
299
|
+
cap:
|
|
300
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
|
|
301
|
+
}
|
|
302
|
+
)
|
|
303
|
+
end
|
|
304
|
+
def to_hash
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
class Cap < MetronomeSDK::Internal::Type::BaseModel
|
|
308
|
+
OrHash =
|
|
309
|
+
T.type_alias do
|
|
310
|
+
T.any(
|
|
311
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap,
|
|
312
|
+
MetronomeSDK::Internal::AnyHash
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
317
|
+
sig { returns(Float) }
|
|
318
|
+
attr_accessor :amount
|
|
319
|
+
|
|
320
|
+
# Alias of the spend tracker this cap is measured against.
|
|
321
|
+
sig { returns(String) }
|
|
322
|
+
attr_accessor :spend_tracker_alias
|
|
323
|
+
|
|
324
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
325
|
+
# this much spend in the billing period.
|
|
326
|
+
sig do
|
|
327
|
+
params(amount: Float, spend_tracker_alias: String).returns(
|
|
328
|
+
T.attached_class
|
|
329
|
+
)
|
|
330
|
+
end
|
|
331
|
+
def self.new(
|
|
332
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
333
|
+
amount:,
|
|
334
|
+
# Alias of the spend tracker this cap is measured against.
|
|
335
|
+
spend_tracker_alias:
|
|
336
|
+
)
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
sig do
|
|
340
|
+
override.returns({ amount: Float, spend_tracker_alias: String })
|
|
341
|
+
end
|
|
342
|
+
def to_hash
|
|
343
|
+
end
|
|
344
|
+
end
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
348
|
+
OrHash =
|
|
349
|
+
T.type_alias do
|
|
350
|
+
T.any(
|
|
351
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier,
|
|
352
|
+
MetronomeSDK::Internal::AnyHash
|
|
353
|
+
)
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
sig do
|
|
357
|
+
returns(
|
|
358
|
+
T::Array[
|
|
359
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude
|
|
360
|
+
]
|
|
361
|
+
)
|
|
362
|
+
end
|
|
363
|
+
attr_accessor :exclude
|
|
364
|
+
|
|
365
|
+
sig do
|
|
366
|
+
params(
|
|
367
|
+
exclude:
|
|
368
|
+
T::Array[
|
|
369
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::OrHash
|
|
370
|
+
]
|
|
371
|
+
).returns(T.attached_class)
|
|
372
|
+
end
|
|
373
|
+
def self.new(exclude:)
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
sig do
|
|
377
|
+
override.returns(
|
|
378
|
+
{
|
|
379
|
+
exclude:
|
|
380
|
+
T::Array[
|
|
381
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude
|
|
382
|
+
]
|
|
383
|
+
}
|
|
384
|
+
)
|
|
385
|
+
end
|
|
234
386
|
def to_hash
|
|
235
387
|
end
|
|
388
|
+
|
|
389
|
+
class Exclude < MetronomeSDK::Internal::Type::BaseModel
|
|
390
|
+
OrHash =
|
|
391
|
+
T.type_alias do
|
|
392
|
+
T.any(
|
|
393
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude,
|
|
394
|
+
MetronomeSDK::Internal::AnyHash
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
sig do
|
|
399
|
+
returns(
|
|
400
|
+
T::Array[
|
|
401
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter
|
|
402
|
+
]
|
|
403
|
+
)
|
|
404
|
+
end
|
|
405
|
+
attr_accessor :custom_field_filters
|
|
406
|
+
|
|
407
|
+
sig do
|
|
408
|
+
params(
|
|
409
|
+
custom_field_filters:
|
|
410
|
+
T::Array[
|
|
411
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::OrHash
|
|
412
|
+
]
|
|
413
|
+
).returns(T.attached_class)
|
|
414
|
+
end
|
|
415
|
+
def self.new(custom_field_filters:)
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
sig do
|
|
419
|
+
override.returns(
|
|
420
|
+
{
|
|
421
|
+
custom_field_filters:
|
|
422
|
+
T::Array[
|
|
423
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter
|
|
424
|
+
]
|
|
425
|
+
}
|
|
426
|
+
)
|
|
427
|
+
end
|
|
428
|
+
def to_hash
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
432
|
+
OrHash =
|
|
433
|
+
T.type_alias do
|
|
434
|
+
T.any(
|
|
435
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter,
|
|
436
|
+
MetronomeSDK::Internal::AnyHash
|
|
437
|
+
)
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
sig do
|
|
441
|
+
returns(
|
|
442
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol
|
|
443
|
+
)
|
|
444
|
+
end
|
|
445
|
+
attr_accessor :entity
|
|
446
|
+
|
|
447
|
+
sig { returns(String) }
|
|
448
|
+
attr_accessor :key
|
|
449
|
+
|
|
450
|
+
sig { returns(String) }
|
|
451
|
+
attr_accessor :value
|
|
452
|
+
|
|
453
|
+
sig do
|
|
454
|
+
params(
|
|
455
|
+
entity:
|
|
456
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
457
|
+
key: String,
|
|
458
|
+
value: String
|
|
459
|
+
).returns(T.attached_class)
|
|
460
|
+
end
|
|
461
|
+
def self.new(entity:, key:, value:)
|
|
462
|
+
end
|
|
463
|
+
|
|
464
|
+
sig do
|
|
465
|
+
override.returns(
|
|
466
|
+
{
|
|
467
|
+
entity:
|
|
468
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
469
|
+
key: String,
|
|
470
|
+
value: String
|
|
471
|
+
}
|
|
472
|
+
)
|
|
473
|
+
end
|
|
474
|
+
def to_hash
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
module Entity
|
|
478
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
479
|
+
|
|
480
|
+
TaggedSymbol =
|
|
481
|
+
T.type_alias do
|
|
482
|
+
T.all(
|
|
483
|
+
Symbol,
|
|
484
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity
|
|
485
|
+
)
|
|
486
|
+
end
|
|
487
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
488
|
+
|
|
489
|
+
COMMIT =
|
|
490
|
+
T.let(
|
|
491
|
+
:Commit,
|
|
492
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
493
|
+
)
|
|
494
|
+
CONTRACT_CREDIT =
|
|
495
|
+
T.let(
|
|
496
|
+
:ContractCredit,
|
|
497
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
498
|
+
)
|
|
499
|
+
CONTRACT_CREDIT_OR_COMMIT =
|
|
500
|
+
T.let(
|
|
501
|
+
:ContractCreditOrCommit,
|
|
502
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
503
|
+
)
|
|
504
|
+
|
|
505
|
+
sig do
|
|
506
|
+
override.returns(
|
|
507
|
+
T::Array[
|
|
508
|
+
MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
509
|
+
]
|
|
510
|
+
)
|
|
511
|
+
end
|
|
512
|
+
def self.values
|
|
513
|
+
end
|
|
514
|
+
end
|
|
515
|
+
end
|
|
516
|
+
end
|
|
236
517
|
end
|
|
237
518
|
end
|
|
238
519
|
end
|
|
@@ -109,18 +109,93 @@ module MetronomeSDK
|
|
|
109
109
|
sig { returns(Float) }
|
|
110
110
|
attr_accessor :payment_fraction
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
113
|
+
# this much spend in the billing period.
|
|
114
|
+
sig do
|
|
115
|
+
returns(
|
|
116
|
+
T.nilable(
|
|
117
|
+
MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
|
|
118
|
+
)
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
attr_reader :cap
|
|
122
|
+
|
|
123
|
+
sig do
|
|
124
|
+
params(
|
|
125
|
+
cap:
|
|
126
|
+
MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
127
|
+
).void
|
|
128
|
+
end
|
|
129
|
+
attr_writer :cap
|
|
130
|
+
|
|
131
|
+
sig do
|
|
132
|
+
params(
|
|
133
|
+
payment_fraction: Float,
|
|
134
|
+
cap:
|
|
135
|
+
MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
136
|
+
).returns(T.attached_class)
|
|
137
|
+
end
|
|
113
138
|
def self.new(
|
|
114
139
|
# The fraction of the original amount that the customer pays after applying the
|
|
115
140
|
# discount. For example, 0.85 means the customer pays 85% of the original amount
|
|
116
141
|
# (a 15% discount).
|
|
117
|
-
payment_fraction
|
|
142
|
+
payment_fraction:,
|
|
143
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
144
|
+
# this much spend in the billing period.
|
|
145
|
+
cap: nil
|
|
118
146
|
)
|
|
119
147
|
end
|
|
120
148
|
|
|
121
|
-
sig
|
|
149
|
+
sig do
|
|
150
|
+
override.returns(
|
|
151
|
+
{
|
|
152
|
+
payment_fraction: Float,
|
|
153
|
+
cap:
|
|
154
|
+
MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
end
|
|
122
158
|
def to_hash
|
|
123
159
|
end
|
|
160
|
+
|
|
161
|
+
class Cap < MetronomeSDK::Internal::Type::BaseModel
|
|
162
|
+
OrHash =
|
|
163
|
+
T.type_alias do
|
|
164
|
+
T.any(
|
|
165
|
+
MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap,
|
|
166
|
+
MetronomeSDK::Internal::AnyHash
|
|
167
|
+
)
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
171
|
+
sig { returns(Float) }
|
|
172
|
+
attr_accessor :amount
|
|
173
|
+
|
|
174
|
+
# Alias of the spend tracker this cap is measured against.
|
|
175
|
+
sig { returns(String) }
|
|
176
|
+
attr_accessor :spend_tracker_alias
|
|
177
|
+
|
|
178
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
179
|
+
# this much spend in the billing period.
|
|
180
|
+
sig do
|
|
181
|
+
params(amount: Float, spend_tracker_alias: String).returns(
|
|
182
|
+
T.attached_class
|
|
183
|
+
)
|
|
184
|
+
end
|
|
185
|
+
def self.new(
|
|
186
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
187
|
+
amount:,
|
|
188
|
+
# Alias of the spend tracker this cap is measured against.
|
|
189
|
+
spend_tracker_alias:
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
sig do
|
|
194
|
+
override.returns({ amount: Float, spend_tracker_alias: String })
|
|
195
|
+
end
|
|
196
|
+
def to_hash
|
|
197
|
+
end
|
|
198
|
+
end
|
|
124
199
|
end
|
|
125
200
|
end
|
|
126
201
|
end
|
|
@@ -109,18 +109,93 @@ module MetronomeSDK
|
|
|
109
109
|
sig { returns(Float) }
|
|
110
110
|
attr_accessor :payment_fraction
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
113
|
+
# this much spend in the billing period.
|
|
114
|
+
sig do
|
|
115
|
+
returns(
|
|
116
|
+
T.nilable(
|
|
117
|
+
MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
|
|
118
|
+
)
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
attr_reader :cap
|
|
122
|
+
|
|
123
|
+
sig do
|
|
124
|
+
params(
|
|
125
|
+
cap:
|
|
126
|
+
MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap::OrHash
|
|
127
|
+
).void
|
|
128
|
+
end
|
|
129
|
+
attr_writer :cap
|
|
130
|
+
|
|
131
|
+
sig do
|
|
132
|
+
params(
|
|
133
|
+
payment_fraction: Float,
|
|
134
|
+
cap:
|
|
135
|
+
MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap::OrHash
|
|
136
|
+
).returns(T.attached_class)
|
|
137
|
+
end
|
|
113
138
|
def self.new(
|
|
114
139
|
# The fraction of the original amount that the customer pays after applying the
|
|
115
140
|
# discount. For example, 0.85 means the customer pays 85% of the original amount
|
|
116
141
|
# (a 15% discount).
|
|
117
|
-
payment_fraction
|
|
142
|
+
payment_fraction:,
|
|
143
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
144
|
+
# this much spend in the billing period.
|
|
145
|
+
cap: nil
|
|
118
146
|
)
|
|
119
147
|
end
|
|
120
148
|
|
|
121
|
-
sig
|
|
149
|
+
sig do
|
|
150
|
+
override.returns(
|
|
151
|
+
{
|
|
152
|
+
payment_fraction: Float,
|
|
153
|
+
cap:
|
|
154
|
+
MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
end
|
|
122
158
|
def to_hash
|
|
123
159
|
end
|
|
160
|
+
|
|
161
|
+
class Cap < MetronomeSDK::Internal::Type::BaseModel
|
|
162
|
+
OrHash =
|
|
163
|
+
T.type_alias do
|
|
164
|
+
T.any(
|
|
165
|
+
MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap,
|
|
166
|
+
MetronomeSDK::Internal::AnyHash
|
|
167
|
+
)
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
171
|
+
sig { returns(Float) }
|
|
172
|
+
attr_accessor :amount
|
|
173
|
+
|
|
174
|
+
# Alias of the spend tracker this cap is measured against.
|
|
175
|
+
sig { returns(String) }
|
|
176
|
+
attr_accessor :spend_tracker_alias
|
|
177
|
+
|
|
178
|
+
# If provided, the discount stops applying once the spend tracker has accumulated
|
|
179
|
+
# this much spend in the billing period.
|
|
180
|
+
sig do
|
|
181
|
+
params(amount: Float, spend_tracker_alias: String).returns(
|
|
182
|
+
T.attached_class
|
|
183
|
+
)
|
|
184
|
+
end
|
|
185
|
+
def self.new(
|
|
186
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
187
|
+
amount:,
|
|
188
|
+
# Alias of the spend tracker this cap is measured against.
|
|
189
|
+
spend_tracker_alias:
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
sig do
|
|
194
|
+
override.returns({ amount: Float, spend_tracker_alias: String })
|
|
195
|
+
end
|
|
196
|
+
def to_hash
|
|
197
|
+
end
|
|
198
|
+
end
|
|
124
199
|
end
|
|
125
200
|
end
|
|
126
201
|
end
|