metronome-sdk 3.6.0 → 3.7.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  5. data/lib/metronome_sdk/models/commit.rb +27 -1
  6. data/lib/metronome_sdk/models/contract.rb +140 -1
  7. data/lib/metronome_sdk/models/contract_v2.rb +168 -2
  8. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  9. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  11. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  12. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  13. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -1
  14. data/lib/metronome_sdk/models/v1/contract_create_params.rb +146 -2
  15. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  16. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -1
  17. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  18. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  19. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  20. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  21. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +145 -3
  22. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  23. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  24. data/lib/metronome_sdk/resources/v1.rb +0 -4
  25. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/lib/metronome_sdk.rb +0 -8
  28. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  29. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  30. data/rbi/metronome_sdk/models/contract_v2.rbi +409 -0
  31. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  32. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  33. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  34. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  35. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  36. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -0
  37. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +368 -0
  38. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  39. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -0
  40. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  41. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  42. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  43. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  44. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +359 -11
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +7 -0
  46. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  47. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  49. data/sig/metronome_sdk/models/commit.rbs +19 -0
  50. data/sig/metronome_sdk/models/contract.rbs +151 -0
  51. data/sig/metronome_sdk/models/contract_v2.rbs +170 -0
  52. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  53. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  54. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  55. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  56. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  57. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -0
  58. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -0
  59. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  60. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -0
  61. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  62. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  63. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  64. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  65. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +142 -9
  66. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  68. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  69. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  70. metadata +2 -26
  71. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  72. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  73. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  74. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  75. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  76. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  77. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  78. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  79. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  80. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  81. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  82. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  83. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  84. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  85. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  86. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  87. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  88. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  89. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  90. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  91. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  92. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  93. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  94. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -127,6 +127,12 @@ module MetronomeSDK
127
127
  # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
128
128
  optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
129
129
 
130
+ # @!attribute spend_trackers
131
+ #
132
+ # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker>, nil]
133
+ optional :spend_trackers,
134
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PackageCreateParams::SpendTracker] }
135
+
130
136
  # @!attribute subscriptions
131
137
  #
132
138
  # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>, nil]
@@ -146,7 +152,7 @@ module MetronomeSDK
146
152
  # @return [MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule, nil]
147
153
  optional :usage_statement_schedule, -> { MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule }
148
154
 
149
- # @!method initialize(name:, aliases: nil, billing_provider: nil, commits: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, net_payment_terms_days: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil, usage_statement_schedule: nil, request_options: {})
155
+ # @!method initialize(name:, aliases: nil, billing_provider: nil, commits: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, net_payment_terms_days: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, uniqueness_key: nil, usage_statement_schedule: nil, request_options: {})
150
156
  # Some parameter documentations has been truncated, see
151
157
  # {MetronomeSDK::Models::V1::PackageCreateParams} for more details.
152
158
  #
@@ -188,6 +194,8 @@ module MetronomeSDK
188
194
  #
189
195
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
190
196
  #
197
+ # @param spend_trackers [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker>]
198
+ #
191
199
  # @param subscriptions [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>]
192
200
  #
193
201
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -2241,6 +2249,112 @@ module MetronomeSDK
2241
2249
  # @return [Array<Symbol>]
2242
2250
  end
2243
2251
 
