metronome-sdk 2.1.0 → 2.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 +39 -0
- data/README.md +1 -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/contract_v2.rb +29 -2
- 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/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 +20 -2
- data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -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.rb +6 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -1
- data/lib/metronome_sdk/resources/v1/customers.rb +5 -3
- data/lib/metronome_sdk/resources/v1/settings.rb +3 -1
- 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/contract_v2.rbi +63 -6
- 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/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 +32 -0
- data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -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.rbi +9 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +6 -0
- data/rbi/metronome_sdk/resources/v1/customers.rbi +8 -1
- data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
- 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/contract_v2.rbs +31 -6
- 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/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 +18 -0
- data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -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.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 +5 -2
|
@@ -291,6 +291,25 @@ module MetronomeSDK
|
|
|
291
291
|
end
|
|
292
292
|
attr_writer :reseller_royalties
|
|
293
293
|
|
|
294
|
+
# The revenue system configuration associated with a contract. Provide either an
|
|
295
|
+
# ID or the provider and delivery method.
|
|
296
|
+
sig do
|
|
297
|
+
returns(
|
|
298
|
+
T.nilable(
|
|
299
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration
|
|
300
|
+
)
|
|
301
|
+
)
|
|
302
|
+
end
|
|
303
|
+
attr_reader :revenue_system_configuration
|
|
304
|
+
|
|
305
|
+
sig do
|
|
306
|
+
params(
|
|
307
|
+
revenue_system_configuration:
|
|
308
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::OrHash
|
|
309
|
+
).void
|
|
310
|
+
end
|
|
311
|
+
attr_writer :revenue_system_configuration
|
|
312
|
+
|
|
294
313
|
# This field's availability is dependent on your client's configuration.
|
|
295
314
|
sig { returns(T.nilable(String)) }
|
|
296
315
|
attr_reader :salesforce_opportunity_id
|
|
@@ -472,6 +491,8 @@ module MetronomeSDK
|
|
|
472
491
|
T::Array[
|
|
473
492
|
MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::OrHash
|
|
474
493
|
],
|
|
494
|
+
revenue_system_configuration:
|
|
495
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::OrHash,
|
|
475
496
|
salesforce_opportunity_id: String,
|
|
476
497
|
scheduled_charges:
|
|
477
498
|
T::Array[
|
|
@@ -534,6 +555,9 @@ module MetronomeSDK
|
|
|
534
555
|
recurring_credits: nil,
|
|
535
556
|
# This field's availability is dependent on your client's configuration.
|
|
536
557
|
reseller_royalties: nil,
|
|
558
|
+
# The revenue system configuration associated with a contract. Provide either an
|
|
559
|
+
# ID or the provider and delivery method.
|
|
560
|
+
revenue_system_configuration: nil,
|
|
537
561
|
# This field's availability is dependent on your client's configuration.
|
|
538
562
|
salesforce_opportunity_id: nil,
|
|
539
563
|
scheduled_charges: nil,
|
|
@@ -604,6 +628,8 @@ module MetronomeSDK
|
|
|
604
628
|
T::Array[
|
|
605
629
|
MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty
|
|
606
630
|
],
|
|
631
|
+
revenue_system_configuration:
|
|
632
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration,
|
|
607
633
|
salesforce_opportunity_id: String,
|
|
608
634
|
scheduled_charges:
|
|
609
635
|
T::Array[
|
|
@@ -4788,9 +4814,8 @@ module MetronomeSDK
|
|
|
4788
4814
|
sig { returns(String) }
|
|
4789
4815
|
attr_accessor :subscription_id
|
|
4790
4816
|
|
|
4791
|
-
# If set to POOLED, allocation added per seat is pooled across the account.
|
|
4792
|
-
#
|
|
4793
|
-
# allocation.
|
|
4817
|
+
# If set to POOLED, allocation added per seat is pooled across the account. If set
|
|
4818
|
+
# to INDIVIDUAL, each seat in the subscription will have its own allocation.
|
|
4794
4819
|
sig do
|
|
4795
4820
|
returns(
|
|
4796
4821
|
T.nilable(
|
|
@@ -4822,9 +4847,8 @@ module MetronomeSDK
|
|
|
4822
4847
|
apply_seat_increase_config:,
|
|
4823
4848
|
# ID of the subscription to configure on the recurring commit/credit.
|
|
4824
4849
|
subscription_id:,
|
|
4825
|
-
# If set to POOLED, allocation added per seat is pooled across the account.
|
|
4826
|
-
#
|
|
4827
|
-
# allocation.
|
|
4850
|
+
# If set to POOLED, allocation added per seat is pooled across the account. If set
|
|
4851
|
+
# to INDIVIDUAL, each seat in the subscription will have its own allocation.
|
|
4828
4852
|
allocation: nil
|
|
4829
4853
|
)
|
|
4830
4854
|
end
|
|
@@ -4868,9 +4892,8 @@ module MetronomeSDK
|
|
|
4868
4892
|
end
|
|
4869
4893
|
end
|
|
4870
4894
|
|
|
4871
|
-
# If set to POOLED, allocation added per seat is pooled across the account.
|
|
4872
|
-
#
|
|
4873
|
-
# allocation.
|
|
4895
|
+
# If set to POOLED, allocation added per seat is pooled across the account. If set
|
|
4896
|
+
# to INDIVIDUAL, each seat in the subscription will have its own allocation.
|
|
4874
4897
|
module Allocation
|
|
4875
4898
|
extend MetronomeSDK::Internal::Type::Enum
|
|
4876
4899
|
|
|
@@ -5535,9 +5558,8 @@ module MetronomeSDK
|
|
|
5535
5558
|
sig { returns(String) }
|
|
5536
5559
|
attr_accessor :subscription_id
|
|
5537
5560
|
|
|
5538
|
-
# If set to POOLED, allocation added per seat is pooled across the account.
|
|
5539
|
-
#
|
|
5540
|
-
# allocation.
|
|
5561
|
+
# If set to POOLED, allocation added per seat is pooled across the account. If set
|
|
5562
|
+
# to INDIVIDUAL, each seat in the subscription will have its own allocation.
|
|
5541
5563
|
sig do
|
|
5542
5564
|
returns(
|
|
5543
5565
|
T.nilable(
|
|
@@ -5569,9 +5591,8 @@ module MetronomeSDK
|
|
|
5569
5591
|
apply_seat_increase_config:,
|
|
5570
5592
|
# ID of the subscription to configure on the recurring commit/credit.
|
|
5571
5593
|
subscription_id:,
|
|
5572
|
-
# If set to POOLED, allocation added per seat is pooled across the account.
|
|
5573
|
-
#
|
|
5574
|
-
# allocation.
|
|
5594
|
+
# If set to POOLED, allocation added per seat is pooled across the account. If set
|
|
5595
|
+
# to INDIVIDUAL, each seat in the subscription will have its own allocation.
|
|
5575
5596
|
allocation: nil
|
|
5576
5597
|
)
|
|
5577
5598
|
end
|
|
@@ -5615,9 +5636,8 @@ module MetronomeSDK
|
|
|
5615
5636
|
end
|
|
5616
5637
|
end
|
|
5617
5638
|
|
|
5618
|
-
# If set to POOLED, allocation added per seat is pooled across the account.
|
|
5619
|
-
#
|
|
5620
|
-
# allocation.
|
|
5639
|
+
# If set to POOLED, allocation added per seat is pooled across the account. If set
|
|
5640
|
+
# to INDIVIDUAL, each seat in the subscription will have its own allocation.
|
|
5621
5641
|
module Allocation
|
|
5622
5642
|
extend MetronomeSDK::Internal::Type::Enum
|
|
5623
5643
|
|
|
@@ -5929,6 +5949,164 @@ module MetronomeSDK
|
|
|
5929
5949
|
end
|
|
5930
5950
|
end
|
|
5931
5951
|
|
|
5952
|
+
class RevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
5953
|
+
OrHash =
|
|
5954
|
+
T.type_alias do
|
|
5955
|
+
T.any(
|
|
5956
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration,
|
|
5957
|
+
MetronomeSDK::Internal::AnyHash
|
|
5958
|
+
)
|
|
5959
|
+
end
|
|
5960
|
+
|
|
5961
|
+
# How revenue recognition records should be delivered to the revenue system. Do
|
|
5962
|
+
# not specify if using revenue_system_configuration_id.
|
|
5963
|
+
sig do
|
|
5964
|
+
returns(
|
|
5965
|
+
T.nilable(
|
|
5966
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol
|
|
5967
|
+
)
|
|
5968
|
+
)
|
|
5969
|
+
end
|
|
5970
|
+
attr_reader :delivery_method
|
|
5971
|
+
|
|
5972
|
+
sig do
|
|
5973
|
+
params(
|
|
5974
|
+
delivery_method:
|
|
5975
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol
|
|
5976
|
+
).void
|
|
5977
|
+
end
|
|
5978
|
+
attr_writer :delivery_method
|
|
5979
|
+
|
|
5980
|
+
# The system that is providing services for revenue recognition. Do not specify if
|
|
5981
|
+
# using revenue_system_configuration_id.
|
|
5982
|
+
sig do
|
|
5983
|
+
returns(
|
|
5984
|
+
T.nilable(
|
|
5985
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol
|
|
5986
|
+
)
|
|
5987
|
+
)
|
|
5988
|
+
end
|
|
5989
|
+
attr_reader :provider
|
|
5990
|
+
|
|
5991
|
+
sig do
|
|
5992
|
+
params(
|
|
5993
|
+
provider:
|
|
5994
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol
|
|
5995
|
+
).void
|
|
5996
|
+
end
|
|
5997
|
+
attr_writer :provider
|
|
5998
|
+
|
|
5999
|
+
# The Metronome ID of the revenue system configuration. Use when a customer has
|
|
6000
|
+
# multiple configurations with the same provider and delivery method. Otherwise,
|
|
6001
|
+
# specify the provider and delivery_method.
|
|
6002
|
+
sig { returns(T.nilable(String)) }
|
|
6003
|
+
attr_reader :revenue_system_configuration_id
|
|
6004
|
+
|
|
6005
|
+
sig { params(revenue_system_configuration_id: String).void }
|
|
6006
|
+
attr_writer :revenue_system_configuration_id
|
|
6007
|
+
|
|
6008
|
+
# The revenue system configuration associated with a contract. Provide either an
|
|
6009
|
+
# ID or the provider and delivery method.
|
|
6010
|
+
sig do
|
|
6011
|
+
params(
|
|
6012
|
+
delivery_method:
|
|
6013
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
|
|
6014
|
+
provider:
|
|
6015
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol,
|
|
6016
|
+
revenue_system_configuration_id: String
|
|
6017
|
+
).returns(T.attached_class)
|
|
6018
|
+
end
|
|
6019
|
+
def self.new(
|
|
6020
|
+
# How revenue recognition records should be delivered to the revenue system. Do
|
|
6021
|
+
# not specify if using revenue_system_configuration_id.
|
|
6022
|
+
delivery_method: nil,
|
|
6023
|
+
# The system that is providing services for revenue recognition. Do not specify if
|
|
6024
|
+
# using revenue_system_configuration_id.
|
|
6025
|
+
provider: nil,
|
|
6026
|
+
# The Metronome ID of the revenue system configuration. Use when a customer has
|
|
6027
|
+
# multiple configurations with the same provider and delivery method. Otherwise,
|
|
6028
|
+
# specify the provider and delivery_method.
|
|
6029
|
+
revenue_system_configuration_id: nil
|
|
6030
|
+
)
|
|
6031
|
+
end
|
|
6032
|
+
|
|
6033
|
+
sig do
|
|
6034
|
+
override.returns(
|
|
6035
|
+
{
|
|
6036
|
+
delivery_method:
|
|
6037
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::OrSymbol,
|
|
6038
|
+
provider:
|
|
6039
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::OrSymbol,
|
|
6040
|
+
revenue_system_configuration_id: String
|
|
6041
|
+
}
|
|
6042
|
+
)
|
|
6043
|
+
end
|
|
6044
|
+
def to_hash
|
|
6045
|
+
end
|
|
6046
|
+
|
|
6047
|
+
# How revenue recognition records should be delivered to the revenue system. Do
|
|
6048
|
+
# not specify if using revenue_system_configuration_id.
|
|
6049
|
+
module DeliveryMethod
|
|
6050
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6051
|
+
|
|
6052
|
+
TaggedSymbol =
|
|
6053
|
+
T.type_alias do
|
|
6054
|
+
T.all(
|
|
6055
|
+
Symbol,
|
|
6056
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod
|
|
6057
|
+
)
|
|
6058
|
+
end
|
|
6059
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6060
|
+
|
|
6061
|
+
DIRECT_TO_BILLING_PROVIDER =
|
|
6062
|
+
T.let(
|
|
6063
|
+
:direct_to_billing_provider,
|
|
6064
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
6065
|
+
)
|
|
6066
|
+
|
|
6067
|
+
sig do
|
|
6068
|
+
override.returns(
|
|
6069
|
+
T::Array[
|
|
6070
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
6071
|
+
]
|
|
6072
|
+
)
|
|
6073
|
+
end
|
|
6074
|
+
def self.values
|
|
6075
|
+
end
|
|
6076
|
+
end
|
|
6077
|
+
|
|
6078
|
+
# The system that is providing services for revenue recognition. Do not specify if
|
|
6079
|
+
# using revenue_system_configuration_id.
|
|
6080
|
+
module Provider
|
|
6081
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6082
|
+
|
|
6083
|
+
TaggedSymbol =
|
|
6084
|
+
T.type_alias do
|
|
6085
|
+
T.all(
|
|
6086
|
+
Symbol,
|
|
6087
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider
|
|
6088
|
+
)
|
|
6089
|
+
end
|
|
6090
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6091
|
+
|
|
6092
|
+
NETSUITE =
|
|
6093
|
+
T.let(
|
|
6094
|
+
:netsuite,
|
|
6095
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::TaggedSymbol
|
|
6096
|
+
)
|
|
6097
|
+
|
|
6098
|
+
sig do
|
|
6099
|
+
override.returns(
|
|
6100
|
+
T::Array[
|
|
6101
|
+
MetronomeSDK::V1::ContractCreateParams::RevenueSystemConfiguration::Provider::TaggedSymbol
|
|
6102
|
+
]
|
|
6103
|
+
)
|
|
6104
|
+
end
|
|
6105
|
+
def self.values
|
|
6106
|
+
end
|
|
6107
|
+
end
|
|
6108
|
+
end
|
|
6109
|
+
|
|
5932
6110
|
class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
|
|
5933
6111
|
OrHash =
|
|
5934
6112
|
T.type_alias do
|
|
@@ -6526,8 +6704,8 @@ module MetronomeSDK
|
|
|
6526
6704
|
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
6527
6705
|
# directly on the subscription. `initial_quantity` must be provided with this
|
|
6528
6706
|
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
6529
|
-
# **SEAT_BASED**:
|
|
6530
|
-
#
|
|
6707
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
6708
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
6531
6709
|
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
6532
6710
|
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
6533
6711
|
# provided with this option.
|
|
@@ -6548,6 +6726,23 @@ module MetronomeSDK
|
|
|
6548
6726
|
end
|
|
6549
6727
|
attr_writer :quantity_management_mode
|
|
6550
6728
|
|
|
6729
|
+
sig do
|
|
6730
|
+
returns(
|
|
6731
|
+
T.nilable(
|
|
6732
|
+
MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig
|
|
6733
|
+
)
|
|
6734
|
+
)
|
|
6735
|
+
end
|
|
6736
|
+
attr_reader :seat_config
|
|
6737
|
+
|
|
6738
|
+
sig do
|
|
6739
|
+
params(
|
|
6740
|
+
seat_config:
|
|
6741
|
+
MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig::OrHash
|
|
6742
|
+
).void
|
|
6743
|
+
end
|
|
6744
|
+
attr_writer :seat_config
|
|
6745
|
+
|
|
6551
6746
|
# Inclusive start time for the subscription. If not provided, defaults to contract
|
|
6552
6747
|
# start date
|
|
6553
6748
|
sig { returns(T.nilable(Time)) }
|
|
@@ -6579,6 +6774,8 @@ module MetronomeSDK
|
|
|
6579
6774
|
name: String,
|
|
6580
6775
|
quantity_management_mode:
|
|
6581
6776
|
MetronomeSDK::V1::ContractCreateParams::Subscription::QuantityManagementMode::OrSymbol,
|
|
6777
|
+
seat_config:
|
|
6778
|
+
MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig::OrHash,
|
|
6582
6779
|
starting_at: Time,
|
|
6583
6780
|
temporary_id: String
|
|
6584
6781
|
).returns(T.attached_class)
|
|
@@ -6601,12 +6798,13 @@ module MetronomeSDK
|
|
|
6601
6798
|
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
6602
6799
|
# directly on the subscription. `initial_quantity` must be provided with this
|
|
6603
6800
|
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
6604
|
-
# **SEAT_BASED**:
|
|
6605
|
-
#
|
|
6801
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
6802
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
6606
6803
|
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
6607
6804
|
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
6608
6805
|
# provided with this option.
|
|
6609
6806
|
quantity_management_mode: nil,
|
|
6807
|
+
seat_config: nil,
|
|
6610
6808
|
# Inclusive start time for the subscription. If not provided, defaults to contract
|
|
6611
6809
|
# start date
|
|
6612
6810
|
starting_at: nil,
|
|
@@ -6632,6 +6830,8 @@ module MetronomeSDK
|
|
|
6632
6830
|
name: String,
|
|
6633
6831
|
quantity_management_mode:
|
|
6634
6832
|
MetronomeSDK::V1::ContractCreateParams::Subscription::QuantityManagementMode::OrSymbol,
|
|
6833
|
+
seat_config:
|
|
6834
|
+
MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig,
|
|
6635
6835
|
starting_at: Time,
|
|
6636
6836
|
temporary_id: String
|
|
6637
6837
|
}
|
|
@@ -6884,8 +7084,8 @@ module MetronomeSDK
|
|
|
6884
7084
|
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
6885
7085
|
# directly on the subscription. `initial_quantity` must be provided with this
|
|
6886
7086
|
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
6887
|
-
# **SEAT_BASED**:
|
|
6888
|
-
#
|
|
7087
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
7088
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
6889
7089
|
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
6890
7090
|
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
6891
7091
|
# provided with this option.
|
|
@@ -6922,6 +7122,70 @@ module MetronomeSDK
|
|
|
6922
7122
|
def self.values
|
|
6923
7123
|
end
|
|
6924
7124
|
end
|
|
7125
|
+
|
|
7126
|
+
class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
7127
|
+
OrHash =
|
|
7128
|
+
T.type_alias do
|
|
7129
|
+
T.any(
|
|
7130
|
+
MetronomeSDK::V1::ContractCreateParams::Subscription::SeatConfig,
|
|
7131
|
+
MetronomeSDK::Internal::AnyHash
|
|
7132
|
+
)
|
|
7133
|
+
end
|
|
7134
|
+
|
|
7135
|
+
# The initial assigned seats on this subscription.
|
|
7136
|
+
sig { returns(T::Array[String]) }
|
|
7137
|
+
attr_accessor :initial_seat_ids
|
|
7138
|
+
|
|
7139
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
7140
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
7141
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
7142
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
7143
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
7144
|
+
# usage.
|
|
7145
|
+
sig { returns(String) }
|
|
7146
|
+
attr_accessor :seat_group_key
|
|
7147
|
+
|
|
7148
|
+
# The initial amount of unassigned seats on this subscription.
|
|
7149
|
+
sig { returns(T.nilable(Float)) }
|
|
7150
|
+
attr_reader :initial_unassigned_seats
|
|
7151
|
+
|
|
7152
|
+
sig { params(initial_unassigned_seats: Float).void }
|
|
7153
|
+
attr_writer :initial_unassigned_seats
|
|
7154
|
+
|
|
7155
|
+
sig do
|
|
7156
|
+
params(
|
|
7157
|
+
initial_seat_ids: T::Array[String],
|
|
7158
|
+
seat_group_key: String,
|
|
7159
|
+
initial_unassigned_seats: Float
|
|
7160
|
+
).returns(T.attached_class)
|
|
7161
|
+
end
|
|
7162
|
+
def self.new(
|
|
7163
|
+
# The initial assigned seats on this subscription.
|
|
7164
|
+
initial_seat_ids:,
|
|
7165
|
+
# The property name, sent on usage events, that identifies the seat ID associated
|
|
7166
|
+
# with the usage event. For example, the property name might be seat_id or
|
|
7167
|
+
# user_id. The property must be set as a group key on billable metrics and a
|
|
7168
|
+
# presentation/pricing group key on contract products. This allows linked
|
|
7169
|
+
# recurring credits with an allocation per seat to be consumed by only one seat's
|
|
7170
|
+
# usage.
|
|
7171
|
+
seat_group_key:,
|
|
7172
|
+
# The initial amount of unassigned seats on this subscription.
|
|
7173
|
+
initial_unassigned_seats: nil
|
|
7174
|
+
)
|
|
7175
|
+
end
|
|
7176
|
+
|
|
7177
|
+
sig do
|
|
7178
|
+
override.returns(
|
|
7179
|
+
{
|
|
7180
|
+
initial_seat_ids: T::Array[String],
|
|
7181
|
+
seat_group_key: String,
|
|
7182
|
+
initial_unassigned_seats: Float
|
|
7183
|
+
}
|
|
7184
|
+
)
|
|
7185
|
+
end
|
|
7186
|
+
def to_hash
|
|
7187
|
+
end
|
|
7188
|
+
end
|
|
6925
7189
|
end
|
|
6926
7190
|
|
|
6927
7191
|
class Transition < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -62,6 +62,27 @@ module MetronomeSDK
|
|
|
62
62
|
end
|
|
63
63
|
attr_writer :customer_billing_provider_configurations
|
|
64
64
|
|
|
65
|
+
sig do
|
|
66
|
+
returns(
|
|
67
|
+
T.nilable(
|
|
68
|
+
T::Array[
|
|
69
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration
|
|
70
|
+
]
|
|
71
|
+
)
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
attr_reader :customer_revenue_system_configurations
|
|
75
|
+
|
|
76
|
+
sig do
|
|
77
|
+
params(
|
|
78
|
+
customer_revenue_system_configurations:
|
|
79
|
+
T::Array[
|
|
80
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::OrHash
|
|
81
|
+
]
|
|
82
|
+
).void
|
|
83
|
+
end
|
|
84
|
+
attr_writer :customer_revenue_system_configurations
|
|
85
|
+
|
|
65
86
|
# (deprecated, use ingest_aliases instead) an alias that can be used to refer to
|
|
66
87
|
# this customer in usage events
|
|
67
88
|
sig { returns(T.nilable(String)) }
|
|
@@ -87,6 +108,10 @@ module MetronomeSDK
|
|
|
87
108
|
T::Array[
|
|
88
109
|
MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::OrHash
|
|
89
110
|
],
|
|
111
|
+
customer_revenue_system_configurations:
|
|
112
|
+
T::Array[
|
|
113
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::OrHash
|
|
114
|
+
],
|
|
90
115
|
external_id: String,
|
|
91
116
|
ingest_aliases: T::Array[String],
|
|
92
117
|
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
@@ -99,6 +124,7 @@ module MetronomeSDK
|
|
|
99
124
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
100
125
|
custom_fields: nil,
|
|
101
126
|
customer_billing_provider_configurations: nil,
|
|
127
|
+
customer_revenue_system_configurations: nil,
|
|
102
128
|
# (deprecated, use ingest_aliases instead) an alias that can be used to refer to
|
|
103
129
|
# this customer in usage events
|
|
104
130
|
external_id: nil,
|
|
@@ -119,6 +145,10 @@ module MetronomeSDK
|
|
|
119
145
|
T::Array[
|
|
120
146
|
MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration
|
|
121
147
|
],
|
|
148
|
+
customer_revenue_system_configurations:
|
|
149
|
+
T::Array[
|
|
150
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration
|
|
151
|
+
],
|
|
122
152
|
external_id: String,
|
|
123
153
|
ingest_aliases: T::Array[String],
|
|
124
154
|
request_options: MetronomeSDK::RequestOptions
|
|
@@ -147,6 +177,18 @@ module MetronomeSDK
|
|
|
147
177
|
end
|
|
148
178
|
attr_accessor :billing_provider_type
|
|
149
179
|
|
|
180
|
+
sig { returns(T.nilable(String)) }
|
|
181
|
+
attr_reader :aws_customer_account_id
|
|
182
|
+
|
|
183
|
+
sig { params(aws_customer_account_id: String).void }
|
|
184
|
+
attr_writer :aws_customer_account_id
|
|
185
|
+
|
|
186
|
+
sig { returns(T.nilable(String)) }
|
|
187
|
+
attr_reader :aws_customer_id
|
|
188
|
+
|
|
189
|
+
sig { params(aws_customer_id: String).void }
|
|
190
|
+
attr_writer :aws_customer_id
|
|
191
|
+
|
|
150
192
|
# True if the aws_product_code is a SAAS subscription product, false otherwise.
|
|
151
193
|
sig { returns(T.nilable(T::Boolean)) }
|
|
152
194
|
attr_reader :aws_is_subscription_product
|
|
@@ -201,6 +243,8 @@ module MetronomeSDK
|
|
|
201
243
|
billing_provider_customer_id: String,
|
|
202
244
|
billing_provider_type:
|
|
203
245
|
MetronomeSDK::V1::CustomerCreateParams::BillingConfig::BillingProviderType::OrSymbol,
|
|
246
|
+
aws_customer_account_id: String,
|
|
247
|
+
aws_customer_id: String,
|
|
204
248
|
aws_is_subscription_product: T::Boolean,
|
|
205
249
|
aws_product_code: String,
|
|
206
250
|
aws_region:
|
|
@@ -212,6 +256,8 @@ module MetronomeSDK
|
|
|
212
256
|
def self.new(
|
|
213
257
|
billing_provider_customer_id:,
|
|
214
258
|
billing_provider_type:,
|
|
259
|
+
aws_customer_account_id: nil,
|
|
260
|
+
aws_customer_id: nil,
|
|
215
261
|
# True if the aws_product_code is a SAAS subscription product, false otherwise.
|
|
216
262
|
aws_is_subscription_product: nil,
|
|
217
263
|
aws_product_code: nil,
|
|
@@ -228,6 +274,8 @@ module MetronomeSDK
|
|
|
228
274
|
billing_provider_customer_id: String,
|
|
229
275
|
billing_provider_type:
|
|
230
276
|
MetronomeSDK::V1::CustomerCreateParams::BillingConfig::BillingProviderType::OrSymbol,
|
|
277
|
+
aws_customer_account_id: String,
|
|
278
|
+
aws_customer_id: String,
|
|
231
279
|
aws_is_subscription_product: T::Boolean,
|
|
232
280
|
aws_product_code: String,
|
|
233
281
|
aws_region:
|
|
@@ -770,6 +818,162 @@ module MetronomeSDK
|
|
|
770
818
|
end
|
|
771
819
|
end
|
|
772
820
|
end
|
|
821
|
+
|
|
822
|
+
class CustomerRevenueSystemConfiguration < MetronomeSDK::Internal::Type::BaseModel
|
|
823
|
+
OrHash =
|
|
824
|
+
T.type_alias do
|
|
825
|
+
T.any(
|
|
826
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration,
|
|
827
|
+
MetronomeSDK::Internal::AnyHash
|
|
828
|
+
)
|
|
829
|
+
end
|
|
830
|
+
|
|
831
|
+
# The revenue system provider set for this configuration.
|
|
832
|
+
sig do
|
|
833
|
+
returns(
|
|
834
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::Provider::OrSymbol
|
|
835
|
+
)
|
|
836
|
+
end
|
|
837
|
+
attr_accessor :provider
|
|
838
|
+
|
|
839
|
+
# Configuration for the revenue system provider. The structure of this object is
|
|
840
|
+
# specific to the revenue system provider. For NetSuite, this should contain
|
|
841
|
+
# `netsuite_customer_id`.
|
|
842
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
843
|
+
attr_reader :configuration
|
|
844
|
+
|
|
845
|
+
sig { params(configuration: T::Hash[Symbol, T.anything]).void }
|
|
846
|
+
attr_writer :configuration
|
|
847
|
+
|
|
848
|
+
# The method to use for delivering invoices to this customer. If not provided, the
|
|
849
|
+
# `delivery_method_id` must be provided.
|
|
850
|
+
sig do
|
|
851
|
+
returns(
|
|
852
|
+
T.nilable(
|
|
853
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod::OrSymbol
|
|
854
|
+
)
|
|
855
|
+
)
|
|
856
|
+
end
|
|
857
|
+
attr_reader :delivery_method
|
|
858
|
+
|
|
859
|
+
sig do
|
|
860
|
+
params(
|
|
861
|
+
delivery_method:
|
|
862
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod::OrSymbol
|
|
863
|
+
).void
|
|
864
|
+
end
|
|
865
|
+
attr_writer :delivery_method
|
|
866
|
+
|
|
867
|
+
# ID of the delivery method to use for this customer. If not provided, the
|
|
868
|
+
# `delivery_method` must be provided.
|
|
869
|
+
sig { returns(T.nilable(String)) }
|
|
870
|
+
attr_reader :delivery_method_id
|
|
871
|
+
|
|
872
|
+
sig { params(delivery_method_id: String).void }
|
|
873
|
+
attr_writer :delivery_method_id
|
|
874
|
+
|
|
875
|
+
sig do
|
|
876
|
+
params(
|
|
877
|
+
provider:
|
|
878
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::Provider::OrSymbol,
|
|
879
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
880
|
+
delivery_method:
|
|
881
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod::OrSymbol,
|
|
882
|
+
delivery_method_id: String
|
|
883
|
+
).returns(T.attached_class)
|
|
884
|
+
end
|
|
885
|
+
def self.new(
|
|
886
|
+
# The revenue system provider set for this configuration.
|
|
887
|
+
provider:,
|
|
888
|
+
# Configuration for the revenue system provider. The structure of this object is
|
|
889
|
+
# specific to the revenue system provider. For NetSuite, this should contain
|
|
890
|
+
# `netsuite_customer_id`.
|
|
891
|
+
configuration: nil,
|
|
892
|
+
# The method to use for delivering invoices to this customer. If not provided, the
|
|
893
|
+
# `delivery_method_id` must be provided.
|
|
894
|
+
delivery_method: nil,
|
|
895
|
+
# ID of the delivery method to use for this customer. If not provided, the
|
|
896
|
+
# `delivery_method` must be provided.
|
|
897
|
+
delivery_method_id: nil
|
|
898
|
+
)
|
|
899
|
+
end
|
|
900
|
+
|
|
901
|
+
sig do
|
|
902
|
+
override.returns(
|
|
903
|
+
{
|
|
904
|
+
provider:
|
|
905
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::Provider::OrSymbol,
|
|
906
|
+
configuration: T::Hash[Symbol, T.anything],
|
|
907
|
+
delivery_method:
|
|
908
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod::OrSymbol,
|
|
909
|
+
delivery_method_id: String
|
|
910
|
+
}
|
|
911
|
+
)
|
|
912
|
+
end
|
|
913
|
+
def to_hash
|
|
914
|
+
end
|
|
915
|
+
|
|
916
|
+
# The revenue system provider set for this configuration.
|
|
917
|
+
module Provider
|
|
918
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
919
|
+
|
|
920
|
+
TaggedSymbol =
|
|
921
|
+
T.type_alias do
|
|
922
|
+
T.all(
|
|
923
|
+
Symbol,
|
|
924
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::Provider
|
|
925
|
+
)
|
|
926
|
+
end
|
|
927
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
928
|
+
|
|
929
|
+
NETSUITE =
|
|
930
|
+
T.let(
|
|
931
|
+
:netsuite,
|
|
932
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::Provider::TaggedSymbol
|
|
933
|
+
)
|
|
934
|
+
|
|
935
|
+
sig do
|
|
936
|
+
override.returns(
|
|
937
|
+
T::Array[
|
|
938
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::Provider::TaggedSymbol
|
|
939
|
+
]
|
|
940
|
+
)
|
|
941
|
+
end
|
|
942
|
+
def self.values
|
|
943
|
+
end
|
|
944
|
+
end
|
|
945
|
+
|
|
946
|
+
# The method to use for delivering invoices to this customer. If not provided, the
|
|
947
|
+
# `delivery_method_id` must be provided.
|
|
948
|
+
module DeliveryMethod
|
|
949
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
950
|
+
|
|
951
|
+
TaggedSymbol =
|
|
952
|
+
T.type_alias do
|
|
953
|
+
T.all(
|
|
954
|
+
Symbol,
|
|
955
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod
|
|
956
|
+
)
|
|
957
|
+
end
|
|
958
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
959
|
+
|
|
960
|
+
DIRECT_TO_BILLING_PROVIDER =
|
|
961
|
+
T.let(
|
|
962
|
+
:direct_to_billing_provider,
|
|
963
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
964
|
+
)
|
|
965
|
+
|
|
966
|
+
sig do
|
|
967
|
+
override.returns(
|
|
968
|
+
T::Array[
|
|
969
|
+
MetronomeSDK::V1::CustomerCreateParams::CustomerRevenueSystemConfiguration::DeliveryMethod::TaggedSymbol
|
|
970
|
+
]
|
|
971
|
+
)
|
|
972
|
+
end
|
|
973
|
+
def self.values
|
|
974
|
+
end
|
|
975
|
+
end
|
|
976
|
+
end
|
|
773
977
|
end
|
|
774
978
|
end
|
|
775
979
|
end
|