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
@@ -229,6 +229,26 @@ module MetronomeSDK
229
229
  end
230
230
  attr_writer :spend_threshold_configuration
231
231
 
232
+ # Spend trackers attached to this contract.
233
+ sig do
234
+ returns(
235
+ T.nilable(
236
+ T::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker]
237
+ )
238
+ )
239
+ end
240
+ attr_reader :spend_trackers
241
+
242
+ sig do
243
+ params(
244
+ spend_trackers:
245
+ T::Array[
246
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::OrHash
247
+ ]
248
+ ).void
249
+ end
250
+ attr_writer :spend_trackers
251
+
232
252
  # This field's availability is dependent on your client's configuration.
233
253
  sig { returns(T.nilable(Float)) }
234
254
  attr_reader :total_contract_value
@@ -295,6 +315,10 @@ module MetronomeSDK
295
315
  MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::OrSymbol,
296
316
  spend_threshold_configuration:
297
317
  MetronomeSDK::SpendThresholdConfiguration::OrHash,
318
+ spend_trackers:
319
+ T::Array[
320
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::OrHash
321
+ ],
298
322
  total_contract_value: Float,
299
323
  usage_filter:
300
324
  MetronomeSDK::ContractWithoutAmendments::UsageFilter::OrHash
@@ -337,6 +361,8 @@ module MetronomeSDK
337
361
  # on a separate invoice from usage charges.
338
362
  scheduled_charges_on_usage_invoices: nil,
339
363
  spend_threshold_configuration: nil,
364
+ # Spend trackers attached to this contract.
365
+ spend_trackers: nil,
340
366
  # This field's availability is dependent on your client's configuration.
341
367
  total_contract_value: nil,
342
368
  usage_filter: nil
@@ -385,6 +411,8 @@ module MetronomeSDK
385
411
  MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::TaggedSymbol,
386
412
  spend_threshold_configuration:
387
413
  MetronomeSDK::SpendThresholdConfiguration,
414
+ spend_trackers:
415
+ T::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker],
388
416
  total_contract_value: Float,
389
417
  usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
390
418
  }
@@ -2129,6 +2157,346 @@ module MetronomeSDK
2129
2157
  end
2130
2158
  end
2131
2159
 
