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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +7 -0
  5. data/lib/metronome_sdk/models/commit_rate.rb +1 -22
  6. data/lib/metronome_sdk/models/contract_v2.rb +1 -22
  7. data/lib/metronome_sdk/models/overwrite_rate.rb +1 -22
  8. data/lib/metronome_sdk/models/rate.rb +1 -22
  9. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +10 -24
  10. data/lib/metronome_sdk/models/v1/contract_create_params.rb +10 -24
  11. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -23
  12. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -21
  13. data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rb +32 -0
  14. data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rb +38 -0
  15. data/lib/metronome_sdk/models/v1/package_create_params.rb +1 -23
  16. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +18 -25
  17. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1 -23
  18. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
  19. data/lib/metronome_sdk/resources/v1/customers.rb +53 -0
  20. data/lib/metronome_sdk/resources/v1/usage.rb +21 -0
  21. data/lib/metronome_sdk/version.rb +1 -1
  22. data/lib/metronome_sdk.rb +2 -0
  23. data/rbi/metronome_sdk/client.rbi +6 -0
  24. data/rbi/metronome_sdk/models/commit_rate.rbi +0 -37
  25. data/rbi/metronome_sdk/models/contract_v2.rbi +0 -46
  26. data/rbi/metronome_sdk/models/overwrite_rate.rbi +0 -37
  27. data/rbi/metronome_sdk/models/rate.rbi +0 -35
  28. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +11 -46
  29. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +11 -46
  30. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +0 -46
  31. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -46
  32. data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbi +56 -0
  33. data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbi +95 -0
  34. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +0 -46
  35. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +20 -49
  36. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +0 -46
  37. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -4
  38. data/rbi/metronome_sdk/resources/v1/customers.rbi +48 -0
  39. data/rbi/metronome_sdk/resources/v1/usage.rbi +21 -0
  40. data/sig/metronome_sdk/client.rbs +3 -0
  41. data/sig/metronome_sdk/models/commit_rate.rbs +0 -19
  42. data/sig/metronome_sdk/models/contract_v2.rbs +0 -19
  43. data/sig/metronome_sdk/models/overwrite_rate.rbs +0 -19
  44. data/sig/metronome_sdk/models/rate.rbs +0 -19
  45. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -19
  46. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +7 -19
  47. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +0 -19
  48. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +0 -19
  49. data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbs +33 -0
  50. data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbs +44 -0
  51. data/sig/metronome_sdk/models/v1/package_create_params.rbs +0 -19
  52. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +15 -22
  53. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +0 -19
  54. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
  55. data/sig/metronome_sdk/resources/v1/customers.rbs +6 -0
  56. metadata +8 -2
@@ -2517,6 +2517,13 @@ module MetronomeSDK
2517
2517
  end
2518
2518
  attr_writer :rate_type
2519
2519
 
2520
+ # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
2521
+ sig { returns(T.nilable(Float)) }
2522
+ attr_reader :rollover_fraction
2523
+
2524
+ sig { params(rollover_fraction: Float).void }
2525
+ attr_writer :rollover_fraction
2526
+
2520
2527
  # List of filters that determine what kind of customer usage draws down a commit
2521
2528
  # or credit. A customer's usage needs to meet the condition of at least one of the
2522
2529
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
@@ -2551,6 +2558,7 @@ module MetronomeSDK
2551
2558
  priority: Float,
2552
2559
  rate_type:
2553
2560
  MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol,
2561
+ rollover_fraction: Float,
2554
2562
  specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
2555
2563
  ).returns(T.attached_class)
2556
2564
  end
@@ -2578,6 +2586,8 @@ module MetronomeSDK
2578
2586
  # first.
2579
2587
  priority: nil,
2580
2588
  rate_type: nil,
2589
+ # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
2590
+ rollover_fraction: nil,
2581
2591
  # List of filters that determine what kind of customer usage draws down a commit
2582
2592
  # or credit. A customer's usage needs to meet the condition of at least one of the
2583
2593
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
@@ -2605,6 +2615,7 @@ module MetronomeSDK
2605
2615
  priority: Float,
