metronome-sdk 3.5.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +15 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
  6. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  7. data/lib/metronome_sdk/models/commit.rb +27 -1
  8. data/lib/metronome_sdk/models/contract.rb +140 -1
  9. data/lib/metronome_sdk/models/contract_v2.rb +530 -6
  10. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  13. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  14. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  15. data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
  16. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
  17. data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
  18. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
  21. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
  22. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
  23. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
  25. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
  26. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
  27. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  28. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  30. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  31. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
  32. data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
  33. data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
  35. data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
  36. data/lib/metronome_sdk/resources/v1.rb +0 -4
  37. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  38. data/lib/metronome_sdk/version.rb +1 -1
  39. data/lib/metronome_sdk.rb +2 -8
  40. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  41. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  42. data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
  43. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  45. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  46. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  47. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  48. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
  49. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
  50. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
  51. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
  53. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
  54. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
  55. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
  56. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  57. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
  58. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
  59. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
  60. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  61. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  62. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  63. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  64. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
  65. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
  66. data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
  68. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
  69. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  70. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  71. data/sig/metronome_sdk/models/commit.rbs +19 -0
  72. data/sig/metronome_sdk/models/contract.rbs +151 -0
  73. data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
  74. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  75. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  76. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  77. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  78. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  79. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
  80. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
  81. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
  82. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  83. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
  84. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
  85. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
  86. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
  87. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
  88. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  89. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
  90. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
  91. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  92. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  93. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  94. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  95. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
  96. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
  97. data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
  98. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
  99. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
  100. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  101. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  102. metadata +8 -26
  103. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  104. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  105. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  106. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  107. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  108. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  109. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  110. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  111. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  112. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  113. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  114. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  115. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  116. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  117. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  118. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  119. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  120. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  121. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  122. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  123. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  124. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  125. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  126. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -22,11 +22,6 @@ module MetronomeSDK
22
22
  optional :aliases,
23
23
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PackageCreateParams::Alias] }
24
24
 
25
- # @!attribute billing_anchor_date
26
- #
27
- # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::BillingAnchorDate, nil]
28
- optional :billing_anchor_date, enum: -> { MetronomeSDK::V1::PackageCreateParams::BillingAnchorDate }
29
-
30
25
  # @!attribute billing_provider
31
26
  #
32
27
  # @return [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::BillingProvider, nil]
@@ -132,6 +127,12 @@ module MetronomeSDK
132
127
  # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
133
128
  optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
134
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
+
135
136
  # @!attribute subscriptions
136
137
  #
137
138
  # @return [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>, nil]
@@ -151,7 +152,7 @@ module MetronomeSDK
151
152
  # @return [MetronomeSDK::Models::V1::PackageCreateParams::UsageStatementSchedule, nil]
152
153
  optional :usage_statement_schedule, -> { MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule }
153
154
 
154
- # @!method initialize(name:, aliases: nil, billing_anchor_date: 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: {})
155
156
  # Some parameter documentations has been truncated, see
156
157
  # {MetronomeSDK::Models::V1::PackageCreateParams} for more details.
157
158
  #
@@ -159,8 +160,6 @@ module MetronomeSDK
159
160
  #
160
161
  # @param aliases [Array<MetronomeSDK::Models::V1::PackageCreateParams::Alias>] Reference this alias when creating a contract. If the same alias is assigned to
161
162
  #
162
- # @param billing_anchor_date [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::BillingAnchorDate]
163
- #
164
163
  # @param billing_provider [Symbol, MetronomeSDK::Models::V1::PackageCreateParams::BillingProvider]
165
164
  #
166
165
  # @param commits [Array<MetronomeSDK::Models::V1::PackageCreateParams::Commit>]
@@ -195,6 +194,8 @@ module MetronomeSDK
195
194
  #
196
195
  # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
197
196
  #
197
+ # @param spend_trackers [Array<MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker>]
198
+ #
198
199
  # @param subscriptions [Array<MetronomeSDK::Models::V1::PackageCreateParams::Subscription>]
199
200
  #
200
201
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -225,16 +226,6 @@ module MetronomeSDK
225
226
  # @param starting_at [Time]
226
227
  end
227
228
 
228
- module BillingAnchorDate
229
- extend MetronomeSDK::Internal::Type::Enum
230
-
231
- CONTRACT_START_DATE = :contract_start_date
232
- FIRST_BILLING_PERIOD = :first_billing_period
233
-
234
- # @!method self.values
235
- # @return [Array<Symbol>]
236
- end
237
-
238
229
  module BillingProvider
239
230
  extend MetronomeSDK::Internal::Type::Enum
240
231
 
@@ -2258,6 +2249,112 @@ module MetronomeSDK
2258
2249
  # @return [Array<Symbol>]
2259
2250
  end
2260
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
+
2261
2358
  class Subscription < MetronomeSDK::Internal::Type::BaseModel
2262
2359
  # @!attribute collection_schedule
2263
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
  #