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
@@ -138,11 +138,11 @@ module MetronomeSDK
138
138
  invoice_schedule: MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
139
139
  name: String,
140
140
  netsuite_sales_order_id: String,
141
- payment_gate_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig,
142
141
  priority: Float,
143
142
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
144
143
  rollover_fraction: Float,
145
144
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
145
+ spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
146
146
  temporary_id: String
147
147
  }
148
148
 
@@ -197,12 +197,6 @@ module MetronomeSDK
197
197
 
198
198
  def netsuite_sales_order_id=: (String) -> String
199
199
 
200
- attr_reader payment_gate_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig?
201
-
202
- def payment_gate_config=: (
203
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig
204
- ) -> MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig
205
-
206
200
  attr_reader priority: Float?
207
201
 
208
202
  def priority=: (Float) -> Float
@@ -223,6 +217,12 @@ module MetronomeSDK
223
217
  ::Array[MetronomeSDK::CommitSpecifierInput]
224
218
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
225
219
 
220
+ attr_reader spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes?
221
+
222
+ def spend_tracker_attributes=: (
223
+ MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes
224
+ ) -> MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes
225
+
226
226
  attr_reader temporary_id: String?
227
227
 
228
228
  def temporary_id=: (String) -> String
@@ -240,11 +240,11 @@ module MetronomeSDK
240
240
  ?invoice_schedule: MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
241
241
  ?name: String,
242
242
  ?netsuite_sales_order_id: String,
243
- ?payment_gate_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig,
244
243
  ?priority: Float,
245
244
  ?rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
246
245
  ?rollover_fraction: Float,
247
246
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
247
+ ?spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
248
248
  ?temporary_id: String
249
249
  ) -> void
250
250
 
@@ -261,11 +261,11 @@ module MetronomeSDK
261
261
  invoice_schedule: MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
262
262
  name: String,
263
263
  netsuite_sales_order_id: String,
264
- payment_gate_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig,
265
264
  priority: Float,
266
265
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
267
266
  rollover_fraction: Float,
268
267
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
268
+ spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
269
269
  temporary_id: String
270
270
  }
271
271
 
@@ -487,134 +487,6 @@ module MetronomeSDK
487
487
  end
488
488
  end
489
489
 
490
- type payment_gate_config =
491
- {
492
- payment_gate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::payment_gate_type,
493
- precalculated_tax_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
494
- stripe_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
495
- tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type
496
- }
497
-
498
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
499
- attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::payment_gate_type
500
-
501
- attr_reader precalculated_tax_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig?
502
-
503
- def precalculated_tax_config=: (
504
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
505
- ) -> MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
506
-
507
- attr_reader stripe_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig?
508
-
509
- def stripe_config=: (
510
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig
511
- ) -> MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig
512
-
513
- attr_reader tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type?
514
-
515
- def tax_type=: (
516
- MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type
517
- ) -> MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type
518
-
519
- def initialize: (
520
- payment_gate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::payment_gate_type,
521
- ?precalculated_tax_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
522
- ?stripe_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
523
- ?tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type
524
- ) -> void
525
-
526
- def to_hash: -> {
527
- payment_gate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::payment_gate_type,
528
- precalculated_tax_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
529
- stripe_config: MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
530
- tax_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type
531
- }
532
-
533
- type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
534
-
535
- module PaymentGateType
536
- extend MetronomeSDK::Internal::Type::Enum
537
-
538
- NONE: :NONE
539
- STRIPE: :STRIPE
540
- EXTERNAL: :EXTERNAL
541
-
542
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::payment_gate_type]
543
- end
544
-
545
- type precalculated_tax_config =
546
- { tax_amount: Float, tax_name: String }
547
-
548
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
549
- attr_accessor tax_amount: Float
550
-
551
- attr_reader tax_name: String?
552
-
553
- def tax_name=: (String) -> String
554
-
555
- def initialize: (tax_amount: Float, ?tax_name: String) -> void
556
-
557
- def to_hash: -> { tax_amount: Float, tax_name: String }
558
- end
559
-
560
- type stripe_config =
561
- {
562
- payment_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
563
- invoice_metadata: ::Hash[Symbol, String],
564
- on_session_payment: bool
565
- }
566
-
567
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
568
- attr_accessor payment_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::payment_type
569
-
570
- attr_reader invoice_metadata: ::Hash[Symbol, String]?
571
-
572
- def invoice_metadata=: (
573
- ::Hash[Symbol, String]
574
- ) -> ::Hash[Symbol, String]
575
-
576
- attr_reader on_session_payment: bool?
577
-
578
- def on_session_payment=: (bool) -> bool
579
-
580
- def initialize: (
581
- payment_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
582
- ?invoice_metadata: ::Hash[Symbol, String],
583
- ?on_session_payment: bool
584
- ) -> void
585
-
586
- def to_hash: -> {
587
- payment_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
588
- invoice_metadata: ::Hash[Symbol, String],
589
- on_session_payment: bool
590
- }
591
-
592
- type payment_type = :INVOICE | :PAYMENT_INTENT
593
-
594
- module PaymentType
595
- extend MetronomeSDK::Internal::Type::Enum
596
-
597
- INVOICE: :INVOICE
598
- PAYMENT_INTENT: :PAYMENT_INTENT
599
-
600
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::payment_type]
601
- end
602
- end
603
-
604
- type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
605
-
606
- module TaxType
607
- extend MetronomeSDK::Internal::Type::Enum
608
-
609
- NONE: :NONE
610
- STRIPE: :STRIPE
611
- ANROK: :ANROK
612
- PRECALCULATED: :PRECALCULATED
613
-
614
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::PaymentGateConfig::tax_type]
615
- end
616
- end
617
-
618
490
  type rate_type = :COMMIT_RATE | :LIST_RATE