2160
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2161
+ OrHash =
2162
+ T.type_alias do
2163
+ T.any(
2164
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker,
2165
+ MetronomeSDK::Internal::AnyHash
2166
+ )
2167
+ end
2168
+
2169
+ # Human-readable identifier, unique per contract.
2170
+ sig { returns(String) }
2171
+ attr_accessor :alias_
2172
+
2173
+ sig do
2174
+ returns(
2175
+ T::Array[
2176
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier
2177
+ ]
2178
+ )
2179
+ end
2180
+ attr_accessor :applicable_spend_specifiers
2181
+
2182
+ sig { returns(String) }
2183
+ attr_accessor :credit_type_id
2184
+
2185
+ sig do
2186
+ returns(
2187
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ResetFrequency::TaggedSymbol
2188
+ )
2189
+ end
2190
+ attr_accessor :reset_frequency
2191
+
2192
+ sig do
2193
+ returns(
2194
+ T.nilable(
2195
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
2196
+ )
2197
+ )
2198
+ end
2199
+ attr_reader :accumulated_spend
2200
+
2201
+ sig do
2202
+ params(
2203
+ accumulated_spend:
2204
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend::OrHash
2205
+ ).void
2206
+ end
2207
+ attr_writer :accumulated_spend
2208
+
2209
+ sig do
2210
+ params(
2211
+ alias_: String,
2212
+ applicable_spend_specifiers:
2213
+ T::Array[
2214
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::OrHash
2215
+ ],
2216
+ credit_type_id: String,
2217
+ reset_frequency:
2218
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ResetFrequency::OrSymbol,
2219
+ accumulated_spend:
2220
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend::OrHash
2221
+ ).returns(T.attached_class)
2222
+ end
2223
+ def self.new(
2224
+ # Human-readable identifier, unique per contract.
2225
+ alias_:,
2226
+ applicable_spend_specifiers:,
2227
+ credit_type_id:,
2228
+ reset_frequency:,
2229
+ accumulated_spend: nil
2230
+ )
2231
+ end
2232
+
2233
+ sig do
2234
+ override.returns(
2235
+ {
2236
+ alias_: String,
2237
+ applicable_spend_specifiers:
2238
+ T::Array[
2239
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier
2240
+ ],
2241
+ credit_type_id: String,
2242
+ reset_frequency:
2243
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ResetFrequency::TaggedSymbol,
2244
+ accumulated_spend:
2245
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
2246
+ }
2247
+ )
2248
+ end
2249
+ def to_hash
2250
+ end
2251
+
2252
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2253
+ OrHash =
2254
+ T.type_alias do
2255
+ T.any(
2256
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier,
2257
+ MetronomeSDK::Internal::AnyHash
2258
+ )
2259
+ end
2260
+
2261
+ sig do
2262
+ returns(
2263
+ T::Array[
2264
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
2265
+ ]
2266
+ )
2267
+ end
2268
+ attr_accessor :sources
2269
+
2270
+ sig do
2271
+ returns(
2272
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
2273
+ )
2274
+ end
2275
+ attr_accessor :spend_type
2276
+
2277
+ sig do
2278
+ returns(
2279
+ T.nilable(
2280
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
2281
+ )
2282
+ )
2283
+ end
2284
+ attr_reader :discounted
2285
+
2286
+ sig do
2287
+ params(
2288
+ discounted:
2289
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
2290
+ ).void
2291
+ end
2292
+ attr_writer :discounted
2293
+
2294
+ sig do
2295
+ params(
2296
+ sources:
2297
+ T::Array[
2298
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source::OrSymbol
2299
+ ],
2300
+ spend_type:
2301
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType::OrSymbol,
2302
+ discounted:
2303
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
2304
+ ).returns(T.attached_class)
2305
+ end
2306
+ def self.new(sources:, spend_type:, discounted: nil)
2307
+ end
2308
+
2309
+ sig do
2310
+ override.returns(
2311
+ {
2312
+ sources:
2313
+ T::Array[
2314
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
2315
+ ],
2316
+ spend_type:
2317
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol,
2318
+ discounted:
2319
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
2320
+ }
2321
+ )
2322
+ end
2323
+ def to_hash
2324
+ end
2325
+
2326
+ module Source
2327
+ extend MetronomeSDK::Internal::Type::Enum
2328
+
2329
+ TaggedSymbol =
2330
+ T.type_alias do
2331
+ T.all(
2332
+ Symbol,
2333
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source
2334
+ )
2335
+ end
2336
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2337
+
2338
+ THRESHOLD_RECHARGE =
2339
+ T.let(
2340
+ :THRESHOLD_RECHARGE,
2341
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
2342
+ )
2343
+ MANUAL =
2344
+ T.let(
2345
+ :MANUAL,
2346
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
2347
+ )
2348
+
2349
+ sig do
2350
+ override.returns(
2351
+ T::Array[
2352
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
2353
+ ]
2354
+ )
2355
+ end
2356
+ def self.values
2357
+ end
2358
+ end
2359
+
2360
+ module SpendType
2361
+ extend MetronomeSDK::Internal::Type::Enum
2362
+
2363
+ TaggedSymbol =
2364
+ T.type_alias do
2365
+ T.all(
2366
+ Symbol,
2367
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType
2368
+ )
2369
+ end
2370
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2371
+
2372
+ COMMIT_PURCHASE =
2373
+ T.let(
2374
+ :COMMIT_PURCHASE,
2375
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
2376
+ )
2377
+
2378
+ sig do
2379
+ override.returns(
2380
+ T::Array[
2381
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
2382
+ ]
2383
+ )
2384
+ end
2385
+ def self.values
2386
+ end
2387
+ end
2388
+
2389
+ module Discounted
2390
+ extend MetronomeSDK::Internal::Type::Enum
2391
+
2392
+ TaggedSymbol =
2393
+ T.type_alias do
2394
+ T.all(
2395
+ Symbol,
2396
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted
2397
+ )
2398
+ end
2399
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2400
+
2401
+ ANY =
2402
+ T.let(
2403
+ :ANY,
2404
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
2405
+ )
2406
+ DISCOUNTED_ONLY =
2407
+ T.let(
2408
+ :DISCOUNTED_ONLY,
2409
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
2410
+ )
2411
+ UNDISCOUNTED_ONLY =
2412
+ T.let(
2413
+ :UNDISCOUNTED_ONLY,
2414
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
2415
+ )
2416
+
2417
+ sig do
2418
+ override.returns(
2419
+ T::Array[
2420
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
2421
+ ]
2422
+ )
2423
+ end
2424
+ def self.values
2425
+ end
2426
+ end
2427
+ end
2428
+
2429
+ module ResetFrequency
2430
+ extend MetronomeSDK::Internal::Type::Enum
2431
+
2432
+ TaggedSymbol =
2433
+ T.type_alias do
2434
+ T.all(
2435
+ Symbol,
2436
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ResetFrequency
2437
+ )
2438
+ end
2439
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2440
+
2441
+ BILLING_PERIOD =
2442
+ T.let(
2443
+ :BILLING_PERIOD,
2444
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ResetFrequency::TaggedSymbol
2445
+ )
2446
+
2447
+ sig do
2448
+ override.returns(
2449
+ T::Array[
2450
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::ResetFrequency::TaggedSymbol
2451
+ ]
2452
+ )
2453
+ end
2454
+ def self.values
2455
+ end
2456
+ end
2457
+
2458
+ class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
2459
+ OrHash =
2460
+ T.type_alias do
2461
+ T.any(
2462
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend,
2463
+ MetronomeSDK::Internal::AnyHash
2464
+ )
2465
+ end
2466
+
2467
+ sig { returns(Float) }
2468
+ attr_accessor :amount
2469
+
2470
+ sig { returns(Time) }
2471
+ attr_accessor :period_ending_before
2472
+
2473
+ sig { returns(Time) }
2474
+ attr_accessor :period_starting_at
2475
+
2476
+ sig do
2477
+ params(
2478
+ amount: Float,
2479
+ period_ending_before: Time,
2480
+ period_starting_at: Time
2481
+ ).returns(T.attached_class)
2482
+ end
2483
+ def self.new(amount:, period_ending_before:, period_starting_at:)
2484
+ end
2485
+
2486
+ sig do
2487
+ override.returns(
2488
+ {
2489
+ amount: Float,
2490
+ period_ending_before: Time,
2491
+ period_starting_at: Time
2492
+ }
2493
+ )
2494
+ end
2495
+ def to_hash
2496
+ end
2497
+ end
2498
+ end
2499
+
2132
2500
  class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
2133
2501
  OrHash =
2134
2502
  T.type_alias do