metronome-sdk 3.1.0 → 3.2.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 +30 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/util.rb +32 -1
- data/lib/metronome_sdk/models/commit_rate.rb +29 -3
- data/lib/metronome_sdk/models/contract.rb +1 -9
- data/lib/metronome_sdk/models/contract_v2.rb +22 -1
- data/lib/metronome_sdk/models/overwrite_rate.rb +22 -1
- data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
- data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
- data/lib/metronome_sdk/models/rate.rb +22 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +23 -2
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +24 -11
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +23 -1
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +21 -1
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +10 -1
- data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
- data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
- data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
- data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
- data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
- data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
- data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +23 -2
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +23 -1
- data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
- data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
- data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
- data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
- data/lib/metronome_sdk/resources/v1/contracts.rb +8 -5
- data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
- data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
- data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
- data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
- data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
- data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
- data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
- data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
- data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
- data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
- data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
- data/lib/metronome_sdk/resources/v1/services.rb +2 -0
- data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
- data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
- data/lib/metronome_sdk/resources/v1.rb +41 -0
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +11 -0
- data/rbi/metronome_sdk/internal/util.rbi +21 -1
- data/rbi/metronome_sdk/models/commit_rate.rbi +43 -2
- data/rbi/metronome_sdk/models/contract.rbi +0 -11
- data/rbi/metronome_sdk/models/contract_v2.rbi +46 -0
- data/rbi/metronome_sdk/models/overwrite_rate.rbi +37 -0
- data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
- data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
- data/rbi/metronome_sdk/models/rate.rbi +35 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +46 -5
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +46 -16
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +46 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +46 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
- data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
- data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
- data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
- data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +46 -5
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +46 -0
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
- data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
- data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
- data/rbi/metronome_sdk/resources/v1.rbi +40 -0
- data/sig/metronome_sdk/internal/util.rbs +10 -0
- data/sig/metronome_sdk/models/commit_rate.rbs +19 -0
- data/sig/metronome_sdk/models/contract.rbs +0 -7
- data/sig/metronome_sdk/models/contract_v2.rbs +19 -0
- data/sig/metronome_sdk/models/overwrite_rate.rbs +19 -0
- data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
- data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
- data/sig/metronome_sdk/models/rate.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +20 -2
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +20 -9
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +19 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -0
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
- data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
- data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
- data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +20 -2
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +19 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +0 -1
- data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
- data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
- data/sig/metronome_sdk/resources/v1.rbs +2 -0
- metadata +35 -2
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# [Usage events](https://docs.metronome.com/connecting-metronome/send-usage-data/)
|
|
7
|
+
# are the basis for billable metrics. Use these endpoints to send usage events to
|
|
8
|
+
# Metronome and retrieve aggregated event data.
|
|
6
9
|
class Usage
|
|
7
10
|
# Some parameter documentations has been truncated, see
|
|
8
11
|
# {MetronomeSDK::Models::V1::UsageListParams} for more details.
|
|
@@ -61,12 +64,13 @@ module MetronomeSDK
|
|
|
61
64
|
#
|
|
62
65
|
# @see MetronomeSDK::Models::V1::UsageListParams
|
|
63
66
|
def list(params)
|
|
64
|
-
parsed, options = MetronomeSDK::V1::UsageListParams.dump_request(params)
|
|
65
67
|
query_params = [:next_page]
|
|
68
|
+
parsed, options = MetronomeSDK::V1::UsageListParams.dump_request(params)
|
|
69
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
66
70
|
@client.request(
|
|
67
71
|
method: :post,
|
|
68
72
|
path: "v1/usage",
|
|
69
|
-
query:
|
|
73
|
+
query: query,
|
|
70
74
|
body: parsed.except(*query_params),
|
|
71
75
|
page: MetronomeSDK::Internal::CursorPageWithoutLimit,
|
|
72
76
|
model: MetronomeSDK::Models::V1::UsageListResponse,
|
|
@@ -200,8 +204,11 @@ module MetronomeSDK
|
|
|
200
204
|
# An array of `PagedUsageAggregate` objects containing:
|
|
201
205
|
#
|
|
202
206
|
# - `starting_on` and `ending_before`: Time window boundaries
|
|
203
|
-
# - `
|
|
204
|
-
#
|
|
207
|
+
# - `group`: Object mapping group keys to their values
|
|
208
|
+
# - For simple groups, this will be a map with a single key-value pair (e.g.,
|
|
209
|
+
# `{"region": "US-East"}`)
|
|
210
|
+
# - For compound groups, this will be a map with multiple key-value pairs (e.g.,
|
|
211
|
+
# `{"region": "US-East", "team": "engineering"}`)
|
|
205
212
|
# - `value`: Aggregated usage for this group and time window
|
|
206
213
|
# - `next_page`: Pagination cursor for large datasets
|
|
207
214
|
#
|
|
@@ -211,14 +218,15 @@ module MetronomeSDK
|
|
|
211
218
|
# `window_size`
|
|
212
219
|
# - Time windows: Set `window_size` to hour, day, or none for different
|
|
213
220
|
# granularities
|
|
214
|
-
# - Group filtering: Use `
|
|
215
|
-
#
|
|
216
|
-
#
|
|
217
|
-
#
|
|
221
|
+
# - Group filtering: Use `group_key` and `group_filters` to specify groups and
|
|
222
|
+
# group filters
|
|
223
|
+
# - Limits: When using compound group keys (2+ keys in `group_key`), the default
|
|
224
|
+
# and max limit is 100
|
|
218
225
|
# - Pagination: Use limit and `next_page` for large result sets
|
|
219
|
-
# - Null handling:
|
|
226
|
+
# - Null handling: Group values may be null for events missing the group key
|
|
227
|
+
# property
|
|
220
228
|
#
|
|
221
|
-
# @overload list_with_groups(billable_metric_id:, customer_id:, window_size:, limit: nil, next_page: nil, current_period: nil, ending_before: nil, group_by: nil, starting_on: nil, request_options: {})
|
|
229
|
+
# @overload list_with_groups(billable_metric_id:, customer_id:, window_size:, limit: nil, next_page: nil, current_period: nil, ending_before: nil, group_by: nil, group_filters: nil, group_key: nil, starting_on: nil, request_options: {})
|
|
222
230
|
#
|
|
223
231
|
# @param billable_metric_id [String] Body param
|
|
224
232
|
#
|
|
@@ -234,7 +242,11 @@ module MetronomeSDK
|
|
|
234
242
|
#
|
|
235
243
|
# @param ending_before [Time] Body param
|
|
236
244
|
#
|
|
237
|
-
# @param group_by [MetronomeSDK::Models::V1::UsageListWithGroupsParams::GroupBy] Body param
|
|
245
|
+
# @param group_by [MetronomeSDK::Models::V1::UsageListWithGroupsParams::GroupBy] Body param: Use group_key and group_filters instead. Use a single group key to g
|
|
246
|
+
#
|
|
247
|
+
# @param group_filters [Hash{Symbol=>Array<String>}] Body param: Object mapping group keys to arrays of values to filter on. Only usa
|
|
248
|
+
#
|
|
249
|
+
# @param group_key [Array<String>] Body param: Group key to group usage by. Supports both simple (single key) and c
|
|
238
250
|
#
|
|
239
251
|
# @param starting_on [Time] Body param
|
|
240
252
|
#
|
|
@@ -244,12 +256,13 @@ module MetronomeSDK
|
|
|
244
256
|
#
|
|
245
257
|
# @see MetronomeSDK::Models::V1::UsageListWithGroupsParams
|
|
246
258
|
def list_with_groups(params)
|
|
247
|
-
parsed, options = MetronomeSDK::V1::UsageListWithGroupsParams.dump_request(params)
|
|
248
259
|
query_params = [:limit, :next_page]
|
|
260
|
+
parsed, options = MetronomeSDK::V1::UsageListWithGroupsParams.dump_request(params)
|
|
261
|
+
query = MetronomeSDK::Internal::Util.encode_query_params(parsed.slice(*query_params))
|
|
249
262
|
@client.request(
|
|
250
263
|
method: :post,
|
|
251
264
|
path: "v1/usage/groups",
|
|
252
|
-
query:
|
|
265
|
+
query: query,
|
|
253
266
|
body: parsed.except(*query_params),
|
|
254
267
|
page: MetronomeSDK::Internal::CursorPage,
|
|
255
268
|
model: MetronomeSDK::Models::V1::UsageListWithGroupsResponse,
|
|
@@ -3,48 +3,88 @@
|
|
|
3
3
|
module MetronomeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class V1
|
|
6
|
+
# [Alerts](https://docs.metronome.com/connecting-metronome/alerts/) monitor
|
|
7
|
+
# customer spending, balances, and other billing factors. Use these endpoints to
|
|
8
|
+
# create, retrieve, and archive customer alerts. To view sample alert payloads by
|
|
9
|
+
# alert type, navigate
|
|
10
|
+
# [here.](https://docs.metronome.com/manage-product-access/create-manage-alerts/#webhook-notifications)
|
|
6
11
|
# @return [MetronomeSDK::Resources::V1::Alerts]
|
|
7
12
|
attr_reader :alerts
|
|
8
13
|
|
|
14
|
+
# [Plans](https://docs.metronome.com/pricing-and-packaging/create-plans/)
|
|
15
|
+
# determine the base pricing for a customer. Use these endpoints to add a plan to
|
|
16
|
+
# a customer, end a customer plan, retrieve plans, and retrieve plan details.
|
|
17
|
+
# Create plans in the [Metronome app](https://app.metronome.com/plans).
|
|
9
18
|
# @return [MetronomeSDK::Resources::V1::Plans]
|
|
10
19
|
attr_reader :plans
|
|
11
20
|
|
|
21
|
+
# [Credit grants](https://docs.metronome.com/invoicing/how-billing-works/manage-credits/)
|
|
22
|
+
# adjust a customer balance for prepayments, reimbursements, promotions, and so
|
|
23
|
+
# on. Use these endpoints to create, retrieve, update, and delete credit grants.
|
|
12
24
|
# @return [MetronomeSDK::Resources::V1::CreditGrants]
|
|
13
25
|
attr_reader :credit_grants
|
|
14
26
|
|
|
27
|
+
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
28
|
+
# finalization behavior.
|
|
15
29
|
# @return [MetronomeSDK::Resources::V1::PricingUnits]
|
|
16
30
|
attr_reader :pricing_units
|
|
17
31
|
|
|
18
32
|
# @return [MetronomeSDK::Resources::V1::Customers]
|
|
19
33
|
attr_reader :customers
|
|
20
34
|
|
|
35
|
+
# [Customers](https://docs.metronome.com/provisioning/create-customers/) in
|
|
36
|
+
# Metronome represent your users for all billing and reporting. Use these
|
|
37
|
+
# endpoints to create, retrieve, update, and archive customers and their billing
|
|
38
|
+
# configuration.
|
|
21
39
|
# @return [MetronomeSDK::Resources::V1::Dashboards]
|
|
22
40
|
attr_reader :dashboards
|
|
23
41
|
|
|
42
|
+
# [Usage events](https://docs.metronome.com/connecting-metronome/send-usage-data/)
|
|
43
|
+
# are the basis for billable metrics. Use these endpoints to send usage events to
|
|
44
|
+
# Metronome and retrieve aggregated event data.
|
|
24
45
|
# @return [MetronomeSDK::Resources::V1::Usage]
|
|
25
46
|
attr_reader :usage
|
|
26
47
|
|
|
48
|
+
# [Security](https://docs.metronome.com/developer-resources/security/) endpoints
|
|
49
|
+
# allow you to retrieve security-related data.
|
|
27
50
|
# @return [MetronomeSDK::Resources::V1::AuditLogs]
|
|
28
51
|
attr_reader :audit_logs
|
|
29
52
|
|
|
53
|
+
# [Custom fields](https://docs.metronome.com/integrations/custom-fields/) enable
|
|
54
|
+
# adding additional data to Metronome entities. Use these endpoints to create,
|
|
55
|
+
# retrieve, update, and delete custom fields.
|
|
30
56
|
# @return [MetronomeSDK::Resources::V1::CustomFields]
|
|
31
57
|
attr_reader :custom_fields
|
|
32
58
|
|
|
59
|
+
# [Billable metrics](https://docs.metronome.com/understanding-metronome/how-metronome-works#billable-metrics)
|
|
60
|
+
# in Metronome represent the various consumption components that Metronome meters
|
|
61
|
+
# and aggregates.
|
|
33
62
|
# @return [MetronomeSDK::Resources::V1::BillableMetrics]
|
|
34
63
|
attr_reader :billable_metrics
|
|
35
64
|
|
|
65
|
+
# [Security](https://docs.metronome.com/developer-resources/security/) endpoints
|
|
66
|
+
# allow you to retrieve security-related data.
|
|
36
67
|
# @return [MetronomeSDK::Resources::V1::Services]
|
|
37
68
|
attr_reader :services
|
|
38
69
|
|
|
70
|
+
# [Invoices](https://docs.metronome.com/invoicing/) reflect how much a customer
|
|
71
|
+
# spent during a period, which is the basis for billing. Metronome automatically
|
|
72
|
+
# generates invoices based upon your pricing, packaging, and usage events. Use
|
|
73
|
+
# these endpoints to retrieve invoices.
|
|
39
74
|
# @return [MetronomeSDK::Resources::V1::Invoices]
|
|
40
75
|
attr_reader :invoices
|
|
41
76
|
|
|
42
77
|
# @return [MetronomeSDK::Resources::V1::Contracts]
|
|
43
78
|
attr_reader :contracts
|
|
44
79
|
|
|
80
|
+
# @return [MetronomeSDK::Resources::V1::Packages]
|
|
81
|
+
attr_reader :packages
|
|
82
|
+
|
|
45
83
|
# @return [MetronomeSDK::Resources::V1::Payments]
|
|
46
84
|
attr_reader :payments
|
|
47
85
|
|
|
86
|
+
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
87
|
+
# finalization behavior.
|
|
48
88
|
# @return [MetronomeSDK::Resources::V1::Settings]
|
|
49
89
|
attr_reader :settings
|
|
50
90
|
|
|
@@ -66,6 +106,7 @@ module MetronomeSDK
|
|
|
66
106
|
@services = MetronomeSDK::Resources::V1::Services.new(client: client)
|
|
67
107
|
@invoices = MetronomeSDK::Resources::V1::Invoices.new(client: client)
|
|
68
108
|
@contracts = MetronomeSDK::Resources::V1::Contracts.new(client: client)
|
|
109
|
+
@packages = MetronomeSDK::Resources::V1::Packages.new(client: client)
|
|
69
110
|
@payments = MetronomeSDK::Resources::V1::Payments.new(client: client)
|
|
70
111
|
@settings = MetronomeSDK::Resources::V1::Settings.new(client: client)
|
|
71
112
|
end
|
data/lib/metronome_sdk.rb
CHANGED
|
@@ -257,6 +257,16 @@ require_relative "metronome_sdk/models/v1/invoice_regenerate_params"
|
|
|
257
257
|
require_relative "metronome_sdk/models/v1/invoice_regenerate_response"
|
|
258
258
|
require_relative "metronome_sdk/models/v1/invoice_void_params"
|
|
259
259
|
require_relative "metronome_sdk/models/v1/invoice_void_response"
|
|
260
|
+
require_relative "metronome_sdk/models/v1/package_archive_params"
|
|
261
|
+
require_relative "metronome_sdk/models/v1/package_archive_response"
|
|
262
|
+
require_relative "metronome_sdk/models/v1/package_create_params"
|
|
263
|
+
require_relative "metronome_sdk/models/v1/package_create_response"
|
|
264
|
+
require_relative "metronome_sdk/models/v1/package_list_contracts_on_package_params"
|
|
265
|
+
require_relative "metronome_sdk/models/v1/package_list_contracts_on_package_response"
|
|
266
|
+
require_relative "metronome_sdk/models/v1/package_list_params"
|
|
267
|
+
require_relative "metronome_sdk/models/v1/package_list_response"
|
|
268
|
+
require_relative "metronome_sdk/models/v1/package_retrieve_params"
|
|
269
|
+
require_relative "metronome_sdk/models/v1/package_retrieve_response"
|
|
260
270
|
require_relative "metronome_sdk/models/v1/payment"
|
|
261
271
|
require_relative "metronome_sdk/models/v1/payment_attempt_params"
|
|
262
272
|
require_relative "metronome_sdk/models/v1/payment_attempt_response"
|
|
@@ -328,6 +338,7 @@ require_relative "metronome_sdk/resources/v1/customers/plans"
|
|
|
328
338
|
require_relative "metronome_sdk/resources/v1/custom_fields"
|
|
329
339
|
require_relative "metronome_sdk/resources/v1/dashboards"
|
|
330
340
|
require_relative "metronome_sdk/resources/v1/invoices"
|
|
341
|
+
require_relative "metronome_sdk/resources/v1/packages"
|
|
331
342
|
require_relative "metronome_sdk/resources/v1/payments"
|
|
332
343
|
require_relative "metronome_sdk/resources/v1/plans"
|
|
333
344
|
require_relative "metronome_sdk/resources/v1/pricing_units"
|
|
@@ -296,11 +296,31 @@ module MetronomeSDK
|
|
|
296
296
|
end
|
|
297
297
|
|
|
298
298
|
JSON_CONTENT =
|
|
299
|
-
T.let(%r{^application/(?:
|
|
299
|
+
T.let(%r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}, Regexp)
|
|
300
300
|
JSONL_CONTENT =
|
|
301
301
|
T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
|
|
302
302
|
|
|
303
303
|
class << self
|
|
304
|
+
# @api private
|
|
305
|
+
sig do
|
|
306
|
+
params(query: MetronomeSDK::Internal::AnyHash).returns(
|
|
307
|
+
MetronomeSDK::Internal::AnyHash
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
def encode_query_params(query)
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
# @api private
|
|
314
|
+
sig do
|
|
315
|
+
params(
|
|
316
|
+
collection: MetronomeSDK::Internal::AnyHash,
|
|
317
|
+
key: String,
|
|
318
|
+
element: T.anything
|
|
319
|
+
).void
|
|
320
|
+
end
|
|
321
|
+
private def write_query_param_element!(collection, key, element)
|
|
322
|
+
end
|
|
323
|
+
|
|
304
324
|
# @api private
|
|
305
325
|
sig do
|
|
306
326
|
params(
|
|
@@ -11,7 +11,20 @@ module MetronomeSDK
|
|
|
11
11
|
sig { returns(MetronomeSDK::CommitRate::RateType::OrSymbol) }
|
|
12
12
|
attr_accessor :rate_type
|
|
13
13
|
|
|
14
|
-
#
|
|
14
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
15
|
+
sig { returns(T.nilable(MetronomeSDK::CommitRate::MinimumConfig)) }
|
|
16
|
+
attr_reader :minimum_config
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
minimum_config: MetronomeSDK::CommitRate::MinimumConfig::OrHash
|
|
21
|
+
).void
|
|
22
|
+
end
|
|
23
|
+
attr_writer :minimum_config
|
|
24
|
+
|
|
25
|
+
# Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
|
|
26
|
+
# rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
|
|
27
|
+
# and <=1.
|
|
15
28
|
sig { returns(T.nilable(Float)) }
|
|
16
29
|
attr_reader :price
|
|
17
30
|
|
|
@@ -30,13 +43,18 @@ module MetronomeSDK
|
|
|
30
43
|
sig do
|
|
31
44
|
params(
|
|
32
45
|
rate_type: MetronomeSDK::CommitRate::RateType::OrSymbol,
|
|
46
|
+
minimum_config: MetronomeSDK::CommitRate::MinimumConfig::OrHash,
|
|
33
47
|
price: Float,
|
|
34
48
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
35
49
|
).returns(T.attached_class)
|
|
36
50
|
end
|
|
37
51
|
def self.new(
|
|
38
52
|
rate_type:,
|
|
39
|
-
#
|
|
53
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
54
|
+
minimum_config: nil,
|
|
55
|
+
# Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
|
|
56
|
+
# rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
|
|
57
|
+
# and <=1.
|
|
40
58
|
price: nil,
|
|
41
59
|
# Only set for TIERED rate_type.
|
|
42
60
|
tiers: nil
|
|
@@ -47,6 +65,7 @@ module MetronomeSDK
|
|
|
47
65
|
override.returns(
|
|
48
66
|
{
|
|
49
67
|
rate_type: MetronomeSDK::CommitRate::RateType::OrSymbol,
|
|
68
|
+
minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
|
|
50
69
|
price: Float,
|
|
51
70
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
52
71
|
}
|
|
@@ -85,6 +104,28 @@ module MetronomeSDK
|
|
|
85
104
|
def self.values
|
|
86
105
|
end
|
|
87
106
|
end
|
|
107
|
+
|
|
108
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
109
|
+
OrHash =
|
|
110
|
+
T.type_alias do
|
|
111
|
+
T.any(
|
|
112
|
+
MetronomeSDK::CommitRate::MinimumConfig,
|
|
113
|
+
MetronomeSDK::Internal::AnyHash
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
sig { returns(Float) }
|
|
118
|
+
attr_accessor :minimum
|
|
119
|
+
|
|
120
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
121
|
+
sig { params(minimum: Float).returns(T.attached_class) }
|
|
122
|
+
def self.new(minimum:)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
sig { override.returns({ minimum: Float }) }
|
|
126
|
+
def to_hash
|
|
127
|
+
end
|
|
128
|
+
end
|
|
88
129
|
end
|
|
89
130
|
end
|
|
90
131
|
end
|
|
@@ -86,13 +86,6 @@ module MetronomeSDK
|
|
|
86
86
|
end
|
|
87
87
|
attr_writer :prepaid_balance_threshold_configuration
|
|
88
88
|
|
|
89
|
-
# Priority of the contract.
|
|
90
|
-
sig { returns(T.nilable(Float)) }
|
|
91
|
-
attr_reader :priority
|
|
92
|
-
|
|
93
|
-
sig { params(priority: Float).void }
|
|
94
|
-
attr_writer :priority
|
|
95
|
-
|
|
96
89
|
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
97
90
|
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
|
98
91
|
# `ending_before` date for consolidation to occur. This field cannot be modified
|
|
@@ -158,7 +151,6 @@ module MetronomeSDK
|
|
|
158
151
|
package_id: String,
|
|
159
152
|
prepaid_balance_threshold_configuration:
|
|
160
153
|
MetronomeSDK::PrepaidBalanceThresholdConfiguration::OrHash,
|
|
161
|
-
priority: Float,
|
|
162
154
|
scheduled_charges_on_usage_invoices:
|
|
163
155
|
MetronomeSDK::Contract::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
164
156
|
spend_threshold_configuration:
|
|
@@ -183,8 +175,6 @@ module MetronomeSDK
|
|
|
183
175
|
# ID of the package this contract was created from, if applicable.
|
|
184
176
|
package_id: nil,
|
|
185
177
|
prepaid_balance_threshold_configuration: nil,
|
|
186
|
-
# Priority of the contract.
|
|
187
|
-
priority: nil,
|
|
188
178
|
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
189
179
|
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
|
190
180
|
# `ending_before` date for consolidation to occur. This field cannot be modified
|
|
@@ -216,7 +206,6 @@ module MetronomeSDK
|
|
|
216
206
|
package_id: String,
|
|
217
207
|
prepaid_balance_threshold_configuration:
|
|
218
208
|
MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
219
|
-
priority: Float,
|
|
220
209
|
scheduled_charges_on_usage_invoices:
|
|
221
210
|
MetronomeSDK::Contract::ScheduledChargesOnUsageInvoices::TaggedSymbol,
|
|
222
211
|
spend_threshold_configuration:
|
|
@@ -2724,6 +2724,24 @@ module MetronomeSDK
|
|
|
2724
2724
|
sig { params(is_prorated: T::Boolean).void }
|
|
2725
2725
|
attr_writer :is_prorated
|
|
2726
2726
|
|
|
2727
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2728
|
+
sig do
|
|
2729
|
+
returns(
|
|
2730
|
+
T.nilable(
|
|
2731
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig
|
|
2732
|
+
)
|
|
2733
|
+
)
|
|
2734
|
+
end
|
|
2735
|
+
attr_reader :minimum_config
|
|
2736
|
+
|
|
2737
|
+
sig do
|
|
2738
|
+
params(
|
|
2739
|
+
minimum_config:
|
|
2740
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig::OrHash
|
|
2741
|
+
).void
|
|
2742
|
+
end
|
|
2743
|
+
attr_writer :minimum_config
|
|
2744
|
+
|
|
2727
2745
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2728
2746
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2729
2747
|
sig { returns(T.nilable(Float)) }
|
|
@@ -2753,6 +2771,8 @@ module MetronomeSDK
|
|
|
2753
2771
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
2754
2772
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
2755
2773
|
is_prorated: T::Boolean,
|
|
2774
|
+
minimum_config:
|
|
2775
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig::OrHash,
|
|
2756
2776
|
price: Float,
|
|
2757
2777
|
quantity: Float,
|
|
2758
2778
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
@@ -2767,6 +2787,8 @@ module MetronomeSDK
|
|
|
2767
2787
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
2768
2788
|
# set to true.
|
|
2769
2789
|
is_prorated: nil,
|
|
2790
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2791
|
+
minimum_config: nil,
|
|
2770
2792
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2771
2793
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2772
2794
|
price: nil,
|
|
@@ -2785,6 +2807,8 @@ module MetronomeSDK
|
|
|
2785
2807
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
2786
2808
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
2787
2809
|
is_prorated: T::Boolean,
|
|
2810
|
+
minimum_config:
|
|
2811
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
|
|
2788
2812
|
price: Float,
|
|
2789
2813
|
quantity: Float,
|
|
2790
2814
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
@@ -2847,6 +2871,28 @@ module MetronomeSDK
|
|
|
2847
2871
|
def self.values
|
|
2848
2872
|
end
|
|
2849
2873
|
end
|
|
2874
|
+
|
|
2875
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
2876
|
+
OrHash =
|
|
2877
|
+
T.type_alias do
|
|
2878
|
+
T.any(
|
|
2879
|
+
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
|
|
2880
|
+
MetronomeSDK::Internal::AnyHash
|
|
2881
|
+
)
|
|
2882
|
+
end
|
|
2883
|
+
|
|
2884
|
+
sig { returns(Float) }
|
|
2885
|
+
attr_accessor :minimum
|
|
2886
|
+
|
|
2887
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2888
|
+
sig { params(minimum: Float).returns(T.attached_class) }
|
|
2889
|
+
def self.new(minimum:)
|
|
2890
|
+
end
|
|
2891
|
+
|
|
2892
|
+
sig { override.returns({ minimum: Float }) }
|
|
2893
|
+
def to_hash
|
|
2894
|
+
end
|
|
2895
|
+
end
|
|
2850
2896
|
end
|
|
2851
2897
|
|
|
2852
2898
|
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -33,6 +33,17 @@ module MetronomeSDK
|
|
|
33
33
|
sig { params(is_prorated: T::Boolean).void }
|
|
34
34
|
attr_writer :is_prorated
|
|
35
35
|
|
|
36
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
37
|
+
sig { returns(T.nilable(MetronomeSDK::OverwriteRate::MinimumConfig)) }
|
|
38
|
+
attr_reader :minimum_config
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig::OrHash
|
|
43
|
+
).void
|
|
44
|
+
end
|
|
45
|
+
attr_writer :minimum_config
|
|
46
|
+
|
|
36
47
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
37
48
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
38
49
|
sig { returns(T.nilable(Float)) }
|
|
@@ -61,6 +72,7 @@ module MetronomeSDK
|
|
|
61
72
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
62
73
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
63
74
|
is_prorated: T::Boolean,
|
|
75
|
+
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig::OrHash,
|
|
64
76
|
price: Float,
|
|
65
77
|
quantity: Float,
|
|
66
78
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
@@ -75,6 +87,8 @@ module MetronomeSDK
|
|
|
75
87
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
76
88
|
# set to true.
|
|
77
89
|
is_prorated: nil,
|
|
90
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
91
|
+
minimum_config: nil,
|
|
78
92
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
79
93
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
80
94
|
price: nil,
|
|
@@ -92,6 +106,7 @@ module MetronomeSDK
|
|
|
92
106
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
93
107
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
94
108
|
is_prorated: T::Boolean,
|
|
109
|
+
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
|
|
95
110
|
price: Float,
|
|
96
111
|
quantity: Float,
|
|
97
112
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
@@ -137,6 +152,28 @@ module MetronomeSDK
|
|
|
137
152
|
def self.values
|
|
138
153
|
end
|
|
139
154
|
end
|
|
155
|
+
|
|
156
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
157
|
+
OrHash =
|
|
158
|
+
T.type_alias do
|
|
159
|
+
T.any(
|
|
160
|
+
MetronomeSDK::OverwriteRate::MinimumConfig,
|
|
161
|
+
MetronomeSDK::Internal::AnyHash
|
|
162
|
+
)
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
sig { returns(Float) }
|
|
166
|
+
attr_accessor :minimum
|
|
167
|
+
|
|
168
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
169
|
+
sig { params(minimum: Float).returns(T.attached_class) }
|
|
170
|
+
def self.new(minimum:)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
sig { override.returns({ minimum: Float }) }
|
|
174
|
+
def to_hash
|
|
175
|
+
end
|
|
176
|
+
end
|
|
140
177
|
end
|
|
141
178
|
end
|
|
142
179
|
end
|
|
@@ -293,11 +293,6 @@ module MetronomeSDK
|
|
|
293
293
|
T.let(:STRIPE, MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol)
|
|
294
294
|
ANROK =
|
|
295
295
|
T.let(:ANROK, MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol)
|
|
296
|
-
AVALARA =
|
|
297
|
-
T.let(
|
|
298
|
-
:AVALARA,
|
|
299
|
-
MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol
|
|
300
|
-
)
|
|
301
296
|
PRECALCULATED =
|
|
302
297
|
T.let(
|
|
303
298
|
:PRECALCULATED,
|
|
@@ -302,11 +302,6 @@ module MetronomeSDK
|
|
|
302
302
|
:ANROK,
|
|
303
303
|
MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol
|
|
304
304
|
)
|
|
305
|
-
AVALARA =
|
|
306
|
-
T.let(
|
|
307
|
-
:AVALARA,
|
|
308
|
-
MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol
|
|
309
|
-
)
|
|
310
305
|
PRECALCULATED =
|
|
311
306
|
T.let(
|
|
312
307
|
:PRECALCULATED,
|
|
@@ -33,6 +33,15 @@ module MetronomeSDK
|
|
|
33
33
|
sig { params(is_prorated: T::Boolean).void }
|
|
34
34
|
attr_writer :is_prorated
|
|
35
35
|
|
|
36
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
37
|
+
sig { returns(T.nilable(MetronomeSDK::Rate::MinimumConfig)) }
|
|
38
|
+
attr_reader :minimum_config
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(minimum_config: MetronomeSDK::Rate::MinimumConfig::OrHash).void
|
|
42
|
+
end
|
|
43
|
+
attr_writer :minimum_config
|
|
44
|
+
|
|
36
45
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
37
46
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
38
47
|
sig { returns(T.nilable(Float)) }
|
|
@@ -69,6 +78,7 @@ module MetronomeSDK
|
|
|
69
78
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
70
79
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
71
80
|
is_prorated: T::Boolean,
|
|
81
|
+
minimum_config: MetronomeSDK::Rate::MinimumConfig::OrHash,
|
|
72
82
|
price: Float,
|
|
73
83
|
pricing_group_values: T::Hash[Symbol, String],
|
|
74
84
|
quantity: Float,
|
|
@@ -84,6 +94,8 @@ module MetronomeSDK
|
|
|
84
94
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
85
95
|
# set to true.
|
|
86
96
|
is_prorated: nil,
|
|
97
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
98
|
+
minimum_config: nil,
|
|
87
99
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
88
100
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
89
101
|
price: nil,
|
|
@@ -104,6 +116,7 @@ module MetronomeSDK
|
|
|
104
116
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
105
117
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
106
118
|
is_prorated: T::Boolean,
|
|
119
|
+
minimum_config: MetronomeSDK::Rate::MinimumConfig,
|
|
107
120
|
price: Float,
|
|
108
121
|
pricing_group_values: T::Hash[Symbol, String],
|
|
109
122
|
quantity: Float,
|
|
@@ -137,6 +150,28 @@ module MetronomeSDK
|
|
|
137
150
|
def self.values
|
|
138
151
|
end
|
|
139
152
|
end
|
|
153
|
+
|
|
154
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
155
|
+
OrHash =
|
|
156
|
+
T.type_alias do
|
|
157
|
+
T.any(
|
|
158
|
+
MetronomeSDK::Rate::MinimumConfig,
|
|
159
|
+
MetronomeSDK::Internal::AnyHash
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
sig { returns(Float) }
|
|
164
|
+
attr_accessor :minimum
|
|
165
|
+
|
|
166
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
167
|
+
sig { params(minimum: Float).returns(T.attached_class) }
|
|
168
|
+
def self.new(minimum:)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
sig { override.returns({ minimum: Float }) }
|
|
172
|
+
def to_hash
|
|
173
|
+
end
|
|
174
|
+
end
|
|
140
175
|
end
|
|
141
176
|
end
|
|
142
177
|
end
|