2252
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2253
+ # @!attribute alias_
2254
+ # Human-readable identifier, unique per contract.
2255
+ #
2256
+ # @return [String]
2257
+ required :alias_, String, api_name: :alias
2258
+
2259
+ # @!attribute applicable_spend_specifiers
2260
+ #
2261
+ # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier>]
2262
+ required :applicable_spend_specifiers,
2263
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier] }
2264
+
2265
+ # @!attribute credit_type_id
2266
+ #
2267
+ # @return [String]
2268
+ required :credit_type_id, String
2269
+
2270
+ # @!attribute reset_frequency
2271
+ #
2272
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ResetFrequency]
2273
+ required :reset_frequency,
2274
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::SpendTracker::ResetFrequency }
2275
+
2276
+ # @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:)
2277
+ # @param alias_ [String] Human-readable identifier, unique per contract.
2278
+ #
2279
+ # @param applicable_spend_specifiers [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier>]
2280
+ #
2281
+ # @param credit_type_id [String]
2282
+ #
2283
+ # @param reset_frequency [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ResetFrequency]
2284
+
2285
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2286
+ # @!attribute sources
2287
+ #
2288
+ # @return [Array<Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Source>]
2289
+ required :sources,
2290
+ -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Source] }
2291
+
2292
+ # @!attribute spend_type
2293
+ #
2294
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType]
2295
+ required :spend_type,
2296
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType }
2297
+
2298
+ # @!attribute discounted
2299
+ # Filter by whether the spend was discounted. Defaults to ANY if omitted.
2300
+ #
2301
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
2302
+ optional :discounted,
2303
+ enum: -> { MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted }
2304
+
2305
+ # @!method initialize(sources:, spend_type:, discounted: nil)
2306
+ # @param sources [Array<Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Source>]
2307
+ #
2308
+ # @param spend_type [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::SpendType]
2309
+ #
2310
+ # @param discounted [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::Discounted] Filter by whether the spend was discounted. Defaults to ANY if omitted.
2311
+
2312
+ module Source
2313
+ extend MetronomeSDK::Internal::Type::Enum
2314
+
2315
+ THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
2316
+ MANUAL = :MANUAL
2317
+
2318
+ # @!method self.values
2319
+ # @return [Array<Symbol>]
2320
+ end
2321
+
2322
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier#spend_type
2323
+ module SpendType
2324
+ extend MetronomeSDK::Internal::Type::Enum
2325
+
2326
+ COMMIT_PURCHASE = :COMMIT_PURCHASE
2327
+
2328
+ # @!method self.values
2329
+ # @return [Array<Symbol>]
2330
+ end
2331
+
2332
+ # Filter by whether the spend was discounted. Defaults to ANY if omitted.
2333
+ #
2334
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier#discounted
2335
+ module Discounted
2336
+ extend MetronomeSDK::Internal::Type::Enum
2337
+
2338
+ ANY = :ANY
2339
+ DISCOUNTED_ONLY = :DISCOUNTED_ONLY
2340
+ UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
2341
+
2342
+ # @!method self.values
2343
+ # @return [Array<Symbol>]
2344
+ end
2345
+ end
2346
+
2347
+ # @see MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker#reset_frequency
2348
+ module ResetFrequency
2349
+ extend MetronomeSDK::Internal::Type::Enum
2350
+
2351
+ BILLING_PERIOD = :BILLING_PERIOD
2352
+
2353
+ # @!method self.values
2354
+ # @return [Array<Symbol>]
2355
+ end
2356
+ end
2357
+
2244
2358
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
2245
2359
  # @!attribute collection_schedule
2246
2360
  #
@@ -141,6 +141,12 @@ module MetronomeSDK
141
141
  # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
142
142
  optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
143
143
 
144
+ # @!attribute spend_trackers
145
+ #
146
+ # @return [Array<MetronomeSDK::Models::V1::PackageListResponse::SpendTracker>, nil]
147
+ optional :spend_trackers,
148
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker] }
149
+
144
150
  # @!attribute subscriptions
145
151
  #
146
152
  # @return [Array<MetronomeSDK::Models::V1::PackageListResponse::Subscription>, nil]
@@ -155,7 +161,7 @@ module MetronomeSDK
155
161
  # @return [String, nil]
156
162
  optional :uniqueness_key, String
157
163
 
158
- # @!method initialize(id:, commits:, created_at:, created_by:, overrides:, scheduled_charges:, usage_statement_schedule:, aliases: nil, archived_at: nil, billing_provider: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, prepaid_balance_threshold_configuration: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
164
+ # @!method initialize(id:, commits:, created_at:, created_by:, overrides:, scheduled_charges:, usage_statement_schedule:, aliases: nil, archived_at: nil, billing_provider: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, prepaid_balance_threshold_configuration: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, uniqueness_key: nil)
159
165
  # Some parameter documentations has been truncated, see
160
166
  # {MetronomeSDK::Models::V1::PackageListResponse} for more details.
161
167
  #
@@ -205,6 +211,8 @@ module MetronomeSDK
205
211
  #
206
212
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
207
213
  #
214
+ # @param spend_trackers [Array<MetronomeSDK::Models::V1::PackageListResponse::SpendTracker>]
215
+ #
208
216
  # @param subscriptions [Array<MetronomeSDK::Models::V1::PackageListResponse::Subscription>]
209
217
  #
210
218
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -2157,6 +2165,107 @@ module MetronomeSDK
2157
2165
  # @return [Array<Symbol>]
2158
2166
  end
2159
2167
 