2606
2616
  rate_type:
2607
2617
  MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol,
2618
+ rollover_fraction: Float,
2608
2619
  specifiers: T::Array[MetronomeSDK::CommitSpecifierInput]
2609
2620
  }
2610
2621
  )
@@ -3720,24 +3731,6 @@ module MetronomeSDK
3720
3731
  sig { params(is_prorated: T::Boolean).void }
3721
3732
  attr_writer :is_prorated
3722
3733
 
3723
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
3724
- sig do
3725
- returns(
3726
- T.nilable(
3727
- MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig
3728
- )
3729
- )
3730
- end
3731
- attr_reader :minimum_config
3732
-
3733
- sig do
3734
- params(
3735
- minimum_config:
3736
- MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig::OrHash
3737
- ).void
3738
- end
3739
- attr_writer :minimum_config
3740
-
3741
3734
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
3742
3735
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
3743
3736
  sig { returns(T.nilable(Float)) }
@@ -3768,8 +3761,6 @@ module MetronomeSDK
3768
3761
  credit_type_id: String,
3769
3762
  custom_rate: T::Hash[Symbol, T.anything],
3770
3763
  is_prorated: T::Boolean,
3771
- minimum_config:
3772
- MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig::OrHash,
3773
3764
  price: Float,
3774
3765
  quantity: Float,
3775
3766
  tiers: T::Array[MetronomeSDK::Tier::OrHash]
@@ -3784,8 +3775,6 @@ module MetronomeSDK
3784
3775
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
3785
3776
  # set to true.
3786
3777
  is_prorated: nil,
3787
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
3788
- minimum_config: nil,
3789
3778
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
3790
3779
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
3791
3780
  price: nil,
@@ -3804,8 +3793,6 @@ module MetronomeSDK
3804
3793
  credit_type_id: String,
3805
3794
  custom_rate: T::Hash[Symbol, T.anything],
3806
3795
  is_prorated: T::Boolean,
3807
- minimum_config:
3808
- MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig,
3809
3796
  price: Float,
3810
3797
  quantity: Float,
3811
3798
  tiers: T::Array[MetronomeSDK::Tier]
@@ -3868,28 +3855,6 @@ module MetronomeSDK
3868
3855
  def self.values
3869
3856
  end
3870
3857
  end
3871
-
3872
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
3873
- OrHash =
3874
- T.type_alias do
3875
- T.any(
3876
- MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig,
3877
- MetronomeSDK::Internal::AnyHash
3878
- )
3879
- end
3880
-
3881
- sig { returns(Float) }
3882
- attr_accessor :minimum
3883
-
3884
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
3885
- sig { params(minimum: Float).returns(T.attached_class) }
3886
- def self.new(minimum:)
3887
- end
3888
-
3889
- sig { override.returns({ minimum: Float }) }
3890
- def to_hash
3891
- end
3892
- end
3893
3858
  end
3894
3859
 
3895
3860
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -8190,6 +8155,9 @@ module MetronomeSDK
8190
8155
  end
8191
8156
  attr_writer :rate_type
8192
8157
 
8158
+ sig { returns(T.nilable(Float)) }
8159
+ attr_accessor :rollover_fraction
8160
+
8193
8161
  sig do
8194
8162
  params(
8195
8163
  credit_id: String,
@@ -8205,7 +8173,8 @@ module MetronomeSDK
8205
8173
  priority: T.nilable(Float),
8206
8174
  product_id: String,
8207
8175
  rate_type:
8208
- MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol
8176
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol,
8177
+ rollover_fraction: T.nilable(Float)
8209
8178
  ).returns(T.attached_class)
8210
8179
  end
8211
8180
  def self.new(
@@ -8229,7 +8198,8 @@ module MetronomeSDK
8229
8198
  # If provided, updates the credit to use the specified rate type for current and
8230
8199
  # future invoices. Previously finalized invoices will need to be voided and
8231
8200
  # regenerated to reflect the rate type change.
8232
- rate_type: nil
8201
+ rate_type: nil,
8202
+ rollover_fraction: nil
8233
8203
  )