619
491
 
620
492
  module RateType
@@ -625,6 +497,16 @@ module MetronomeSDK
625
497
 
626
498
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type]
627
499
  end
500
+
501
+ type spend_tracker_attributes = { counts_as_discounted: bool }
502
+
503
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
504
+ attr_accessor counts_as_discounted: bool
505
+
506
+ def initialize: (counts_as_discounted: bool) -> void
507
+
508
+ def to_hash: -> { counts_as_discounted: bool }
509
+ end
628
510
  end
629
511
 
630
512
  type credit =
@@ -31,6 +31,7 @@ module MetronomeSDK
31
31
  scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
32
32
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
33
33
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
34
+ spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker],
34
35
  subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
35
36
  total_contract_value: Float,
36
37
  transition: MetronomeSDK::V1::ContractCreateParams::Transition,
@@ -184,6 +185,12 @@ module MetronomeSDK
184
185
  MetronomeSDK::SpendThresholdConfiguration
185
186
  ) -> MetronomeSDK::SpendThresholdConfiguration
186
187
 
188
+ attr_reader spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker]?
189
+
190
+ def spend_trackers=: (
191
+ ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker]
192
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker]
193
+
187
194
  attr_reader subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription]?
188
195
 
189
196
  def subscriptions=: (
@@ -245,6 +252,7 @@ module MetronomeSDK
245
252
  ?scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
246
253
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
247
254
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
255
+ ?spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker],
248
256
  ?subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
249
257
  ?total_contract_value: Float,
250
258
  ?transition: MetronomeSDK::V1::ContractCreateParams::Transition,
@@ -283,6 +291,7 @@ module MetronomeSDK
283
291
  scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
284
292
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
285
293
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
294
+ spend_trackers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker],
286
295
  subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
287
296
  total_contract_value: Float,
288
297
  transition: MetronomeSDK::V1::ContractCreateParams::Transition,
@@ -376,11 +385,11 @@ module MetronomeSDK
376
385
  invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
377
386
  name: String,
378
387
  netsuite_sales_order_id: String,
379
- payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
380
388
  priority: Float,
381
389
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
382
390
  rollover_fraction: Float,
383
391
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
392
+ spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
384
393
  temporary_id: String
385
394
  }
386
395
 