2168
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2169
+ # @!attribute alias_
2170
+ # Human-readable identifier, unique per contract.
2171
+ #
2172
+ # @return [String]
2173
+ required :alias_, String, api_name: :alias
2174
+
2175
+ # @!attribute applicable_spend_specifiers
2176
+ #
2177
+ # @return [Array<MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier>]
2178
+ required :applicable_spend_specifiers,
2179
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier] }
2180
+
2181
+ # @!attribute credit_type_id
2182
+ #
2183
+ # @return [String]
2184
+ required :credit_type_id, String
2185
+
2186
+ # @!attribute reset_frequency
2187
+ #
2188
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ResetFrequency]
2189
+ required :reset_frequency,
2190
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ResetFrequency }
2191
+
2192
+ # @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:)
2193
+ # @param alias_ [String] Human-readable identifier, unique per contract.
2194
+ #
2195
+ # @param applicable_spend_specifiers [Array<MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier>]
2196
+ #
2197
+ # @param credit_type_id [String]
2198
+ #
2199
+ # @param reset_frequency [Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ResetFrequency]
2200
+
2201
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2202
+ # @!attribute sources
2203
+ #
2204
+ # @return [Array<Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::Source>]
2205
+ required :sources,
2206
+ -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::Source] }
2207
+
2208
+ # @!attribute spend_type
2209
+ #
2210
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::SpendType]
2211
+ required :spend_type,
2212
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::SpendType }
2213
+
2214
+ # @!attribute discounted
2215
+ #
2216
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
2217
+ optional :discounted,
2218
+ enum: -> { MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::Discounted }
2219
+
2220
+ # @!method initialize(sources:, spend_type:, discounted: nil)
2221
+ # @param sources [Array<Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::Source>]
2222
+ # @param spend_type [Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::SpendType]
2223
+ # @param discounted [Symbol, MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::Discounted]
2224
+
2225
+ module Source
2226
+ extend MetronomeSDK::Internal::Type::Enum
2227
+
2228
+ THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
2229
+ MANUAL = :MANUAL
2230
+
2231
+ # @!method self.values
2232
+ # @return [Array<Symbol>]
2233
+ end
2234
+
2235
+ # @see MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier#spend_type
2236
+ module SpendType
2237
+ extend MetronomeSDK::Internal::Type::Enum
2238
+
2239
+ COMMIT_PURCHASE = :COMMIT_PURCHASE
2240
+
2241
+ # @!method self.values
2242
+ # @return [Array<Symbol>]
2243
+ end
2244
+
2245
+ # @see MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier#discounted
2246
+ module Discounted
2247
+ extend MetronomeSDK::Internal::Type::Enum
2248
+
2249
+ ANY = :ANY
2250
+ DISCOUNTED_ONLY = :DISCOUNTED_ONLY
2251
+ UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
2252
+
2253
+ # @!method self.values
2254
+ # @return [Array<Symbol>]
2255
+ end
2256
+ end
2257
+
2258
+ # @see MetronomeSDK::Models::V1::PackageListResponse::SpendTracker#reset_frequency
2259
+ module ResetFrequency
2260
+ extend MetronomeSDK::Internal::Type::Enum
2261
+
2262
+ BILLING_PERIOD = :BILLING_PERIOD
2263
+
2264
+ # @!method self.values
2265
+ # @return [Array<Symbol>]
2266
+ end
2267
+ end
2268
+
2160
2269
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
2161
2270
  # @!attribute collection_schedule
2162
2271
  #
@@ -153,6 +153,12 @@ module MetronomeSDK
153
153
  # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
154
154
  optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
155
155
 
156
+ # @!attribute spend_trackers
157
+ #
158
+ # @return [Array<MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker>, nil]
159
+ optional :spend_trackers,
160
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker] }
161
+
156
162
  # @!attribute subscriptions
157
163
  #
158
164
  # @return [Array<MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription>, nil]
@@ -167,7 +173,7 @@ module MetronomeSDK
167
173
  # @return [String, nil]
168
174
  optional :uniqueness_key, String
169
175
 
170
- # @!method initialize(id:, commits:, created_at:, created_by:, overrides:, scheduled_charges:, usage_statement_schedule:, aliases: nil, archived_at: nil, billing_provider: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, prepaid_balance_threshold_configuration: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
176
+ # @!method initialize(id:, commits:, created_at:, created_by:, overrides:, scheduled_charges:, usage_statement_schedule:, aliases: nil, archived_at: nil, billing_provider: nil, contract_name: nil, credits: nil, delivery_method: nil, duration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, prepaid_balance_threshold_configuration: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, spend_trackers: nil, subscriptions: nil, uniqueness_key: nil)
171
177
  # Some parameter documentations has been truncated, see