8234
8204
  end
8235
8205
 
@@ -8249,7 +8219,8 @@ module MetronomeSDK
8249
8219
  priority: T.nilable(Float),
8250
8220
  product_id: String,
8251
8221
  rate_type:
8252
- MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol
8222
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol,
8223
+ rollover_fraction: T.nilable(Float)
8253
8224
  }
8254
8225
  )
8255
8226
  end
@@ -2017,24 +2017,6 @@ module MetronomeSDK
2017
2017
  sig { params(is_prorated: T::Boolean).void }
2018
2018
  attr_writer :is_prorated
2019
2019
 
2020
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
2021
- sig do
2022
- returns(
2023
- T.nilable(
2024
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig
2025
- )
2026
- )
2027
- end
2028
- attr_reader :minimum_config
2029
-
2030
- sig do
2031
- params(
2032
- minimum_config:
2033
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig::OrHash
2034
- ).void
2035
- end
2036
- attr_writer :minimum_config
2037
-
2038
2020
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
2039
2021
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
2040
2022
  sig { returns(T.nilable(Float)) }
@@ -2064,8 +2046,6 @@ module MetronomeSDK
2064
2046
  credit_type: MetronomeSDK::CreditTypeData::OrHash,
2065
2047
  custom_rate: T::Hash[Symbol, T.anything],
2066
2048
  is_prorated: T::Boolean,
2067
- minimum_config:
2068
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig::OrHash,
2069
2049
  price: Float,
2070
2050
  quantity: Float,
2071
2051
  tiers: T::Array[MetronomeSDK::Tier::OrHash]
@@ -2080,8 +2060,6 @@ module MetronomeSDK
2080
2060
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
2081
2061
  # set to true.
2082
2062
  is_prorated: nil,
2083
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
2084
- minimum_config: nil,
2085
2063
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
2086
2064
  # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
2087
2065
  price: nil,
@@ -2100,8 +2078,6 @@ module MetronomeSDK
2100
2078
  credit_type: MetronomeSDK::CreditTypeData,
2101
2079
  custom_rate: T::Hash[Symbol, T.anything],
2102
2080
  is_prorated: T::Boolean,
2103
- minimum_config:
2104
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig,
2105
2081
  price: Float,
2106
2082
  quantity: Float,
2107
2083
  tiers: T::Array[MetronomeSDK::Tier]
@@ -2164,28 +2140,6 @@ module MetronomeSDK
2164
2140
  def self.values
2165
2141
  end
2166
2142
  end
2167
-
2168
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
2169
- OrHash =
2170
- T.type_alias do
2171
- T.any(
2172
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig,
2173
- MetronomeSDK::Internal::AnyHash
2174
- )
2175
- end
2176
-
2177
- sig { returns(Float) }
2178
- attr_accessor :minimum
2179
-
2180
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
2181
- sig { params(minimum: Float).returns(T.attached_class) }
2182
- def self.new(minimum:)
2183
- end
2184
-
2185
- sig { override.returns({ minimum: Float }) }
2186
- def to_hash
2187
- end
2188
- end
2189
2143
  end
2190
2144
 
2191
2145
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -66,8 +66,6 @@ module MetronomeSDK
66
66
  custom_rate: T::Hash[Symbol, T.anything],
67
67
  ending_before: Time,
68
68
  is_prorated: T::Boolean,
69
- minimum_config:
70
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig::OrHash,
71
69
  price: Float,
72
70
  pricing_group_values: T::Hash[Symbol, String],
73
71
  quantity: Float,
@@ -104,8 +102,6 @@ module MetronomeSDK
104
102
  # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
105
103
  # set to true.
106
104
  is_prorated: nil,
107
- # Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
108
- minimum_config: nil,
109
105
  # Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
110
106
  # PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
111
107
  # must be >=0 and <=1.
@@ -192,6 +192,54 @@ module MetronomeSDK
192
192
  def archive(id:, request_options: {})
193
193
  end
194
194
 
