metronome-sdk 3.2.0 → 3.4.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/client.rb +7 -0
- data/lib/metronome_sdk/models/commit_rate.rb +1 -22
- data/lib/metronome_sdk/models/contract_v2.rb +1 -22
- data/lib/metronome_sdk/models/overwrite_rate.rb +1 -22
- data/lib/metronome_sdk/models/rate.rb +1 -22
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +10 -24
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +10 -24
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -23
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -21
- data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rb +32 -0
- data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rb +38 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +1 -23
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +18 -25
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1 -23
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
- data/lib/metronome_sdk/resources/v1/customers.rb +53 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +21 -0
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -0
- data/rbi/metronome_sdk/client.rbi +6 -0
- data/rbi/metronome_sdk/models/commit_rate.rbi +0 -37
- data/rbi/metronome_sdk/models/contract_v2.rbi +0 -46
- data/rbi/metronome_sdk/models/overwrite_rate.rbi +0 -37
- data/rbi/metronome_sdk/models/rate.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +11 -46
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +11 -46
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +0 -46
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -46
- data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbi +56 -0
- data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbi +95 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +0 -46
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +20 -49
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +0 -46
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -4
- data/rbi/metronome_sdk/resources/v1/customers.rbi +48 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +21 -0
- data/sig/metronome_sdk/client.rbs +3 -0
- data/sig/metronome_sdk/models/commit_rate.rbs +0 -19
- data/sig/metronome_sdk/models/contract_v2.rbs +0 -19
- data/sig/metronome_sdk/models/overwrite_rate.rbs +0 -19
- data/sig/metronome_sdk/models/rate.rbs +0 -19
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -19
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +7 -19
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +0 -19
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +0 -19
- data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbs +33 -0
- data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbs +44 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +0 -19
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +15 -22
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
- data/sig/metronome_sdk/resources/v1/customers.rbs +6 -0
- metadata +8 -2
|
@@ -1194,13 +1194,6 @@ module MetronomeSDK
|
|
|
1194
1194
|
# @return [Boolean, nil]
|
|
1195
1195
|
optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
1196
1196
|
|
|
1197
|
-
# @!attribute minimum_config
|
|
1198
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1199
|
-
#
|
|
1200
|
-
# @return [MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig, nil]
|
|
1201
|
-
optional :minimum_config,
|
|
1202
|
-
-> { MetronomeSDK::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig }
|
|
1203
|
-
|
|
1204
1197
|
# @!attribute price
|
|
1205
1198
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
1206
1199
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
@@ -1220,7 +1213,7 @@ module MetronomeSDK
|
|
|
1220
1213
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
1221
1214
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
1222
1215
|
|
|
1223
|
-
# @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil,
|
|
1216
|
+
# @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
|
|
1224
1217
|
# Some parameter documentations has been truncated, see
|
|
1225
1218
|
# {MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate} for
|
|
1226
1219
|
# more details.
|
|
@@ -1235,8 +1228,6 @@ module MetronomeSDK
|
|
|
1235
1228
|
#
|
|
1236
1229
|
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
1237
1230
|
#
|
|
1238
|
-
# @param minimum_config [MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1239
|
-
#
|
|
1240
1231
|
# @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
|
|
1241
1232
|
#
|
|
1242
1233
|
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
@@ -1257,19 +1248,6 @@ module MetronomeSDK
|
|
|
1257
1248
|
# @!method self.values
|
|
1258
1249
|
# @return [Array<Symbol>]
|
|
1259
1250
|
end
|
|
1260
|
-
|
|
1261
|
-
# @see MetronomeSDK::Models::V1::PackageCreateParams::Override::OverwriteRate#minimum_config
|
|
1262
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1263
|
-
# @!attribute minimum
|
|
1264
|
-
#
|
|
1265
|
-
# @return [Float]
|
|
1266
|
-
required :minimum, Float
|
|
1267
|
-
|
|
1268
|
-
# @!method initialize(minimum:)
|
|
1269
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1270
|
-
#
|
|
1271
|
-
# @param minimum [Float]
|
|
1272
|
-
end
|
|
1273
1251
|
end
|
|
1274
1252
|
|
|
1275
1253
|
# Indicates whether the override applies to commit rates or list rates. Can only
|
|
@@ -1081,6 +1081,12 @@ module MetronomeSDK
|
|
|
1081
1081
|
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType, nil]
|
|
1082
1082
|
optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddCredit::RateType }
|
|
1083
1083
|
|
|
1084
|
+
# @!attribute rollover_fraction
|
|
1085
|
+
# Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
|
1086
|
+
#
|
|
1087
|
+
# @return [Float, nil]
|
|
1088
|
+
optional :rollover_fraction, Float
|
|
1089
|
+
|
|
1084
1090
|
# @!attribute specifiers
|
|
1085
1091
|
# List of filters that determine what kind of customer usage draws down a commit
|
|
1086
1092
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
@@ -1092,7 +1098,7 @@ module MetronomeSDK
|
|
|
1092
1098
|
# @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
|
|
1093
1099
|
optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
|
|
1094
1100
|
|
|
1095
|
-
# @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
|
|
1101
|
+
# @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil)
|
|
1096
1102
|
# Some parameter documentations has been truncated, see
|
|
1097
1103
|
# {MetronomeSDK::Models::V2::ContractEditParams::AddCredit} for more details.
|
|
1098
1104
|
#
|
|
@@ -1118,6 +1124,8 @@ module MetronomeSDK
|
|
|
1118
1124
|
#
|
|
1119
1125
|
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType]
|
|
1120
1126
|
#
|
|
1127
|
+
# @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
|
1128
|
+
#
|
|
1121
1129
|
# @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
|
|
1122
1130
|
|
|
1123
1131
|
# @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#access_schedule
|
|
@@ -1653,13 +1661,6 @@ module MetronomeSDK
|
|
|
1653
1661
|
# @return [Boolean, nil]
|
|
1654
1662
|
optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
1655
1663
|
|
|
1656
|
-
# @!attribute minimum_config
|
|
1657
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1658
|
-
#
|
|
1659
|
-
# @return [MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig, nil]
|
|
1660
|
-
optional :minimum_config,
|
|
1661
|
-
-> { MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig }
|
|
1662
|
-
|
|
1663
1664
|
# @!attribute price
|
|
1664
1665
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
1665
1666
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
@@ -1679,7 +1680,7 @@ module MetronomeSDK
|
|
|
1679
1680
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
1680
1681
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
1681
1682
|
|
|
1682
|
-
# @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil,
|
|
1683
|
+
# @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
|
|
1683
1684
|
# Some parameter documentations has been truncated, see
|
|
1684
1685
|
# {MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate} for
|
|
1685
1686
|
# more details.
|
|
@@ -1694,8 +1695,6 @@ module MetronomeSDK
|
|
|
1694
1695
|
#
|
|
1695
1696
|
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
1696
1697
|
#
|
|
1697
|
-
# @param minimum_config [MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1698
|
-
#
|
|
1699
1698
|
# @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
|
|
1700
1699
|
#
|
|
1701
1700
|
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
@@ -1716,19 +1715,6 @@ module MetronomeSDK
|
|
|
1716
1715
|
# @!method self.values
|
|
1717
1716
|
# @return [Array<Symbol>]
|
|
1718
1717
|
end
|
|
1719
|
-
|
|
1720
|
-
# @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate#minimum_config
|
|
1721
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1722
|
-
# @!attribute minimum
|
|
1723
|
-
#
|
|
1724
|
-
# @return [Float]
|
|
1725
|
-
required :minimum, Float
|
|
1726
|
-
|
|
1727
|
-
# @!method initialize(minimum:)
|
|
1728
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1729
|
-
#
|
|
1730
|
-
# @param minimum [Float]
|
|
1731
|
-
end
|
|
1732
1718
|
end
|
|
1733
1719
|
|
|
1734
1720
|
# Indicates whether the override applies to commit rates or list rates. Can only
|
|
@@ -3718,7 +3704,12 @@ module MetronomeSDK
|
|
|
3718
3704
|
# @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::RateType, nil]
|
|
3719
3705
|
optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType }
|
|
3720
3706
|
|
|
3721
|
-
# @!
|
|
3707
|
+
# @!attribute rollover_fraction
|
|
3708
|
+
#
|
|
3709
|
+
# @return [Float, nil]
|
|
3710
|
+
optional :rollover_fraction, Float, nil?: true
|
|
3711
|
+
|
|
3712
|
+
# @!method initialize(credit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, product_id: nil, rate_type: nil, rollover_fraction: nil)
|
|
3722
3713
|
# Some parameter documentations has been truncated, see
|
|
3723
3714
|
# {MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit} for more details.
|
|
3724
3715
|
#
|
|
@@ -3743,6 +3734,8 @@ module MetronomeSDK
|
|
|
3743
3734
|
# @param product_id [String]
|
|
3744
3735
|
#
|
|
3745
3736
|
# @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::RateType] If provided, updates the credit to use the specified rate type for current and f
|
|
3737
|
+
#
|
|
3738
|
+
# @param rollover_fraction [Float, nil]
|
|
3746
3739
|
|
|
3747
3740
|
# @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit#access_schedule
|
|
3748
3741
|
class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -843,13 +843,6 @@ module MetronomeSDK
|
|
|
843
843
|
# @return [Boolean, nil]
|
|
844
844
|
optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
845
845
|
|
|
846
|
-
# @!attribute minimum_config
|
|
847
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
848
|
-
#
|
|
849
|
-
# @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig, nil]
|
|
850
|
-
optional :minimum_config,
|
|
851
|
-
-> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig }
|
|
852
|
-
|
|
853
846
|
# @!attribute price
|
|
854
847
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
855
848
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
@@ -869,7 +862,7 @@ module MetronomeSDK
|
|
|
869
862
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
870
863
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
871
864
|
|
|
872
|
-
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil,
|
|
865
|
+
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
|
|
873
866
|
# Some parameter documentations has been truncated, see
|
|
874
867
|
# {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate}
|
|
875
868
|
# for more details.
|
|
@@ -882,8 +875,6 @@ module MetronomeSDK
|
|
|
882
875
|
#
|
|
883
876
|
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
884
877
|
#
|
|
885
|
-
# @param minimum_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
886
|
-
#
|
|
887
878
|
# @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
|
|
888
879
|
#
|
|
889
880
|
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
@@ -904,19 +895,6 @@ module MetronomeSDK
|
|
|
904
895
|
# @!method self.values
|
|
905
896
|
# @return [Array<Symbol>]
|
|
906
897
|
end
|
|
907
|
-
|
|
908
|
-
# @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate#minimum_config
|
|
909
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
910
|
-
# @!attribute minimum
|
|
911
|
-
#
|
|
912
|
-
# @return [Float]
|
|
913
|
-
required :minimum, Float
|
|
914
|
-
|
|
915
|
-
# @!method initialize(minimum:)
|
|
916
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
917
|
-
#
|
|
918
|
-
# @param minimum [Float]
|
|
919
|
-
end
|
|
920
898
|
end
|
|
921
899
|
|
|
922
900
|
# @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#product
|
|
@@ -59,7 +59,7 @@ module MetronomeSDK
|
|
|
59
59
|
#
|
|
60
60
|
# Add a new rate
|
|
61
61
|
#
|
|
62
|
-
# @overload add(entitled:, product_id:, rate_card_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil,
|
|
62
|
+
# @overload add(entitled:, product_id:, rate_card_id:, rate_type:, starting_at:, billing_frequency: nil, commit_rate: nil, credit_type_id: nil, custom_rate: nil, ending_before: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, request_options: {})
|
|
63
63
|
#
|
|
64
64
|
# @param entitled [Boolean]
|
|
65
65
|
#
|
|
@@ -83,8 +83,6 @@ module MetronomeSDK
|
|
|
83
83
|
#
|
|
84
84
|
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
85
85
|
#
|
|
86
|
-
# @param minimum_config [MetronomeSDK::Models::V1::Contracts::RateCards::RateAddParams::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
87
|
-
#
|
|
88
86
|
# @param price [Float] Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For PERCEN
|
|
89
87
|
#
|
|
90
88
|
# @param pricing_group_values [Hash{Symbol=>String}] Optional. List of pricing group key value pairs which will be used to calculate
|
|
@@ -221,6 +221,59 @@ module MetronomeSDK
|
|
|
221
221
|
)
|
|
222
222
|
end
|
|
223
223
|
|
|
224
|
+
# Deprecate an existing billing configuration for a customer to handle churn or
|
|
225
|
+
# billing and collection preference changes. Archiving a billing configuration
|
|
226
|
+
# takes effect immediately. If there are active contracts using the configuration,
|
|
227
|
+
# Metronome will archive the configuration on the contract and immediately stop
|
|
228
|
+
# metering to downstream systems.
|
|
229
|
+
#
|
|
230
|
+
# ### Use this endpoint to:
|
|
231
|
+
#
|
|
232
|
+
# - Remove billing provider customer data and configurations when no longer needed
|
|
233
|
+
# - Clean up test or deprecated billing provider configurations
|
|
234
|
+
# - Free up uniqueness keys for reuse with new billing provider configurations
|
|
235
|
+
# - Disable threshold recharge configurations associated with archived billing
|
|
236
|
+
# providers
|
|
237
|
+
#
|
|
238
|
+
# ### Key response fields:
|
|
239
|
+
#
|
|
240
|
+
# A successful response returns:
|
|
241
|
+
#
|
|
242
|
+
# - `success`: Boolean indicating the operation completed successfully
|
|
243
|
+
# - `error`: Null on success, error message on failure
|
|
244
|
+
#
|
|
245
|
+
# ### Usage guidelines:
|
|
246
|
+
#
|
|
247
|
+
# - Archiving a contract configuration during a grace period will result in the
|
|
248
|
+
# invoice not being sent to the customer
|
|
249
|
+
# - Automatically disables both spend-based and credit-based threshold recharge
|
|
250
|
+
# configurations for contracts using the archived billing provider
|
|
251
|
+
# - You can archive multiple configurations for a single customer in a single
|
|
252
|
+
# request, but any validation failures for an individual configuration will
|
|
253
|
+
# prevent the entire operation from succeeding
|
|
254
|
+
#
|
|
255
|
+
# @overload archive_billing_configurations(customer_billing_provider_configuration_ids:, customer_id:, request_options: {})
|
|
256
|
+
#
|
|
257
|
+
# @param customer_billing_provider_configuration_ids [Array<String>] Array of billing provider configuration IDs to archive
|
|
258
|
+
#
|
|
259
|
+
# @param customer_id [String] The customer ID the billing provider configurations belong to
|
|
260
|
+
#
|
|
261
|
+
# @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
262
|
+
#
|
|
263
|
+
# @return [MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse]
|
|
264
|
+
#
|
|
265
|
+
# @see MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsParams
|
|
266
|
+
def archive_billing_configurations(params)
|
|
267
|
+
parsed, options = MetronomeSDK::V1::CustomerArchiveBillingConfigurationsParams.dump_request(params)
|
|
268
|
+
@client.request(
|
|
269
|
+
method: :post,
|
|
270
|
+
path: "v1/archiveCustomerBillingProviderConfigurations",
|
|
271
|
+
body: parsed,
|
|
272
|
+
model: MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse,
|
|
273
|
+
options: options
|
|
274
|
+
)
|
|
275
|
+
end
|
|
276
|
+
|
|
224
277
|
# Some parameter documentations has been truncated, see
|
|
225
278
|
# {MetronomeSDK::Models::V1::CustomerListBillableMetricsParams} for more details.
|
|
226
279
|
#
|
|
@@ -199,6 +199,27 @@ module MetronomeSDK
|
|
|
199
199
|
# - Build detailed usage dashboards with dimensional filtering
|
|
200
200
|
# - Identify high-usage segments for optimization opportunities
|
|
201
201
|
#
|
|
202
|
+
# ### Request parameters
|
|
203
|
+
#
|
|
204
|
+
# Use [`group_key`](#body-group-key) and [`group_filters`](#body-group-filters) to
|
|
205
|
+
# group by one or more dimensions. This is required for compound group keys and
|
|
206
|
+
# recommended for all new integrations:
|
|
207
|
+
#
|
|
208
|
+
# ```json
|
|
209
|
+
# {
|
|
210
|
+
# "group_key": ["region", "team"],
|
|
211
|
+
# "group_filters": {
|
|
212
|
+
# "region": ["US-East", "US-West"]
|
|
213
|
+
# }
|
|
214
|
+
# }
|
|
215
|
+
# ```
|
|
216
|
+
#
|
|
217
|
+
# Important: For compound group keys, you must pass the complete set of keys that
|
|
218
|
+
# make up the compound key. Partial key combinations are not supported. For
|
|
219
|
+
# example, if your billable metric has a compound group key [region, team,
|
|
220
|
+
# environment], you must pass all three keys in group_key—you cannot pass just
|
|
221
|
+
# `[region]` or `[region, team]`.
|
|
222
|
+
#
|
|
202
223
|
# ### Key response fields:
|
|
203
224
|
#
|
|
204
225
|
# An array of `PagedUsageAggregate` objects containing:
|
data/lib/metronome_sdk.rb
CHANGED
|
@@ -185,6 +185,8 @@ require_relative "metronome_sdk/models/v1/credit_grant_void_params"
|
|
|
185
185
|
require_relative "metronome_sdk/models/v1/credit_grant_void_response"
|
|
186
186
|
require_relative "metronome_sdk/models/v1/credit_ledger_entry"
|
|
187
187
|
require_relative "metronome_sdk/models/v1/customer"
|
|
188
|
+
require_relative "metronome_sdk/models/v1/customer_archive_billing_configurations_params"
|
|
189
|
+
require_relative "metronome_sdk/models/v1/customer_archive_billing_configurations_response"
|
|
188
190
|
require_relative "metronome_sdk/models/v1/customer_archive_params"
|
|
189
191
|
require_relative "metronome_sdk/models/v1/customer_archive_response"
|
|
190
192
|
require_relative "metronome_sdk/models/v1/customer_create_params"
|
|
@@ -13,6 +13,9 @@ module MetronomeSDK
|
|
|
13
13
|
sig { returns(String) }
|
|
14
14
|
attr_reader :bearer_token
|
|
15
15
|
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_reader :webhook_secret
|
|
18
|
+
|
|
16
19
|
sig { returns(MetronomeSDK::Resources::V2) }
|
|
17
20
|
attr_reader :v2
|
|
18
21
|
|
|
@@ -28,6 +31,7 @@ module MetronomeSDK
|
|
|
28
31
|
sig do
|
|
29
32
|
params(
|
|
30
33
|
bearer_token: T.nilable(String),
|
|
34
|
+
webhook_secret: T.nilable(String),
|
|
31
35
|
base_url: T.nilable(String),
|
|
32
36
|
max_retries: Integer,
|
|
33
37
|
timeout: Float,
|
|
@@ -38,6 +42,8 @@ module MetronomeSDK
|
|
|
38
42
|
def self.new(
|
|
39
43
|
# Defaults to `ENV["METRONOME_BEARER_TOKEN"]`
|
|
40
44
|
bearer_token: ENV["METRONOME_BEARER_TOKEN"],
|
|
45
|
+
# Defaults to `ENV["METRONOME_WEBHOOK_SECRET"]`
|
|
46
|
+
webhook_secret: ENV["METRONOME_WEBHOOK_SECRET"],
|
|
41
47
|
# Override the default base URL for the API, e.g.,
|
|
42
48
|
# `"https://api.example.com/v2/"`. Defaults to `ENV["METRONOME_BASE_URL"]`
|
|
43
49
|
base_url: ENV["METRONOME_BASE_URL"],
|
|
@@ -11,17 +11,6 @@ module MetronomeSDK
|
|
|
11
11
|
sig { returns(MetronomeSDK::CommitRate::RateType::OrSymbol) }
|
|
12
12
|
attr_accessor :rate_type
|
|
13
13
|
|
|
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
14
|
# Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
|
|
26
15
|
# rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
|
|
27
16
|
# and <=1.
|
|
@@ -43,15 +32,12 @@ module MetronomeSDK
|
|
|
43
32
|
sig do
|
|
44
33
|
params(
|
|
45
34
|
rate_type: MetronomeSDK::CommitRate::RateType::OrSymbol,
|
|
46
|
-
minimum_config: MetronomeSDK::CommitRate::MinimumConfig::OrHash,
|
|
47
35
|
price: Float,
|
|
48
36
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
49
37
|
).returns(T.attached_class)
|
|
50
38
|
end
|
|
51
39
|
def self.new(
|
|
52
40
|
rate_type:,
|
|
53
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
54
|
-
minimum_config: nil,
|
|
55
41
|
# Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
|
|
56
42
|
# rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
|
|
57
43
|
# and <=1.
|
|
@@ -65,7 +51,6 @@ module MetronomeSDK
|
|
|
65
51
|
override.returns(
|
|
66
52
|
{
|
|
67
53
|
rate_type: MetronomeSDK::CommitRate::RateType::OrSymbol,
|
|
68
|
-
minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
|
|
69
54
|
price: Float,
|
|
70
55
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
71
56
|
}
|
|
@@ -104,28 +89,6 @@ module MetronomeSDK
|
|
|
104
89
|
def self.values
|
|
105
90
|
end
|
|
106
91
|
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
|
|
129
92
|
end
|
|
130
93
|
end
|
|
131
94
|
end
|
|
@@ -2724,24 +2724,6 @@ 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
|
-
|
|
2745
2727
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2746
2728
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2747
2729
|
sig { returns(T.nilable(Float)) }
|
|
@@ -2771,8 +2753,6 @@ module MetronomeSDK
|
|
|
2771
2753
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
2772
2754
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
2773
2755
|
is_prorated: T::Boolean,
|
|
2774
|
-
minimum_config:
|
|
2775
|
-
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig::OrHash,
|
|
2776
2756
|
price: Float,
|
|
2777
2757
|
quantity: Float,
|
|
2778
2758
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
@@ -2787,8 +2767,6 @@ module MetronomeSDK
|
|
|
2787
2767
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
2788
2768
|
# set to true.
|
|
2789
2769
|
is_prorated: nil,
|
|
2790
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2791
|
-
minimum_config: nil,
|
|
2792
2770
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2793
2771
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2794
2772
|
price: nil,
|
|
@@ -2807,8 +2785,6 @@ module MetronomeSDK
|
|
|
2807
2785
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
2808
2786
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
2809
2787
|
is_prorated: T::Boolean,
|
|
2810
|
-
minimum_config:
|
|
2811
|
-
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
|
|
2812
2788
|
price: Float,
|
|
2813
2789
|
quantity: Float,
|
|
2814
2790
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
@@ -2871,28 +2847,6 @@ module MetronomeSDK
|
|
|
2871
2847
|
def self.values
|
|
2872
2848
|
end
|
|
2873
2849
|
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
|
|
2896
2850
|
end
|
|
2897
2851
|
|
|
2898
2852
|
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -33,17 +33,6 @@ 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
|
-
|
|
47
36
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
48
37
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
49
38
|
sig { returns(T.nilable(Float)) }
|
|
@@ -72,7 +61,6 @@ module MetronomeSDK
|
|
|
72
61
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
73
62
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
74
63
|
is_prorated: T::Boolean,
|
|
75
|
-
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig::OrHash,
|
|
76
64
|
price: Float,
|
|
77
65
|
quantity: Float,
|
|
78
66
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
@@ -87,8 +75,6 @@ module MetronomeSDK
|
|
|
87
75
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
88
76
|
# set to true.
|
|
89
77
|
is_prorated: nil,
|
|
90
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
91
|
-
minimum_config: nil,
|
|
92
78
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
93
79
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
94
80
|
price: nil,
|
|
@@ -106,7 +92,6 @@ module MetronomeSDK
|
|
|
106
92
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
107
93
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
108
94
|
is_prorated: T::Boolean,
|
|
109
|
-
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
|
|
110
95
|
price: Float,
|
|
111
96
|
quantity: Float,
|
|
112
97
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
@@ -152,28 +137,6 @@ module MetronomeSDK
|
|
|
152
137
|
def self.values
|
|
153
138
|
end
|
|
154
139
|
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
|
|
177
140
|
end
|
|
178
141
|
end
|
|
179
142
|
end
|
|
@@ -33,15 +33,6 @@ 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
|
-
|
|
45
36
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
46
37
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
47
38
|
sig { returns(T.nilable(Float)) }
|
|
@@ -78,7 +69,6 @@ module MetronomeSDK
|
|
|
78
69
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
79
70
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
80
71
|
is_prorated: T::Boolean,
|
|
81
|
-
minimum_config: MetronomeSDK::Rate::MinimumConfig::OrHash,
|
|
82
72
|
price: Float,
|
|
83
73
|
pricing_group_values: T::Hash[Symbol, String],
|
|
84
74
|
quantity: Float,
|
|
@@ -94,8 +84,6 @@ module MetronomeSDK
|
|
|
94
84
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
95
85
|
# set to true.
|
|
96
86
|
is_prorated: nil,
|
|
97
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
98
|
-
minimum_config: nil,
|
|
99
87
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
100
88
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
101
89
|
price: nil,
|
|
@@ -116,7 +104,6 @@ module MetronomeSDK
|
|
|
116
104
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
117
105
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
118
106
|
is_prorated: T::Boolean,
|
|
119
|
-
minimum_config: MetronomeSDK::Rate::MinimumConfig,
|
|
120
107
|
price: Float,
|
|
121
108
|
pricing_group_values: T::Hash[Symbol, String],
|
|
122
109
|
quantity: Float,
|
|
@@ -150,28 +137,6 @@ module MetronomeSDK
|
|
|
150
137
|
def self.values
|
|
151
138
|
end
|
|
152
139
|
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
|
|
175
140
|
end
|
|
176
141
|
end
|
|
177
142
|
end
|