@@ -435,12 +444,6 @@ module MetronomeSDK
435
444
 
436
445
  def netsuite_sales_order_id=: (String) -> String
437
446
 
438
- attr_reader payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig?
439
-
440
- def payment_gate_config=: (
441
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig
442
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig
443
-
444
447
  attr_reader priority: Float?
445
448
 
446
449
  def priority=: (Float) -> Float
@@ -461,6 +464,12 @@ module MetronomeSDK
461
464
  ::Array[MetronomeSDK::CommitSpecifierInput]
462
465
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
463
466
 
467
+ attr_reader spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes?
468
+
469
+ def spend_tracker_attributes=: (
470
+ MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes
471
+ ) -> MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes
472
+
464
473
  attr_reader temporary_id: String?
465
474
 
466
475
  def temporary_id=: (String) -> String
@@ -478,11 +487,11 @@ module MetronomeSDK
478
487
  ?invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
479
488
  ?name: String,
480
489
  ?netsuite_sales_order_id: String,
481
- ?payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
482
490
  ?priority: Float,
483
491
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
484
492
  ?rollover_fraction: Float,
485
493
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
494
+ ?spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
486
495
  ?temporary_id: String
487
496
  ) -> void
488
497
 
@@ -499,11 +508,11 @@ module MetronomeSDK
499
508
  invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
500
509
  name: String,
501
510
  netsuite_sales_order_id: String,
502
- payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
503
511
  priority: Float,
504
512
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
505
513
  rollover_fraction: Float,
506
514
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
515
+ spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
507
516
  temporary_id: String
508
517
  }
509
518
 
@@ -725,134 +734,6 @@ module MetronomeSDK
725
734
  end
726
735
  end
727
736
 
728
- type payment_gate_config =
729
- {
730
- payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
731
- precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
732
- stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
733
- tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
734
- }
735
-
736
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
737
- attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type
738
-
739
- attr_reader precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig?
740
-
741
- def precalculated_tax_config=: (
742
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
743
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
744
-
745
- attr_reader stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig?
746
-
747
- def stripe_config=: (
748
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
749
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
750
-
751
- attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type?
752
-
753
- def tax_type=: (
754
- MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
755
- ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
756
-
757
- def initialize: (
758
- payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
759
- ?precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
760
- ?stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
761
- ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
762
- ) -> void
763
-
764
- def to_hash: -> {
765
- payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
766
- precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
767
- stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
768
- tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
769
- }
770
-
771
- type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
772
-
773
- module PaymentGateType
774
- extend MetronomeSDK::Internal::Type::Enum
775
-
776
- NONE: :NONE
777
- STRIPE: :STRIPE
778
- EXTERNAL: :EXTERNAL
779
-
780
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type]
781
- end
782
-
783
- type precalculated_tax_config =
784
- { tax_amount: Float, tax_name: String }
785
-
786
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
787
- attr_accessor tax_amount: Float
788
-
789
- attr_reader tax_name: String?
790
-
791
- def tax_name=: (String) -> String
792
-
793
- def initialize: (tax_amount: Float, ?tax_name: String) -> void
794
-
795
- def to_hash: -> { tax_amount: Float, tax_name: String }
796
- end
797
-
798
- type stripe_config =
799
- {
800
- payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
801
- invoice_metadata: ::Hash[Symbol, String],
802
- on_session_payment: bool
803
- }
804
-
805
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
806
- attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
807
-
808
- attr_reader invoice_metadata: ::Hash[Symbol, String]?
809
-
810
- def invoice_metadata=: (
811
- ::Hash[Symbol, String]
812
- ) -> ::Hash[Symbol, String]
813
-
814
- attr_reader on_session_payment: bool?
815
-
816
- def on_session_payment=: (bool) -> bool
817
-
818
- def initialize: (
819
- payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
820
- ?invoice_metadata: ::Hash[Symbol, String],
821
- ?on_session_payment: bool
822
- ) -> void
823
-
824
- def to_hash: -> {
825
- payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
826
- invoice_metadata: ::Hash[Symbol, String],
827
- on_session_payment: bool
828
- }
829
-
830
- type payment_type = :INVOICE | :PAYMENT_INTENT
831
-
832
- module PaymentType
833
- extend MetronomeSDK::Internal::Type::Enum
834
-
835
- INVOICE: :INVOICE
836
- PAYMENT_INTENT: :PAYMENT_INTENT
837
-
838
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type]
839
- end
840
- end
841
-
842
- type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
843
-
844
- module TaxType
845
- extend MetronomeSDK::Internal::Type::Enum
846
-
847
- NONE: :NONE
848
- STRIPE: :STRIPE
849
- ANROK: :ANROK
850
- PRECALCULATED: :PRECALCULATED
851
-
852
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type]
853
- end
854
- end
855
-
856
737
  type rate_type = :COMMIT_RATE | :LIST_RATE