195
+ # Deprecate an existing billing configuration for a customer to handle churn or
196
+ # billing and collection preference changes. Archiving a billing configuration
197
+ # takes effect immediately. If there are active contracts using the configuration,
198
+ # Metronome will archive the configuration on the contract and immediately stop
199
+ # metering to downstream systems.
200
+ #
201
+ # ### Use this endpoint to:
202
+ #
203
+ # - Remove billing provider customer data and configurations when no longer needed
204
+ # - Clean up test or deprecated billing provider configurations
205
+ # - Free up uniqueness keys for reuse with new billing provider configurations
206
+ # - Disable threshold recharge configurations associated with archived billing
207
+ # providers
208
+ #
209
+ # ### Key response fields:
210
+ #
211
+ # A successful response returns:
212
+ #
213
+ # - `success`: Boolean indicating the operation completed successfully
214
+ # - `error`: Null on success, error message on failure
215
+ #
216
+ # ### Usage guidelines:
217
+ #
218
+ # - Archiving a contract configuration during a grace period will result in the
219
+ # invoice not being sent to the customer
220
+ # - Automatically disables both spend-based and credit-based threshold recharge
221
+ # configurations for contracts using the archived billing provider
222
+ # - You can archive multiple configurations for a single customer in a single
223
+ # request, but any validation failures for an individual configuration will
224
+ # prevent the entire operation from succeeding
225
+ sig do
226
+ params(
227
+ customer_billing_provider_configuration_ids: T::Array[String],
228
+ customer_id: String,
229
+ request_options: MetronomeSDK::RequestOptions::OrHash
230
+ ).returns(
231
+ MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse
232
+ )
233
+ end
234
+ def archive_billing_configurations(
235
+ # Array of billing provider configuration IDs to archive
236
+ customer_billing_provider_configuration_ids:,
237
+ # The customer ID the billing provider configurations belong to
238
+ customer_id:,
239
+ request_options: {}
240
+ )
241
+ end
242
+
195
243
  # Get all billable metrics available for a specific customer. Supports pagination
196
244
  # and filtering by current plan status or archived metrics. Use this endpoint to
197
245
  # see which metrics are being tracked for billing calculations for a given
@@ -188,6 +188,27 @@ module MetronomeSDK
188
188
  # - Build detailed usage dashboards with dimensional filtering
189
189
  # - Identify high-usage segments for optimization opportunities
190
190
  #
191
+ # ### Request parameters
192
+ #
193
+ # Use [`group_key`](#body-group-key) and [`group_filters`](#body-group-filters) to
194
+ # group by one or more dimensions. This is required for compound group keys and
195
+ # recommended for all new integrations:
196
+ #
197
+ # ```json
198
+ # {
199
+ # "group_key": ["region", "team"],
200
+ # "group_filters": {
201
+ # "region": ["US-East", "US-West"]
202
+ # }
203
+ # }
204
+ # ```
205
+ #
206
+ # Important: For compound group keys, you must pass the complete set of keys that
207
+ # make up the compound key. Partial key combinations are not supported. For
208
+ # example, if your billable metric has a compound group key [region, team,
209
+ # environment], you must pass all three keys in group_key—you cannot pass just
210
+ # `[region]` or `[region, team]`.
211
+ #
191
212
  # ### Key response fields:
192
213
  #
193
214
  # An array of `PagedUsageAggregate` objects containing:
@@ -10,6 +10,8 @@ module MetronomeSDK
10
10
 
11
11
  attr_reader bearer_token: String
12
12
 
13
+ attr_reader webhook_secret: String?
14
+
13
15
  attr_reader v2: MetronomeSDK::Resources::V2
14
16
 
15
17
  attr_reader v1: MetronomeSDK::Resources::V1
@@ -18,6 +20,7 @@ module MetronomeSDK
18
20
 
