metronome-sdk 2.1.0 → 3.0.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 +65 -0
- data/README.md +10 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +7 -1
- data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +18 -12
- data/lib/metronome_sdk/internal/util.rb +7 -2
- data/lib/metronome_sdk/models/commit.rb +69 -1
- data/lib/metronome_sdk/models/contract_v2.rb +45 -2
- data/lib/metronome_sdk/models/credit.rb +69 -1
- data/lib/metronome_sdk/models/rate.rb +1 -11
- data/lib/metronome_sdk/models/subscription.rb +32 -5
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +33 -1
- data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +136 -20
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -11
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -11
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +1 -11
- data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +4 -0
- data/lib/metronome_sdk/models/v1/customer_create_params.rb +94 -2
- data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_response.rb +111 -0
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +32 -1
- data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +15 -1
- data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +15 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +33 -1
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +71 -3
- data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -1
- data/lib/metronome_sdk/models/v1/payment.rb +40 -1
- data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/usage_search_response.rb +6 -3
- data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +17 -1
- data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +17 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +285 -22
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +177 -3
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +1 -1
- data/lib/metronome_sdk/resources/v1/contracts.rb +6 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +8 -4
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +7 -7
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +5 -5
- data/lib/metronome_sdk/resources/v1/customers.rb +12 -10
- data/lib/metronome_sdk/resources/v1/plans.rb +2 -2
- data/lib/metronome_sdk/resources/v1/settings.rb +3 -1
- data/lib/metronome_sdk/resources/v1/usage.rb +7 -7
- data/lib/metronome_sdk/resources/v2/contracts.rb +10 -2
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +3 -0
- data/manifest.yaml +2 -0
- data/rbi/metronome_sdk/internal/transport/base_client.rbi +5 -0
- data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +6 -2
- data/rbi/metronome_sdk/internal/type/base_model.rbi +8 -4
- data/rbi/metronome_sdk/models/commit.rbi +171 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +85 -6
- data/rbi/metronome_sdk/models/credit.rbi +171 -0
- data/rbi/metronome_sdk/models/rate.rbi +3 -18
- data/rbi/metronome_sdk/models/subscription.rbi +55 -9
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +69 -0
- data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +288 -24
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +3 -18
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -15
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +3 -18
- data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +20 -0
- data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +204 -0
- data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbi +281 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +67 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +18 -0
- data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +18 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +71 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +121 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -0
- data/rbi/metronome_sdk/models/v1/payment.rbi +79 -0
- data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +11 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +22 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +22 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +616 -27
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +367 -3
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -5
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +1 -1
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +9 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +9 -3
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -7
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +5 -5
- data/rbi/metronome_sdk/resources/v1/customers.rbi +15 -8
- data/rbi/metronome_sdk/resources/v1/plans.rbi +2 -2
- data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +7 -7
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
- data/sig/metronome_sdk/internal/transport/base_client.rbs +2 -0
- data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -1
- data/sig/metronome_sdk/models/commit.rbs +74 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +45 -6
- data/sig/metronome_sdk/models/credit.rbs +74 -0
- data/sig/metronome_sdk/models/rate.rbs +3 -10
- data/sig/metronome_sdk/models/subscription.rbs +22 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +28 -0
- data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +104 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +3 -10
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +1 -8
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +3 -10
- data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +8 -0
- data/sig/metronome_sdk/models/v1/customer_create_params.rbs +83 -0
- data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbs +119 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +26 -1
- data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +14 -0
- data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +30 -0
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +64 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -0
- data/sig/metronome_sdk/models/v1/payment.rbs +45 -0
- data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +3 -1
- data/sig/metronome_sdk/models/v1/usage_search_response.rbs +3 -1
- data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +14 -0
- data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +14 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +232 -3
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +131 -3
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
- data/sig/metronome_sdk/resources/v1/contracts.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/customers.rbs +2 -1
- data/sig/metronome_sdk/resources/v1/settings.rbs +1 -0
- data/sig/metronome_sdk/resources/v2/contracts.rbs +4 -0
- metadata +19 -2
|
@@ -228,7 +228,7 @@ module MetronomeSDK
|
|
|
228
228
|
# finalized invoice. You can void the invoice beforehand and then remove the
|
|
229
229
|
# access schedule segment.
|
|
230
230
|
#
|
|
231
|
-
# @overload edit_commit(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, invoice_contract_id: nil, invoice_schedule: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
|
|
231
|
+
# @overload edit_commit(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, invoice_contract_id: nil, invoice_schedule: nil, name: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
|
|
232
232
|
#
|
|
233
233
|
# @param commit_id [String] ID of the commit to edit
|
|
234
234
|
#
|
|
@@ -240,12 +240,16 @@ module MetronomeSDK
|
|
|
240
240
|
#
|
|
241
241
|
# @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
|
|
242
242
|
#
|
|
243
|
+
# @param description [String] Updated description for the commit
|
|
244
|
+
#
|
|
243
245
|
# @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for commit hierarchy access control
|
|
244
246
|
#
|
|
245
247
|
# @param invoice_contract_id [String] ID of contract to use for invoicing
|
|
246
248
|
#
|
|
247
249
|
# @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule]
|
|
248
250
|
#
|
|
251
|
+
# @param name [String] Updated name for the commit
|
|
252
|
+
#
|
|
249
253
|
# @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
|
|
250
254
|
#
|
|
251
255
|
# @param product_id [String]
|
|
@@ -290,7 +294,7 @@ module MetronomeSDK
|
|
|
290
294
|
# invoice. You can void the invoice beforehand and then remove the access
|
|
291
295
|
# schedule segment.
|
|
292
296
|
#
|
|
293
|
-
# @overload edit_credit(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
|
|
297
|
+
# @overload edit_credit(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, name: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
|
|
294
298
|
#
|
|
295
299
|
# @param credit_id [String] ID of the credit to edit
|
|
296
300
|
#
|
|
@@ -302,8 +306,12 @@ module MetronomeSDK
|
|
|
302
306
|
#
|
|
303
307
|
# @param applicable_product_tags [Array<String>, nil] Which tags the credit applies to. If both applicable*product_ids and applicable*
|
|
304
308
|
#
|
|
309
|
+
# @param description [String] Updated description for the credit
|
|
310
|
+
#
|
|
305
311
|
# @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for credit hierarchy access control
|
|
306
312
|
#
|
|
313
|
+
# @param name [String] Updated name for the credit
|
|
314
|
+
#
|
|
307
315
|
# @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
|
|
308
316
|
#
|
|
309
317
|
# @param product_id [String]
|
data/lib/metronome_sdk.rb
CHANGED
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
# Standard libraries.
|
|
4
4
|
# rubocop:disable Lint/RedundantRequireStatement
|
|
5
5
|
require "English"
|
|
6
|
+
require "base64"
|
|
6
7
|
require "cgi"
|
|
7
8
|
require "date"
|
|
8
9
|
require "erb"
|
|
9
10
|
require "etc"
|
|
10
11
|
require "json"
|
|
11
12
|
require "net/http"
|
|
13
|
+
require "openssl"
|
|
12
14
|
require "pathname"
|
|
13
15
|
require "rbconfig"
|
|
14
16
|
require "securerandom"
|
|
@@ -235,6 +237,7 @@ require_relative "metronome_sdk/models/v1/customers/plan_list_price_adjustments_
|
|
|
235
237
|
require_relative "metronome_sdk/models/v1/customers/plan_list_price_adjustments_response"
|
|
236
238
|
require_relative "metronome_sdk/models/v1/customers/plan_list_response"
|
|
237
239
|
require_relative "metronome_sdk/models/v1/customer_set_billing_configurations_params"
|
|
240
|
+
require_relative "metronome_sdk/models/v1/customer_set_billing_configurations_response"
|
|
238
241
|
require_relative "metronome_sdk/models/v1/customer_set_ingest_aliases_params"
|
|
239
242
|
require_relative "metronome_sdk/models/v1/customer_set_name_params"
|
|
240
243
|
require_relative "metronome_sdk/models/v1/customer_set_name_response"
|
data/manifest.yaml
CHANGED
|
@@ -26,8 +26,12 @@ module MetronomeSDK
|
|
|
26
26
|
|
|
27
27
|
class << self
|
|
28
28
|
# @api private
|
|
29
|
-
sig
|
|
30
|
-
|
|
29
|
+
sig do
|
|
30
|
+
params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
|
|
31
|
+
Net::HTTP
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
def connect(cert_store:, url:)
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
# @api private
|
|
@@ -31,7 +31,7 @@ module MetronomeSDK
|
|
|
31
31
|
#
|
|
32
32
|
# Assumes superclass fields are totally defined before fields are accessed /
|
|
33
33
|
# defined on subclasses.
|
|
34
|
-
sig { params(child:
|
|
34
|
+
sig { params(child: MetronomeSDK::Internal::Type::BaseModel).void }
|
|
35
35
|
def inherited(child)
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -282,9 +282,13 @@ module MetronomeSDK
|
|
|
282
282
|
|
|
283
283
|
# Create a new instance of a model.
|
|
284
284
|
sig do
|
|
285
|
-
params(
|
|
286
|
-
|
|
287
|
-
|
|
285
|
+
params(
|
|
286
|
+
data:
|
|
287
|
+
T.any(
|
|
288
|
+
T::Hash[Symbol, T.anything],
|
|
289
|
+
MetronomeSDK::Internal::Type::BaseModel
|
|
290
|
+
)
|
|
291
|
+
).returns(T.attached_class)
|
|
288
292
|
end
|
|
289
293
|
def self.new(data = {})
|
|
290
294
|
end
|
|
@@ -195,6 +195,14 @@ module MetronomeSDK
|
|
|
195
195
|
sig { params(rate_type: MetronomeSDK::Commit::RateType::OrSymbol).void }
|
|
196
196
|
attr_writer :rate_type
|
|
197
197
|
|
|
198
|
+
# The ID of the recurring commit that this commit was generated from, if
|
|
199
|
+
# applicable.
|
|
200
|
+
sig { returns(T.nilable(String)) }
|
|
201
|
+
attr_reader :recurring_commit_id
|
|
202
|
+
|
|
203
|
+
sig { params(recurring_commit_id: String).void }
|
|
204
|
+
attr_writer :recurring_commit_id
|
|
205
|
+
|
|
198
206
|
sig { returns(T.nilable(MetronomeSDK::Commit::RolledOverFrom)) }
|
|
199
207
|
attr_reader :rolled_over_from
|
|
200
208
|
|
|
@@ -229,6 +237,18 @@ module MetronomeSDK
|
|
|
229
237
|
end
|
|
230
238
|
attr_writer :specifiers
|
|
231
239
|
|
|
240
|
+
# The subscription configuration for this commit, if it was generated from a
|
|
241
|
+
# recurring commit with a subscription attached.
|
|
242
|
+
sig { returns(T.nilable(MetronomeSDK::Commit::SubscriptionConfig)) }
|
|
243
|
+
attr_reader :subscription_config
|
|
244
|
+
|
|
245
|
+
sig do
|
|
246
|
+
params(
|
|
247
|
+
subscription_config: MetronomeSDK::Commit::SubscriptionConfig::OrHash
|
|
248
|
+
).void
|
|
249
|
+
end
|
|
250
|
+
attr_writer :subscription_config
|
|
251
|
+
|
|
232
252
|
# Prevents the creation of duplicates. If a request to create a commit or credit
|
|
233
253
|
# is made with a uniqueness key that was previously used to create a commit or
|
|
234
254
|
# credit, a new record will not be created and the request will fail with a 409
|
|
@@ -282,10 +302,12 @@ module MetronomeSDK
|
|
|
282
302
|
netsuite_sales_order_id: String,
|
|
283
303
|
priority: Float,
|
|
284
304
|
rate_type: MetronomeSDK::Commit::RateType::OrSymbol,
|
|
305
|
+
recurring_commit_id: String,
|
|
285
306
|
rolled_over_from: MetronomeSDK::Commit::RolledOverFrom::OrHash,
|
|
286
307
|
rollover_fraction: Float,
|
|
287
308
|
salesforce_opportunity_id: String,
|
|
288
309
|
specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
|
|
310
|
+
subscription_config: MetronomeSDK::Commit::SubscriptionConfig::OrHash,
|
|
289
311
|
uniqueness_key: String
|
|
290
312
|
).returns(T.attached_class)
|
|
291
313
|
end
|
|
@@ -339,6 +361,9 @@ module MetronomeSDK
|
|
|
339
361
|
# will apply first.
|
|
340
362
|
priority: nil,
|
|
341
363
|
rate_type: nil,
|
|
364
|
+
# The ID of the recurring commit that this commit was generated from, if
|
|
365
|
+
# applicable.
|
|
366
|
+
recurring_commit_id: nil,
|
|
342
367
|
rolled_over_from: nil,
|
|
343
368
|
rollover_fraction: nil,
|
|
344
369
|
# This field's availability is dependent on your client's configuration.
|
|
@@ -347,6 +372,9 @@ module MetronomeSDK
|
|
|
347
372
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
348
373
|
# specifiers to contribute to a commit's or credit's drawdown.
|
|
349
374
|
specifiers: nil,
|
|
375
|
+
# The subscription configuration for this commit, if it was generated from a
|
|
376
|
+
# recurring commit with a subscription attached.
|
|
377
|
+
subscription_config: nil,
|
|
350
378
|
# Prevents the creation of duplicates. If a request to create a commit or credit
|
|
351
379
|
# is made with a uniqueness key that was previously used to create a commit or
|
|
352
380
|
# credit, a new record will not be created and the request will fail with a 409
|
|
@@ -380,10 +408,12 @@ module MetronomeSDK
|
|
|
380
408
|
netsuite_sales_order_id: String,
|
|
381
409
|
priority: Float,
|
|
382
410
|
rate_type: MetronomeSDK::Commit::RateType::TaggedSymbol,
|
|
411
|
+
recurring_commit_id: String,
|
|
383
412
|
rolled_over_from: MetronomeSDK::Commit::RolledOverFrom,
|
|
384
413
|
rollover_fraction: Float,
|
|
385
414
|
salesforce_opportunity_id: String,
|
|
386
415
|
specifiers: T::Array[MetronomeSDK::CommitSpecifier],
|
|
416
|
+
subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
387
417
|
uniqueness_key: String
|
|
388
418
|
}
|
|
389
419
|
)
|
|
@@ -1793,6 +1823,147 @@ module MetronomeSDK
|
|
|
1793
1823
|
def to_hash
|
|
1794
1824
|
end
|
|
1795
1825
|
end
|
|
1826
|
+
|
|
1827
|
+
class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1828
|
+
OrHash =
|
|
1829
|
+
T.type_alias do
|
|
1830
|
+
T.any(
|
|
1831
|
+
MetronomeSDK::Commit::SubscriptionConfig,
|
|
1832
|
+
MetronomeSDK::Internal::AnyHash
|
|
1833
|
+
)
|
|
1834
|
+
end
|
|
1835
|
+
|
|
1836
|
+
sig do
|
|
1837
|
+
returns(
|
|
1838
|
+
T.nilable(
|
|
1839
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::TaggedSymbol
|
|
1840
|
+
)
|
|
1841
|
+
)
|
|
1842
|
+
end
|
|
1843
|
+
attr_reader :allocation
|
|
1844
|
+
|
|
1845
|
+
sig do
|
|
1846
|
+
params(
|
|
1847
|
+
allocation:
|
|
1848
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::OrSymbol
|
|
1849
|
+
).void
|
|
1850
|
+
end
|
|
1851
|
+
attr_writer :allocation
|
|
1852
|
+
|
|
1853
|
+
sig do
|
|
1854
|
+
returns(
|
|
1855
|
+
T.nilable(
|
|
1856
|
+
MetronomeSDK::Commit::SubscriptionConfig::ApplySeatIncreaseConfig
|
|
1857
|
+
)
|
|
1858
|
+
)
|
|
1859
|
+
end
|
|
1860
|
+
attr_reader :apply_seat_increase_config
|
|
1861
|
+
|
|
1862
|
+
sig do
|
|
1863
|
+
params(
|
|
1864
|
+
apply_seat_increase_config:
|
|
1865
|
+
MetronomeSDK::Commit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
|
|
1866
|
+
).void
|
|
1867
|
+
end
|
|
1868
|
+
attr_writer :apply_seat_increase_config
|
|
1869
|
+
|
|
1870
|
+
sig { returns(T.nilable(String)) }
|
|
1871
|
+
attr_reader :subscription_id
|
|
1872
|
+
|
|
1873
|
+
sig { params(subscription_id: String).void }
|
|
1874
|
+
attr_writer :subscription_id
|
|
1875
|
+
|
|
1876
|
+
# The subscription configuration for this commit, if it was generated from a
|
|
1877
|
+
# recurring commit with a subscription attached.
|
|
1878
|
+
sig do
|
|
1879
|
+
params(
|
|
1880
|
+
allocation:
|
|
1881
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::OrSymbol,
|
|
1882
|
+
apply_seat_increase_config:
|
|
1883
|
+
MetronomeSDK::Commit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
|
|
1884
|
+
subscription_id: String
|
|
1885
|
+
).returns(T.attached_class)
|
|
1886
|
+
end
|
|
1887
|
+
def self.new(
|
|
1888
|
+
allocation: nil,
|
|
1889
|
+
apply_seat_increase_config: nil,
|
|
1890
|
+
subscription_id: nil
|
|
1891
|
+
)
|
|
1892
|
+
end
|
|
1893
|
+
|
|
1894
|
+
sig do
|
|
1895
|
+
override.returns(
|
|
1896
|
+
{
|
|
1897
|
+
allocation:
|
|
1898
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::TaggedSymbol,
|
|
1899
|
+
apply_seat_increase_config:
|
|
1900
|
+
MetronomeSDK::Commit::SubscriptionConfig::ApplySeatIncreaseConfig,
|
|
1901
|
+
subscription_id: String
|
|
1902
|
+
}
|
|
1903
|
+
)
|
|
1904
|
+
end
|
|
1905
|
+
def to_hash
|
|
1906
|
+
end
|
|
1907
|
+
|
|
1908
|
+
module Allocation
|
|
1909
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
1910
|
+
|
|
1911
|
+
TaggedSymbol =
|
|
1912
|
+
T.type_alias do
|
|
1913
|
+
T.all(
|
|
1914
|
+
Symbol,
|
|
1915
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation
|
|
1916
|
+
)
|
|
1917
|
+
end
|
|
1918
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1919
|
+
|
|
1920
|
+
INDIVIDUAL =
|
|
1921
|
+
T.let(
|
|
1922
|
+
:INDIVIDUAL,
|
|
1923
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::TaggedSymbol
|
|
1924
|
+
)
|
|
1925
|
+
POOLED =
|
|
1926
|
+
T.let(
|
|
1927
|
+
:POOLED,
|
|
1928
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::TaggedSymbol
|
|
1929
|
+
)
|
|
1930
|
+
|
|
1931
|
+
sig do
|
|
1932
|
+
override.returns(
|
|
1933
|
+
T::Array[
|
|
1934
|
+
MetronomeSDK::Commit::SubscriptionConfig::Allocation::TaggedSymbol
|
|
1935
|
+
]
|
|
1936
|
+
)
|
|
1937
|
+
end
|
|
1938
|
+
def self.values
|
|
1939
|
+
end
|
|
1940
|
+
end
|
|
1941
|
+
|
|
1942
|
+
class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1943
|
+
OrHash =
|
|
1944
|
+
T.type_alias do
|
|
1945
|
+
T.any(
|
|
1946
|
+
MetronomeSDK::Commit::SubscriptionConfig::ApplySeatIncreaseConfig,
|
|
1947
|
+
MetronomeSDK::Internal::AnyHash
|
|
1948
|
+
)
|
|
1949
|
+
end
|
|
1950
|
+
|
|
1951
|
+
# Indicates whether a mid-period seat increase should be prorated.
|
|
1952
|
+
sig { returns(T::Boolean) }
|
|
1953
|
+
attr_accessor :is_prorated
|
|
1954
|
+
|
|
1955
|
+
sig { params(is_prorated: T::Boolean).returns(T.attached_class) }
|
|
1956
|
+
def self.new(
|
|
1957
|
+
# Indicates whether a mid-period seat increase should be prorated.
|
|
1958
|
+
is_prorated:
|
|
1959
|
+
)
|
|
1960
|
+
end
|
|
1961
|
+
|
|
1962
|
+
sig { override.returns({ is_prorated: T::Boolean }) }
|
|
1963
|
+
def to_hash
|
|
1964
|
+
end
|
|
1965
|
+
end
|
|
1966
|
+
end
|
|
1796
1967
|
end
|
|
1797
1968
|
end
|
|
1798
1969
|
end
|
|
@@ -691,6 +691,13 @@ module MetronomeSDK
|
|
|
691
691
|
end
|
|
692
692
|
attr_writer :rate_type
|
|
693
693
|
|
|
694
|
+
# The ID of the recurring commit that created this commit
|
|
695
|
+
sig { returns(T.nilable(String)) }
|
|
696
|
+
attr_reader :recurring_commit_id
|
|
697
|
+
|
|
698
|
+
sig { params(recurring_commit_id: String).void }
|
|
699
|
+
attr_writer :recurring_commit_id
|
|
700
|
+
|
|
694
701
|
sig do
|
|
695
702
|
returns(T.nilable(MetronomeSDK::ContractV2::Commit::RolledOverFrom))
|
|
696
703
|
end
|
|
@@ -730,6 +737,20 @@ module MetronomeSDK
|
|
|
730
737
|
end
|
|
731
738
|
attr_writer :specifiers
|
|
732
739
|
|
|
740
|
+
# Attach a subscription to the recurring commit/credit.
|
|
741
|
+
sig do
|
|
742
|
+
returns(T.nilable(MetronomeSDK::RecurringCommitSubscriptionConfig))
|
|
743
|
+
end
|
|
744
|
+
attr_reader :subscription_config
|
|
745
|
+
|
|
746
|
+
sig do
|
|
747
|
+
params(
|
|
748
|
+
subscription_config:
|
|
749
|
+
MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
|
|
750
|
+
).void
|
|
751
|
+
end
|
|
752
|
+
attr_writer :subscription_config
|
|
753
|
+
|
|
733
754
|
sig do
|
|
734
755
|
params(
|
|
735
756
|
id: String,
|
|
@@ -773,11 +794,14 @@ module MetronomeSDK
|
|
|
773
794
|
netsuite_sales_order_id: String,
|
|
774
795
|
priority: Float,
|
|
775
796
|
rate_type: MetronomeSDK::ContractV2::Commit::RateType::OrSymbol,
|
|
797
|
+
recurring_commit_id: String,
|
|
776
798
|
rolled_over_from:
|
|
777
799
|
MetronomeSDK::ContractV2::Commit::RolledOverFrom::OrHash,
|
|
778
800
|
rollover_fraction: Float,
|
|
779
801
|
salesforce_opportunity_id: String,
|
|
780
|
-
specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash]
|
|
802
|
+
specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
|
|
803
|
+
subscription_config:
|
|
804
|
+
MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
|
|
781
805
|
).returns(T.attached_class)
|
|
782
806
|
end
|
|
783
807
|
def self.new(
|
|
@@ -826,6 +850,8 @@ module MetronomeSDK
|
|
|
826
850
|
# will apply first.
|
|
827
851
|
priority: nil,
|
|
828
852
|
rate_type: nil,
|
|
853
|
+
# The ID of the recurring commit that created this commit
|
|
854
|
+
recurring_commit_id: nil,
|
|
829
855
|
rolled_over_from: nil,
|
|
830
856
|
rollover_fraction: nil,
|
|
831
857
|
# This field's availability is dependent on your client's configuration.
|
|
@@ -833,7 +859,9 @@ module MetronomeSDK
|
|
|
833
859
|
# List of filters that determine what kind of customer usage draws down a commit
|
|
834
860
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
835
861
|
# specifiers to contribute to a commit's or credit's drawdown.
|
|
836
|
-
specifiers: nil
|
|
862
|
+
specifiers: nil,
|
|
863
|
+
# Attach a subscription to the recurring commit/credit.
|
|
864
|
+
subscription_config: nil
|
|
837
865
|
)
|
|
838
866
|
end
|
|
839
867
|
|
|
@@ -865,11 +893,14 @@ module MetronomeSDK
|
|
|
865
893
|
priority: Float,
|
|
866
894
|
rate_type:
|
|
867
895
|
MetronomeSDK::ContractV2::Commit::RateType::TaggedSymbol,
|
|
896
|
+
recurring_commit_id: String,
|
|
868
897
|
rolled_over_from:
|
|
869
898
|
MetronomeSDK::ContractV2::Commit::RolledOverFrom,
|
|
870
899
|
rollover_fraction: Float,
|
|
871
900
|
salesforce_opportunity_id: String,
|
|
872
|
-
specifiers: T::Array[MetronomeSDK::CommitSpecifier]
|
|
901
|
+
specifiers: T::Array[MetronomeSDK::CommitSpecifier],
|
|
902
|
+
subscription_config:
|
|
903
|
+
MetronomeSDK::RecurringCommitSubscriptionConfig
|
|
873
904
|
}
|
|
874
905
|
)
|
|
875
906
|
end
|
|
@@ -3202,6 +3233,16 @@ module MetronomeSDK
|
|
|
3202
3233
|
end
|
|
3203
3234
|
attr_writer :contract
|
|
3204
3235
|
|
|
3236
|
+
# Timestamp of when the credit was created.
|
|
3237
|
+
#
|
|
3238
|
+
# - Recurring credits: latter of credit service period date and parent credit
|
|
3239
|
+
# start date
|
|
3240
|
+
sig { returns(T.nilable(Time)) }
|
|
3241
|
+
attr_reader :created_at
|
|
3242
|
+
|
|
3243
|
+
sig { params(created_at: Time).void }
|
|
3244
|
+
attr_writer :created_at
|
|
3245
|
+
|
|
3205
3246
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3206
3247
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
3207
3248
|
attr_reader :custom_fields
|
|
@@ -3277,6 +3318,13 @@ module MetronomeSDK
|
|
|
3277
3318
|
sig { params(priority: Float).void }
|
|
3278
3319
|
attr_writer :priority
|
|
3279
3320
|
|
|
3321
|
+
# The ID of the recurring credit that created this credit
|
|
3322
|
+
sig { returns(T.nilable(String)) }
|
|
3323
|
+
attr_reader :recurring_credit_id
|
|
3324
|
+
|
|
3325
|
+
sig { params(recurring_credit_id: String).void }
|
|
3326
|
+
attr_writer :recurring_credit_id
|
|
3327
|
+
|
|
3280
3328
|
# This field's availability is dependent on your client's configuration.
|
|
3281
3329
|
sig { returns(T.nilable(String)) }
|
|
3282
3330
|
attr_reader :salesforce_opportunity_id
|
|
@@ -3297,6 +3345,20 @@ module MetronomeSDK
|
|
|
3297
3345
|
end
|
|
3298
3346
|
attr_writer :specifiers
|
|
3299
3347
|
|
|
3348
|
+
# Attach a subscription to the recurring commit/credit.
|
|
3349
|
+
sig do
|
|
3350
|
+
returns(T.nilable(MetronomeSDK::RecurringCommitSubscriptionConfig))
|
|
3351
|
+
end
|
|
3352
|
+
attr_reader :subscription_config
|
|
3353
|
+
|
|
3354
|
+
sig do
|
|
3355
|
+
params(
|
|
3356
|
+
subscription_config:
|
|
3357
|
+
MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
|
|
3358
|
+
).void
|
|
3359
|
+
end
|
|
3360
|
+
attr_writer :subscription_config
|
|
3361
|
+
|
|
3300
3362
|
sig do
|
|
3301
3363
|
params(
|
|
3302
3364
|
id: String,
|
|
@@ -3308,6 +3370,7 @@ module MetronomeSDK
|
|
|
3308
3370
|
applicable_product_tags: T::Array[String],
|
|
3309
3371
|
balance: Float,
|
|
3310
3372
|
contract: MetronomeSDK::ContractV2::Credit::Contract::OrHash,
|
|
3373
|
+
created_at: Time,
|
|
3311
3374
|
custom_fields: T::Hash[Symbol, String],
|
|
3312
3375
|
description: String,
|
|
3313
3376
|
hierarchy_configuration:
|
|
@@ -3327,8 +3390,11 @@ module MetronomeSDK
|
|
|
3327
3390
|
name: String,
|
|
3328
3391
|
netsuite_sales_order_id: String,
|
|
3329
3392
|
priority: Float,
|
|
3393
|
+
recurring_credit_id: String,
|
|
3330
3394
|
salesforce_opportunity_id: String,
|
|
3331
|
-
specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash]
|
|
3395
|
+
specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
|
|
3396
|
+
subscription_config:
|
|
3397
|
+
MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
|
|
3332
3398
|
).returns(T.attached_class)
|
|
3333
3399
|
end
|
|
3334
3400
|
def self.new(
|
|
@@ -3350,6 +3416,11 @@ module MetronomeSDK
|
|
|
3350
3416
|
# included in the balance, including future-dated manual ledger entries.
|
|
3351
3417
|
balance: nil,
|
|
3352
3418
|
contract: nil,
|
|
3419
|
+
# Timestamp of when the credit was created.
|
|
3420
|
+
#
|
|
3421
|
+
# - Recurring credits: latter of credit service period date and parent credit
|
|
3422
|
+
# start date
|
|
3423
|
+
created_at: nil,
|
|
3353
3424
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
3354
3425
|
custom_fields: nil,
|
|
3355
3426
|
description: nil,
|
|
@@ -3364,12 +3435,16 @@ module MetronomeSDK
|
|
|
3364
3435
|
# If multiple credits or commits are applicable, the one with the lower priority
|
|
3365
3436
|
# will apply first.
|
|
3366
3437
|
priority: nil,
|
|
3438
|
+
# The ID of the recurring credit that created this credit
|
|
3439
|
+
recurring_credit_id: nil,
|
|
3367
3440
|
# This field's availability is dependent on your client's configuration.
|
|
3368
3441
|
salesforce_opportunity_id: nil,
|
|
3369
3442
|
# List of filters that determine what kind of customer usage draws down a commit
|
|
3370
3443
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
3371
3444
|
# specifiers to contribute to a commit's or credit's drawdown.
|
|
3372
|
-
specifiers: nil
|
|
3445
|
+
specifiers: nil,
|
|
3446
|
+
# Attach a subscription to the recurring commit/credit.
|
|
3447
|
+
subscription_config: nil
|
|
3373
3448
|
)
|
|
3374
3449
|
end
|
|
3375
3450
|
|
|
@@ -3385,6 +3460,7 @@ module MetronomeSDK
|
|
|
3385
3460
|
applicable_product_tags: T::Array[String],
|
|
3386
3461
|
balance: Float,
|
|
3387
3462
|
contract: MetronomeSDK::ContractV2::Credit::Contract,
|
|
3463
|
+
created_at: Time,
|
|
3388
3464
|
custom_fields: T::Hash[Symbol, String],
|
|
3389
3465
|
description: String,
|
|
3390
3466
|
hierarchy_configuration:
|
|
@@ -3394,8 +3470,11 @@ module MetronomeSDK
|
|
|
3394
3470
|
name: String,
|
|
3395
3471
|
netsuite_sales_order_id: String,
|
|
3396
3472
|
priority: Float,
|
|
3473
|
+
recurring_credit_id: String,
|
|
3397
3474
|
salesforce_opportunity_id: String,
|
|
3398
|
-
specifiers: T::Array[MetronomeSDK::CommitSpecifier]
|
|
3475
|
+
specifiers: T::Array[MetronomeSDK::CommitSpecifier],
|
|
3476
|
+
subscription_config:
|
|
3477
|
+
MetronomeSDK::RecurringCommitSubscriptionConfig
|
|
3399
3478
|
}
|
|
3400
3479
|
)
|
|
3401
3480
|
end
|