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
@@ -18,11 +18,13 @@ module MetronomeSDK
18
18
  add_revenue_system_configuration_update: MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate,
19
19
  add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
20
20
  add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
21
+ add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
21
22
  add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
22
23
  allow_contract_ending_before_finalized_invoice: bool,
23
24
  archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
24
25
  archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
25
26
  archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
27
+ archive_spend_trackers: ::Array[String],
26
28
  remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
27
29
  uniqueness_key: String,
28
30
  update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
@@ -125,6 +127,12 @@ module MetronomeSDK
125
127
  MetronomeSDK::SpendThresholdConfigurationV2
126
128
  ) -> MetronomeSDK::SpendThresholdConfigurationV2
127
129
 
130
+ attr_reader add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]?
131
+
132
+ def add_spend_trackers=: (
133
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]
134
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]
135
+
128
136
  attr_reader add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription]?
129
137
 
130
138
  def add_subscriptions=: (
@@ -153,6 +161,10 @@ module MetronomeSDK
153
161
  ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge]
154
162
  ) -> ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge]
155
163
 
164
+ attr_reader archive_spend_trackers: ::Array[String]?
165
+
166
+ def archive_spend_trackers=: (::Array[String]) -> ::Array[String]
167
+
156
168
  attr_reader remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride]?
157
169
 
158
170
  def remove_overrides=: (
@@ -233,11 +245,13 @@ module MetronomeSDK
233
245
  ?add_revenue_system_configuration_update: MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate,
234
246
  ?add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
235
247
  ?add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
248
+ ?add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
236
249
  ?add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
237
250
  ?allow_contract_ending_before_finalized_invoice: bool,
238
251
  ?archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
239
252
  ?archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
240
253
  ?archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
254
+ ?archive_spend_trackers: ::Array[String],
241
255
  ?remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
242
256
  ?uniqueness_key: String,
243
257
  ?update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
@@ -270,11 +284,13 @@ module MetronomeSDK
270
284
  add_revenue_system_configuration_update: MetronomeSDK::V2::ContractEditParams::AddRevenueSystemConfigurationUpdate,
271
285
  add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
272
286
  add_spend_threshold_configuration: MetronomeSDK::SpendThresholdConfigurationV2,
287
+ add_spend_trackers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
273
288
  add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
274
289
  allow_contract_ending_before_finalized_invoice: bool,
275
290
  archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
276
291
  archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
277
292
  archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
293
+ archive_spend_trackers: ::Array[String],
278
294
  remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
279
295
  uniqueness_key: String,
280
296
  update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
@@ -437,6 +453,7 @@ module MetronomeSDK
437
453
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
438
454
  rollover_fraction: Float,
439
455
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
456
+ spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
440
457
  temporary_id: String
441
458
  }
442
459
 
@@ -517,6 +534,12 @@ module MetronomeSDK
517
534
  ::Array[MetronomeSDK::CommitSpecifierInput]
518
535
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
519
536
 
537
+ attr_reader spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes?
538
+
539
+ def spend_tracker_attributes=: (
540
+ MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes
541
+ ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes
542
+
520
543
  attr_reader temporary_id: String?
521
544
 
522
545
  def temporary_id=: (String) -> String
@@ -539,6 +562,7 @@ module MetronomeSDK
539
562
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
540
563
  ?rollover_fraction: Float,
541
564
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
565
+ ?spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
542
566
  ?temporary_id: String
543
567
  ) -> void
544
568
 
@@ -560,6 +584,7 @@ module MetronomeSDK
560
584
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
561
585
  rollover_fraction: Float,
562
586
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
587
+ spend_tracker_attributes: MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
563
588
  temporary_id: String
564
589
  }
565
590
 
@@ -921,6 +946,16 @@ module MetronomeSDK
921
946
 
922
947
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type]
923
948
  end
949
+
950
+ type spend_tracker_attributes = { counts_as_discounted: bool }
951
+
952
+ class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
953
+ attr_accessor counts_as_discounted: bool
954
+
955
+ def initialize: (counts_as_discounted: bool) -> void
956
+
957
+ def to_hash: -> { counts_as_discounted: bool }
958
+ end
924
959
  end
925
960
 
926
961
  type add_credit =
@@ -2742,6 +2777,112 @@ module MetronomeSDK
2742
2777
  end
2743
2778
  end