19
21
  def initialize: (
20
22
  ?bearer_token: String?,
23
+ ?webhook_secret: String?,
21
24
  ?base_url: String?,
22
25
  ?max_retries: Integer,
23
26
  ?timeout: Float,
@@ -3,7 +3,6 @@ module MetronomeSDK
3
3
  type commit_rate =
4
4
  {
5
5
  rate_type: MetronomeSDK::Models::CommitRate::rate_type,
6
- minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
7
6
  price: Float,
8
7
  tiers: ::Array[MetronomeSDK::Tier]
9
8
  }
@@ -11,12 +10,6 @@ module MetronomeSDK
11
10
  class CommitRate < MetronomeSDK::Internal::Type::BaseModel
12
11
  attr_accessor rate_type: MetronomeSDK::Models::CommitRate::rate_type
13
12
 
14
- attr_reader minimum_config: MetronomeSDK::CommitRate::MinimumConfig?
15
-
16
- def minimum_config=: (
17
- MetronomeSDK::CommitRate::MinimumConfig
18
- ) -> MetronomeSDK::CommitRate::MinimumConfig
19
-
20
13
  attr_reader price: Float?
21
14
 
22
15
  def price=: (Float) -> Float
@@ -27,14 +20,12 @@ module MetronomeSDK
27
20
 
28
21
  def initialize: (
29
22
  rate_type: MetronomeSDK::Models::CommitRate::rate_type,
30
- ?minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
31
23
  ?price: Float,
32
24
  ?tiers: ::Array[MetronomeSDK::Tier]
33
25
  ) -> void
34
26
 
35
27
  def to_hash: -> {
36
28
  rate_type: MetronomeSDK::Models::CommitRate::rate_type,
37
- minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
38
29
  price: Float,
39
30
  tiers: ::Array[MetronomeSDK::Tier]
40
31
  }
@@ -59,16 +50,6 @@ module MetronomeSDK
59
50
 
60
51
  def self?.values: -> ::Array[MetronomeSDK::Models::CommitRate::rate_type]
61
52
  end
62
-
63
- type minimum_config = { minimum: Float }
64
-
65
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
66
- attr_accessor minimum: Float
67
-
68
- def initialize: (minimum: Float) -> void
69
-
70
- def to_hash: -> { minimum: Float }
71
- end
72
53
  end
73
54
  end
74
55
  end
@@ -1423,7 +1423,6 @@ module MetronomeSDK
1423
1423
  credit_type: MetronomeSDK::CreditTypeData,
1424
1424
  custom_rate: ::Hash[Symbol, top],
1425
1425
  is_prorated: bool,
1426
- minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
1427
1426
  price: Float,
1428
1427
  quantity: Float,
1429
1428
  tiers: ::Array[MetronomeSDK::Tier]
@@ -1446,12 +1445,6 @@ module MetronomeSDK
1446
1445
 
1447
1446
  def is_prorated=: (bool) -> bool
1448
1447
 
1449
- attr_reader minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig?
1450
-
1451
- def minimum_config=: (
1452
- MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig
1453
- ) -> MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig
1454
-
1455
1448
  attr_reader price: Float?
1456
1449
 
1457
1450
  def price=: (Float) -> Float
@@ -1471,7 +1464,6 @@ module MetronomeSDK
1471
1464
  ?credit_type: MetronomeSDK::CreditTypeData,
1472
1465
  ?custom_rate: ::Hash[Symbol, top],
1473
1466
  ?is_prorated: bool,
1474
- ?minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
1475
1467
  ?price: Float,
1476
1468
  ?quantity: Float,
1477
1469
  ?tiers: ::Array[MetronomeSDK::Tier]
@@ -1482,7 +1474,6 @@ module MetronomeSDK
1482
1474
  credit_type: MetronomeSDK::CreditTypeData,
1483
1475
  custom_rate: ::Hash[Symbol, top],
1484
1476
  is_prorated: bool,
1485
- minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
1486
1477
  price: Float,
1487
1478
  quantity: Float,
1488
1479
  tiers: ::Array[MetronomeSDK::Tier]
@@ -1508,16 +1499,6 @@ module MetronomeSDK
1508
1499
 
1509
1500
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Override::OverwriteRate::rate_type]
1510
1501
  end