172
178
  # {MetronomeSDK::Models::V1::PackageRetrieveResponse::Data} for more details.
173
179
  #
@@ -217,6 +223,8 @@ module MetronomeSDK
217
223
  #
218
224
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
219
225
  #
226
+ # @param spend_trackers [Array<MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker>]
227
+ #
220
228
  # @param subscriptions [Array<MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription>]
221
229
  #
222
230
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -2186,6 +2194,111 @@ module MetronomeSDK
2186
2194
  # @return [Array<Symbol>]
2187
2195
  end
2188
2196
 
2197
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2198
+ # @!attribute alias_
2199
+ # Human-readable identifier, unique per contract.
2200
+ #
2201
+ # @return [String]
2202
+ required :alias_, String, api_name: :alias
2203
+
2204
+ # @!attribute applicable_spend_specifiers
2205
+ #
2206
+ # @return [Array<MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier>]
2207
+ required :applicable_spend_specifiers,
2208
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier] }
2209
+
2210
+ # @!attribute credit_type_id
2211
+ #
2212
+ # @return [String]
2213
+ required :credit_type_id, String
2214
+
2215
+ # @!attribute reset_frequency
2216
+ #
2217
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ResetFrequency]
2218
+ required :reset_frequency,
2219
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ResetFrequency }
2220
+
2221
+ # @!method initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:)
2222
+ # @param alias_ [String] Human-readable identifier, unique per contract.
2223
+ #
2224
+ # @param applicable_spend_specifiers [Array<MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier>]
2225
+ #
2226
+ # @param credit_type_id [String]
2227
+ #
2228
+ # @param reset_frequency [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ResetFrequency]
2229
+
2230
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2231
+ # @!attribute sources
2232
+ #
2233
+ # @return [Array<Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::Source>]
2234
+ required :sources,
2235
+ -> do
2236
+ MetronomeSDK::Internal::Type::ArrayOf[
2237
+ enum: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::Source
2238
+ ]
2239
+ end
2240
+
2241
+ # @!attribute spend_type
2242
+ #
2243
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::SpendType]
2244
+ required :spend_type,
2245
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::SpendType }
2246
+
2247
+ # @!attribute discounted
2248
+ #
2249
+ # @return [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
2250
+ optional :discounted,
2251
+ enum: -> { MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::Discounted }
2252
+
2253
+ # @!method initialize(sources:, spend_type:, discounted: nil)
2254
+ # @param sources [Array<Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::Source>]
2255
+ # @param spend_type [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::SpendType]
2256
+ # @param discounted [Symbol, MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::Discounted]
2257
+
2258
+ module Source
2259
+ extend MetronomeSDK::Internal::Type::Enum
2260
+
2261
+ THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
2262
+ MANUAL = :MANUAL
2263
+
2264
+ # @!method self.values
2265
+ # @return [Array<Symbol>]
2266
+ end
2267
+
2268
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier#spend_type
2269
+ module SpendType
2270
+ extend MetronomeSDK::Internal::Type::Enum
2271
+
2272
+ COMMIT_PURCHASE = :COMMIT_PURCHASE
2273
+
2274
+ # @!method self.values
2275
+ # @return [Array<Symbol>]
2276
+ end
2277
+
2278
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier#discounted
2279
+ module Discounted
2280
+ extend MetronomeSDK::Internal::Type::Enum
2281
+
2282
+ ANY = :ANY
2283
+ DISCOUNTED_ONLY = :DISCOUNTED_ONLY
2284
+ UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY
2285
+
2286
+ # @!method self.values
2287
+ # @return [Array<Symbol>]
2288
+ end
2289
+ end
2290
+
2291
+ # @see MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker#reset_frequency
2292
+ module ResetFrequency
2293
+ extend MetronomeSDK::Internal::Type::Enum
2294
+
2295
+ BILLING_PERIOD = :BILLING_PERIOD
2296
+
2297
+ # @!method self.values
2298
+ # @return [Array<Symbol>]
2299
+ end
2300
+ end
2301
+
2189
2302
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
2190
2303
  # @!attribute collection_schedule
2191
2304
  #