857
738
 
858
739
  module RateType
@@ -863,6 +744,16 @@ module MetronomeSDK
863
744
 
864
745
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type]
865
746
  end
747
+
748
+ type spend_tracker_attributes = { counts_as_discounted: bool }
749
+
750
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
751
+ attr_accessor counts_as_discounted: bool
752
+
753
+ def initialize: (counts_as_discounted: bool) -> void
754
+
755
+ def to_hash: -> { counts_as_discounted: bool }
756
+ end
866
757
  end
867
758
 
868
759
  type credit =
@@ -2758,6 +2649,112 @@ module MetronomeSDK
2758
2649
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices]
2759
2650
  end
2760
2651
 
2652
+ type spend_tracker =
2653
+ {
2654
+ alias_: String,
2655
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier],
2656
+ credit_type_id: String,
2657
+ reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2658
+ }
2659
+
2660
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2661
+ attr_accessor alias_: String
2662
+
2663
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier]
2664
+
2665
+ attr_accessor credit_type_id: String
2666
+
2667
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2668
+
2669
+ def initialize: (
2670
+ alias_: String,
2671
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier],
2672
+ credit_type_id: String,
2673
+ reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2674
+ ) -> void
2675
+
2676
+ def to_hash: -> {
2677
+ alias_: String,
2678
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier],
2679
+ credit_type_id: String,
2680
+ reset_frequency: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency
2681
+ }
2682
+
2683
+ type applicable_spend_specifier =
2684
+ {
2685
+ sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2686
+ spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2687
+ discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2688
+ }
2689
+
2690
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2691
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source]
2692
+
2693
+ attr_accessor spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type
2694
+
2695
+ attr_reader discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted?
2696
+
2697
+ def discounted=: (
2698
+ MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2699
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2700
+
2701
+ def initialize: (
2702
+ sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2703
+ spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2704
+ ?discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2705
+ ) -> void
2706
+
2707
+ def to_hash: -> {
2708
+ sources: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2709
+ spend_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2710
+ discounted: MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2711
+ }
2712
+
2713
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2714
+
2715
+ module Source
2716
+ extend MetronomeSDK::Internal::Type::Enum
2717
+
2718
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2719
+ MANUAL: :MANUAL
2720
+
2721
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::source]
2722
+ end
2723
+
2724
+ type spend_type = :COMMIT_PURCHASE
2725
+
2726
+ module SpendType
2727
+ extend MetronomeSDK::Internal::Type::Enum
2728
+
2729
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2730
+
2731
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type]
2732
+ end
2733
+
2734
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2735
+
2736
+ module Discounted
2737
+ extend MetronomeSDK::Internal::Type::Enum
2738
+
2739
+ ANY: :ANY
2740
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2741
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2742
+
2743
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted]
2744
+ end
2745
+ end
2746
+
2747
+ type reset_frequency = :BILLING_PERIOD
2748
+
2749
+ module ResetFrequency
2750
+ extend MetronomeSDK::Internal::Type::Enum
2751
+
2752
+ BILLING_PERIOD: :BILLING_PERIOD
2753
+
2754
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendTracker::reset_frequency]
2755
+ end
2756
+ end
2757
+
2761
2758
  type subscription =
2762
2759
  {
2763
2760
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,