1511
-
1512
- type minimum_config = { minimum: Float }
1513
-
1514
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1515
- attr_accessor minimum: Float
1516
-
1517
- def initialize: (minimum: Float) -> void
1518
-
1519
- def to_hash: -> { minimum: Float }
1520
- end
1521
1502
  end
1522
1503
 
1523
1504
  type product = { id: String, name: String }
@@ -6,7 +6,6 @@ module MetronomeSDK
6
6
  credit_type: MetronomeSDK::CreditTypeData,
7
7
  custom_rate: ::Hash[Symbol, top],
8
8
  is_prorated: bool,
9
- minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
10
9
  price: Float,
11
10
  quantity: Float,
12
11
  tiers: ::Array[MetronomeSDK::Tier]
@@ -29,12 +28,6 @@ module MetronomeSDK
29
28
 
30
29
  def is_prorated=: (bool) -> bool
31
30
 
32
- attr_reader minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig?
33
-
34
- def minimum_config=: (
35
- MetronomeSDK::OverwriteRate::MinimumConfig
36
- ) -> MetronomeSDK::OverwriteRate::MinimumConfig
37
-
38
31
  attr_reader price: Float?
39
32
 
40
33
  def price=: (Float) -> Float
@@ -52,7 +45,6 @@ module MetronomeSDK
52
45
  ?credit_type: MetronomeSDK::CreditTypeData,
53
46
  ?custom_rate: ::Hash[Symbol, top],
54
47
  ?is_prorated: bool,
55
- ?minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
56
48
  ?price: Float,
57
49
  ?quantity: Float,
58
50
  ?tiers: ::Array[MetronomeSDK::Tier]
@@ -63,7 +55,6 @@ module MetronomeSDK
63
55
  credit_type: MetronomeSDK::CreditTypeData,
64
56
  custom_rate: ::Hash[Symbol, top],
65
57
  is_prorated: bool,
66
- minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
67
58
  price: Float,
68
59
  quantity: Float,
69
60
  tiers: ::Array[MetronomeSDK::Tier]
@@ -89,16 +80,6 @@ module MetronomeSDK
89
80
 
90
81
  def self?.values: -> ::Array[MetronomeSDK::Models::OverwriteRate::rate_type]
91
82
  end
92
-
93
- type minimum_config = { minimum: Float }
94
-
95
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
96
- attr_accessor minimum: Float
97
-
98
- def initialize: (minimum: Float) -> void
99
-
100
- def to_hash: -> { minimum: Float }
101
- end
102
83
  end
103
84
  end
104
85
  end
@@ -6,7 +6,6 @@ module MetronomeSDK
6
6
  credit_type: MetronomeSDK::CreditTypeData,
7
7
  custom_rate: ::Hash[Symbol, top],
8
8
  is_prorated: bool,
9
- minimum_config: MetronomeSDK::Rate::MinimumConfig,
10
9
  price: Float,
11
10
  pricing_group_values: ::Hash[Symbol, String],
12
11
  quantity: Float,
@@ -30,12 +29,6 @@ module MetronomeSDK
30
29
 
31
30
  def is_prorated=: (bool) -> bool
32
31
 
33
- attr_reader minimum_config: MetronomeSDK::Rate::MinimumConfig?
34
-
35
- def minimum_config=: (
36
- MetronomeSDK::Rate::MinimumConfig
37
- ) -> MetronomeSDK::Rate::MinimumConfig
38
-
39
32
  attr_reader price: Float?
40
33
 
41
34
  def price=: (Float) -> Float
@@ -59,7 +52,6 @@ module MetronomeSDK
59
52
  ?credit_type: MetronomeSDK::CreditTypeData,
60
53
  ?custom_rate: ::Hash[Symbol, top],
61
54
  ?is_prorated: bool,
62
- ?minimum_config: MetronomeSDK::Rate::MinimumConfig,
63
55
  ?price: Float,
64
56
  ?pricing_group_values: ::Hash[Symbol, String],
65
57
  ?quantity: Float,
@@ -71,7 +63,6 @@ module MetronomeSDK
71
63
  credit_type: MetronomeSDK::CreditTypeData,
72
64
  custom_rate: ::Hash[Symbol, top],