2744
2779
 
2780
+ type add_spend_tracker =
2781
+ {
2782
+ alias_: String,
2783
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier],
2784
+ credit_type_id: String,
2785
+ reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2786
+ }
2787
+
2788
+ class AddSpendTracker < MetronomeSDK::Internal::Type::BaseModel
2789
+ attr_accessor alias_: String
2790
+
2791
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier]
2792
+
2793
+ attr_accessor credit_type_id: String
2794
+
2795
+ attr_accessor reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2796
+
2797
+ def initialize: (
2798
+ alias_: String,
2799
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier],
2800
+ credit_type_id: String,
2801
+ reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2802
+ ) -> void
2803
+
2804
+ def to_hash: -> {
2805
+ alias_: String,
2806
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier],
2807
+ credit_type_id: String,
2808
+ reset_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency
2809
+ }
2810
+
2811
+ type applicable_spend_specifier =
2812
+ {
2813
+ sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source],
2814
+ spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type,
2815
+ discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
2816
+ }
2817
+
2818
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2819
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source]
2820
+
2821
+ attr_accessor spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type
2822
+
2823
+ attr_reader discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted?
2824
+
2825
+ def discounted=: (
2826
+ MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
2827
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
2828
+
2829
+ def initialize: (
2830
+ sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source],
2831
+ spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type,
2832
+ ?discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
2833
+ ) -> void
2834
+
2835
+ def to_hash: -> {
2836
+ sources: ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source],
2837
+ spend_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type,
2838
+ discounted: MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted
2839
+ }
2840
+
2841
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2842
+
2843
+ module Source
2844
+ extend MetronomeSDK::Internal::Type::Enum
2845
+
2846
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2847
+ MANUAL: :MANUAL
2848
+
2849
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::source]
2850
+ end
2851
+
2852
+ type spend_type = :COMMIT_PURCHASE
2853
+
2854
+ module SpendType
2855
+ extend MetronomeSDK::Internal::Type::Enum
2856
+
2857
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2858
+
2859
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::spend_type]
2860
+ end
2861
+
2862
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2863
+
2864
+ module Discounted
2865
+ extend MetronomeSDK::Internal::Type::Enum
2866
+
2867
+ ANY: :ANY
2868
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2869
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2870
+
2871
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::discounted]
2872
+ end
2873
+ end
2874
+
2875
+ type reset_frequency = :BILLING_PERIOD
2876
+
2877
+ module ResetFrequency
2878
+ extend MetronomeSDK::Internal::Type::Enum
2879
+
2880
+ BILLING_PERIOD: :BILLING_PERIOD
2881
+
2882
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendTracker::reset_frequency]
2883
+ end
2884
+ end
2885
+
2745
2886
  type add_subscription =
2746
2887
  {
2747
2888
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
@@ -3573,7 +3714,8 @@ module MetronomeSDK
3573
3714
  is_enabled: bool,
3574
3715
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3575
3716
  recharge_to_amount: Float,
3576
- threshold_amount: Float
3717
+ threshold_amount: Float,
3718
+ threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3577
3719
  }
3578
3720
 
3579
3721
  class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -3605,6 +3747,8 @@ module MetronomeSDK
3605
3747
 
3606
3748
  def threshold_amount=: (Float) -> Float
3607
3749
 
3750
+ attr_accessor threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3751
+
3608
3752
  def initialize: (
3609
3753
  ?commit: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
3610
3754
  ?custom_credit_type_id: String?,
@@ -3612,7 +3756,8 @@ module MetronomeSDK
3612
3756
  ?is_enabled: bool,
3613
3757
  ?payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3614
3758
  ?recharge_to_amount: Float,
3615
- ?threshold_amount: Float
3759
+ ?threshold_amount: Float,
3760
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3616
3761
  ) -> void
3617
3762
 
3618
3763
  def to_hash: -> {
@@ -3622,7 +3767,8 @@ module MetronomeSDK
3622
3767
  is_enabled: bool,
3623
3768
  payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
3624
3769
  recharge_to_amount: Float,
3625
- threshold_amount: Float
3770
+ threshold_amount: Float,
3771
+ threshold_balance_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
3626
3772
  }
3627
3773
 
3628
3774
  type commit =
@@ -3664,14 +3810,115 @@ module MetronomeSDK
3664
3810
  }
3665
3811
  end