73
65
  is_prorated: bool,
74
- minimum_config: MetronomeSDK::Rate::MinimumConfig,
75
66
  price: Float,
76
67
  pricing_group_values: ::Hash[Symbol, String],
77
68
  quantity: Float,
@@ -98,16 +89,6 @@ module MetronomeSDK
98
89
 
99
90
  def self?.values: -> ::Array[MetronomeSDK::Models::Rate::rate_type]
100
91
  end
101
-
102
- type minimum_config = { minimum: Float }
103
-
104
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
105
- attr_accessor minimum: Float
106
-
107
- def initialize: (minimum: Float) -> void
108
-
109
- def to_hash: -> { minimum: Float }
110
- end
111
92
  end
112
93
  end
113
94
  end
@@ -640,6 +640,7 @@ module MetronomeSDK
640
640
  netsuite_sales_order_id: String,
641
641
  priority: Float,
642
642
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type,
643
+ rollover_fraction: Float,
643
644
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
644
645
  }
645
646
 
@@ -688,6 +689,10 @@ module MetronomeSDK
688
689
  MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type
689
690
  ) -> MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type
690
691
 
692
+ attr_reader rollover_fraction: Float?
693
+
694
+ def rollover_fraction=: (Float) -> Float
695
+
691
696
  attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
692
697
 
693
698
  def specifiers=: (
@@ -706,6 +711,7 @@ module MetronomeSDK
706
711
  ?netsuite_sales_order_id: String,
707
712
  ?priority: Float,
708
713
  ?rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type,
714
+ ?rollover_fraction: Float,
709
715
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
710
716
  ) -> void
711
717
 
@@ -721,6 +727,7 @@ module MetronomeSDK
721
727
  netsuite_sales_order_id: String,
722
728
  priority: Float,
723
729
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type,
730
+ rollover_fraction: Float,
724
731
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
725
732
  }
726
733
 
@@ -1189,7 +1196,6 @@ module MetronomeSDK
1189
1196
  credit_type_id: String,
1190
1197
  custom_rate: ::Hash[Symbol, top],
1191
1198
  is_prorated: bool,
1192
- minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
1193
1199
  price: Float,
1194
1200
  quantity: Float,
1195
1201
  tiers: ::Array[MetronomeSDK::Tier]
@@ -1210,12 +1216,6 @@ module MetronomeSDK
1210
1216
 
1211
1217
  def is_prorated=: (bool) -> bool
1212
1218
 
1213
- attr_reader minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig?
1214
-
1215
- def minimum_config=: (
1216
- MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig
1217
- ) -> MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig
1218
-
1219
1219
  attr_reader price: Float?
1220
1220
 
1221
1221
  def price=: (Float) -> Float
@@ -1235,7 +1235,6 @@ module MetronomeSDK
1235
1235
  ?credit_type_id: String,
1236
1236
  ?custom_rate: ::Hash[Symbol, top],
1237
1237
  ?is_prorated: bool,
1238
- ?minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
1239
1238
  ?price: Float,
1240
1239
  ?quantity: Float,
1241
1240
  ?tiers: ::Array[MetronomeSDK::Tier]
@@ -1246,7 +1245,6 @@ module MetronomeSDK
1246
1245
  credit_type_id: String,
1247
1246
  custom_rate: ::Hash[Symbol, top],
1248
1247
  is_prorated: bool,
1249
- minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
1250
1248
  price: Float,
1251
1249
  quantity: Float,
1252
1250
  tiers: ::Array[MetronomeSDK::Tier]
@@ -1272,16 +1270,6 @@ module MetronomeSDK
1272
1270
 
1273
1271
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::rate_type]
1274
1272
  end
1275
-
1276
- type minimum_config = { minimum: Float }
1277
-
1278
- class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
1279
- attr_accessor minimum: Float
1280
-
1281
- def initialize: (minimum: Float) -> void
1282
-
1283
- def to_hash: -> { minimum: Float }
1284
- end
1285
1273
  end
1286
1274
 
1287
1275
  type target = :COMMIT_RATE | :LIST_RATE