3666
3812
 
3667
- type discount_configuration = { payment_fraction: Float? }
3813
+ type discount_configuration =
3814
+ {
3815
+ cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3816
+ payment_fraction: Float?
3817
+ }
3668
3818
 
3669
3819
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
3820
+ attr_accessor cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?
3821
+
3670
3822
  attr_accessor payment_fraction: Float?
3671
3823
 
3672
- def initialize: (?payment_fraction: Float?) -> void
3824
+ def initialize: (
3825
+ ?cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3826
+ ?payment_fraction: Float?
3827
+ ) -> void
3828
+
3829
+ def to_hash: -> {
3830
+ cap: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?,
3831
+ payment_fraction: Float?
3832
+ }
3833
+
3834
+ type cap = { amount: Float, spend_tracker_alias: String }
3673
3835
 
3674
- def to_hash: -> { payment_fraction: Float? }
3836
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
3837
+ attr_accessor amount: Float
3838
+
3839
+ attr_accessor spend_tracker_alias: String
3840
+
3841
+ def initialize: (
3842
+ amount: Float,
3843
+ spend_tracker_alias: String
3844
+ ) -> void
3845
+
3846
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
3847
+ end
3848
+ end
3849
+
3850
+ type threshold_balance_specifier =
3851
+ {
3852
+ exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3853
+ }
3854
+
3855
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
3856
+ attr_accessor exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3857
+
3858
+ def initialize: (
3859
+ exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3860
+ ) -> void
3861
+
3862
+ def to_hash: -> {
3863
+ exclude: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
3864
+ }
3865
+
3866
+ type exclude =
3867
+ {
3868
+ custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3869
+ }
3870
+
3871
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
3872
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3873
+
3874
+ def initialize: (
3875
+ custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3876
+ ) -> void
3877
+
3878
+ def to_hash: -> {
3879
+ custom_field_filters: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
3880
+ }
3881
+
3882
+ type custom_field_filter =
3883
+ {
3884
+ entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3885
+ key: String,
3886
+ value: String
3887
+ }
3888
+
3889
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
3890
+ attr_accessor entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
3891
+
3892
+ attr_accessor key: String
3893
+
3894
+ attr_accessor value: String
3895
+
3896
+ def initialize: (
3897
+ entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3898
+ key: String,
3899
+ value: String
3900
+ ) -> void
3901
+
3902
+ def to_hash: -> {
3903
+ entity: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
3904
+ key: String,
3905
+ value: String
3906
+ }
3907
+
3908
+ type entity =
3909
+ :Commit | :ContractCredit | :ContractCreditOrCommit
3910
+
3911
+ module Entity
3912
+ extend MetronomeSDK::Internal::Type::Enum
3913
+
3914
+ COMMIT: :Commit
3915
+ CONTRACT_CREDIT: :ContractCredit
3916
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
3917
+
3918
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
3919
+ end
3920
+ end
3921
+ end
3675
3922
  end
3676
3923
  end
3677
3924
 
@@ -4045,14 +4292,41 @@ module MetronomeSDK
4045
4292
  threshold_amount: Float
4046
4293
  }
4047
4294
 
4048
- type discount_configuration = { payment_fraction: Float? }
4295
+ type discount_configuration =
4296
+ {
4297
+ cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4298
+ payment_fraction: Float?
4299
+ }
4049
4300
 
4050
4301
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
4302
+ attr_accessor cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?
4303
+
4051
4304
  attr_accessor payment_fraction: Float?
4052
4305
 
4053
- def initialize: (?payment_fraction: Float?) -> void
4306
+ def initialize: (
4307
+ ?cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4308
+ ?payment_fraction: Float?
4309
+ ) -> void
4310
+
4311
+ def to_hash: -> {
4312
+ cap: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap?,
4313
+ payment_fraction: Float?
4314
+ }
4315
+
4316
+ type cap = { amount: Float, spend_tracker_alias: String }
4054
4317
 
4055
- def to_hash: -> { payment_fraction: Float? }
4318
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
4319
+ attr_accessor amount: Float
4320
+
4321
+ attr_accessor spend_tracker_alias: String
4322
+
4323
+ def initialize: (
4324
+ amount: Float,
4325
+ spend_tracker_alias: String
4326
+ ) -> void
4327
+
4328
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
4329
+ end
4056
4330
  end
4057
4331
  end
4058
4332