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
@@ -26,6 +26,7 @@ module MetronomeSDK
26
26
  salesforce_opportunity_id: String,
27
27
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices,
28
28
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
29
+ spend_trackers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker],
29
30
  total_contract_value: Float,
30
31
  usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
31
32
  }
@@ -131,6 +132,12 @@ module MetronomeSDK
131
132
  MetronomeSDK::SpendThresholdConfiguration
132
133
  ) -> MetronomeSDK::SpendThresholdConfiguration
133
134
 
135
+ attr_reader spend_trackers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker]?
136
+
137
+ def spend_trackers=: (
138
+ ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker]
139
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker]
140
+
134
141
  attr_reader total_contract_value: Float?
135
142
 
136
143
  def total_contract_value=: (Float) -> Float
@@ -166,6 +173,7 @@ module MetronomeSDK
166
173
  ?salesforce_opportunity_id: String,
167
174
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices,
168
175
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
176
+ ?spend_trackers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker],
169
177
  ?total_contract_value: Float,
170
178
  ?usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
171
179
  ) -> void
@@ -195,6 +203,7 @@ module MetronomeSDK
195
203
  salesforce_opportunity_id: String,
196
204
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices,
197
205
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
206
+ spend_trackers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker],
198
207
  total_contract_value: Float,
199
208
  usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
200
209
  }
@@ -962,6 +971,148 @@ module MetronomeSDK
962
971
  def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices]
963
972
  end
964
973
 
974
+ type spend_tracker =
975
+ {
976
+ alias_: String,
977
+ applicable_spend_specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier],
978
+ credit_type_id: String,
979
+ reset_frequency: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::reset_frequency,
980
+ accumulated_spend: MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
981
+ }
982
+
983
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
984
+ attr_accessor alias_: String
985
+
986
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier]
987
+
988
+ attr_accessor credit_type_id: String
989
+
990
+ attr_accessor reset_frequency: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::reset_frequency
991
+
992
+ attr_reader accumulated_spend: MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend?
993
+
994
+ def accumulated_spend=: (
995
+ MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
996
+ ) -> MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
997
+
998
+ def initialize: (
999
+ alias_: String,
1000
+ applicable_spend_specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier],
1001
+ credit_type_id: String,
1002
+ reset_frequency: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::reset_frequency,
1003
+ ?accumulated_spend: MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
1004
+ ) -> void
1005
+
1006
+ def to_hash: -> {
1007
+ alias_: String,
1008
+ applicable_spend_specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier],
1009
+ credit_type_id: String,
1010
+ reset_frequency: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::reset_frequency,
1011
+ accumulated_spend: MetronomeSDK::ContractWithoutAmendments::SpendTracker::AccumulatedSpend
1012
+ }
1013
+
1014
+ type applicable_spend_specifier =
1015
+ {
1016
+ sources: ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::source],
1017
+ spend_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::spend_type,
1018
+ discounted: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted
1019
+ }
1020
+
1021
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
1022
+ attr_accessor sources: ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::source]
1023
+
1024
+ attr_accessor spend_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::spend_type
1025
+
1026
+ attr_reader discounted: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted?
1027
+
1028
+ def discounted=: (
1029
+ MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted
1030
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted
1031
+
1032
+ def initialize: (
1033
+ sources: ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::source],
1034
+ spend_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::spend_type,
1035
+ ?discounted: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted
1036
+ ) -> void
1037
+
1038
+ def to_hash: -> {
1039
+ sources: ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::source],
1040
+ spend_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::spend_type,
1041
+ discounted: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted
1042
+ }
1043
+
1044
+ type source = :THRESHOLD_RECHARGE | :MANUAL
1045
+
1046
+ module Source
1047
+ extend MetronomeSDK::Internal::Type::Enum
1048
+
1049
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
1050
+ MANUAL: :MANUAL
1051
+
1052
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::source]
1053
+ end
1054
+
1055
+ type spend_type = :COMMIT_PURCHASE
1056
+
1057
+ module SpendType
1058
+ extend MetronomeSDK::Internal::Type::Enum
1059
+
1060
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
1061
+
1062
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::spend_type]
1063
+ end
1064
+
1065
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
1066
+
1067
+ module Discounted
1068
+ extend MetronomeSDK::Internal::Type::Enum
1069
+
1070
+ ANY: :ANY
1071
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
1072
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
1073
+
1074
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::discounted]
1075
+ end
1076
+ end
1077
+
1078
+ type reset_frequency = :BILLING_PERIOD
1079
+
1080
+ module ResetFrequency
1081
+ extend MetronomeSDK::Internal::Type::Enum
1082
+
1083
+ BILLING_PERIOD: :BILLING_PERIOD
1084
+
1085
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::reset_frequency]
1086
+ end
1087
+
1088
+ type accumulated_spend =
1089
+ {
1090
+ amount: Float,
1091
+ period_ending_before: Time,
1092
+ period_starting_at: Time
1093
+ }
1094
+
1095
+ class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
1096
+ attr_accessor amount: Float
1097
+
1098
+ attr_accessor period_ending_before: Time
1099
+
1100
+ attr_accessor period_starting_at: Time
1101
+
1102
+ def initialize: (
1103
+ amount: Float,
1104
+ period_ending_before: Time,
1105
+ period_starting_at: Time
1106
+ ) -> void
1107
+
1108
+ def to_hash: -> {
1109
+ amount: Float,
1110
+ period_ending_before: Time,
1111
+ period_starting_at: Time
1112
+ }
1113
+ end
1114
+ end
1115
+
965
1116
  type usage_filter =
966
1117
  {
967
1118
  current: MetronomeSDK::BaseUsageFilter?,
@@ -8,7 +8,8 @@ module MetronomeSDK
8
8
  recharge_to_amount: Float,
9
9
  threshold_amount: Float,
10
10
  custom_credit_type_id: String,
11
- discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration
11
+ discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration,
12
+ threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]
12
13
  }
13
14
 
14
15
  class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -32,6 +33,12 @@ module MetronomeSDK
32
33
  MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration
33
34
  ) -> MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration
34
35
 
36
+ attr_reader threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]?
37
+
38
+ def threshold_balance_specifiers=: (
39
+ ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]
40
+ ) -> ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]
41
+
35
42
  def initialize: (
36
43
  commit: MetronomeSDK::PrepaidBalanceThresholdConfiguration::Commit,
37
44
  is_enabled: bool,
@@ -39,7 +46,8 @@ module MetronomeSDK
39
46
  recharge_to_amount: Float,
40
47
  threshold_amount: Float,
41
48
  ?custom_credit_type_id: String,
42
- ?discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration
49
+ ?discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration,
50
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]
43
51
  ) -> void
44
52
 
45
53
  def to_hash: -> {
@@ -49,7 +57,8 @@ module MetronomeSDK
49
57
  recharge_to_amount: Float,
50
58
  threshold_amount: Float,
51
59
  custom_credit_type_id: String,
52
- discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration
60
+ discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration,
61
+ threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier]
53
62
  }
54
63
 
55
64
  type commit =
@@ -87,14 +96,115 @@ module MetronomeSDK
87
96
  }
88
97
  end
89
98
 
90
- type discount_configuration = { payment_fraction: Float }
99
+ type discount_configuration =
100
+ {
101
+ payment_fraction: Float,
102
+ cap: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
103
+ }
91
104
 
92
105
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
93
106
  attr_accessor payment_fraction: Float
94
107
 
95
- def initialize: (payment_fraction: Float) -> void
108
+ attr_reader cap: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap?
109
+
110
+ def cap=: (
111
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
112
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
113
+
114
+ def initialize: (
115
+ payment_fraction: Float,
116
+ ?cap: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
117
+ ) -> void
118
+
119
+ def to_hash: -> {
120
+ payment_fraction: Float,
121
+ cap: MetronomeSDK::PrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
122
+ }
123
+
124
+ type cap = { amount: Float, spend_tracker_alias: String }
125
+
126
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
127
+ attr_accessor amount: Float
128
+
129
+ attr_accessor spend_tracker_alias: String
130
+
131
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
132
+
133
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
134
+ end
135
+ end
136
+
137
+ type threshold_balance_specifier =
138
+ {
139
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
140
+ }
141
+
142
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
143
+ attr_accessor exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
144
+
145
+ def initialize: (
146
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
147
+ ) -> void
148
+
149
+ def to_hash: -> {
150
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude]
151
+ }
152
+
153
+ type exclude =
154
+ {
155
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
156
+ }
157
+
158
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
159
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
160
+
161
+ def initialize: (
162
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
163
+ ) -> void
164
+
165
+ def to_hash: -> {
166
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
167
+ }
168
+
169
+ type custom_field_filter =
170
+ {
171
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
172
+ key: String,
173
+ value: String
174
+ }
175
+
176
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
177
+ attr_accessor entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
178
+
179
+ attr_accessor key: String
180
+
181
+ attr_accessor value: String
182
+
183
+ def initialize: (
184
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
185
+ key: String,
186
+ value: String
187
+ ) -> void
188
+
189
+ def to_hash: -> {
190
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
191
+ key: String,
192
+ value: String
193
+ }
194
+
195
+ type entity = :Commit | :ContractCredit | :ContractCreditOrCommit
196
+
197
+ module Entity
198
+ extend MetronomeSDK::Internal::Type::Enum
199
+
200
+ COMMIT: :Commit
201
+ CONTRACT_CREDIT: :ContractCredit
202
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
96
203
 
97
- def to_hash: -> { payment_fraction: Float }
204
+ def self?.values: -> ::Array[MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
205
+ end
206
+ end
207
+ end
98
208
  end
99
209
  end
100
210
  end
@@ -8,7 +8,8 @@ module MetronomeSDK
8
8
  recharge_to_amount: Float,
9
9
  threshold_amount: Float,
10
10
  custom_credit_type_id: String,
11
- discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
11
+ discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
12
+ threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
12
13
  }
13
14
 
14
15
  class PrepaidBalanceThresholdConfigurationV2 < MetronomeSDK::Internal::Type::BaseModel
@@ -32,6 +33,12 @@ module MetronomeSDK
32
33
  MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
33
34
  ) -> MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
34
35
 
36
+ attr_reader threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]?
37
+
38
+ def threshold_balance_specifiers=: (
39
+ ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
40
+ ) -> ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
41
+
35
42
  def initialize: (
36
43
  commit: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit,
37
44
  is_enabled: bool,
@@ -39,7 +46,8 @@ module MetronomeSDK
39
46
  recharge_to_amount: Float,
40
47
  threshold_amount: Float,
41
48
  ?custom_credit_type_id: String,
42
- ?discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
49
+ ?discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
50
+ ?threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
43
51
  ) -> void
44
52
 
45
53
  def to_hash: -> {
@@ -49,7 +57,8 @@ module MetronomeSDK
49
57
  recharge_to_amount: Float,
50
58
  threshold_amount: Float,
51
59
  custom_credit_type_id: String,
52
- discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration
60
+ discount_configuration: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration,
61
+ threshold_balance_specifiers: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier]
53
62
  }
54
63
 
55
64
  type commit =
@@ -87,14 +96,115 @@ module MetronomeSDK
87
96
  }
88
97
  end
89
98
 
90
- type discount_configuration = { payment_fraction: Float }
99
+ type discount_configuration =
100
+ {
101
+ payment_fraction: Float,
102
+ cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
103
+ }
91
104
 
92
105
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
93
106
  attr_accessor payment_fraction: Float
94
107
 
95
- def initialize: (payment_fraction: Float) -> void
108
+ attr_reader cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap?
109
+
110
+ def cap=: (
111
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
112
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
113
+
114
+ def initialize: (
115
+ payment_fraction: Float,
116
+ ?cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
117
+ ) -> void
118
+
119
+ def to_hash: -> {
120
+ payment_fraction: Float,
121
+ cap: MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::DiscountConfiguration::Cap
122
+ }
123
+
124
+ type cap = { amount: Float, spend_tracker_alias: String }
125
+
126
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
127
+ attr_accessor amount: Float
128
+
129
+ attr_accessor spend_tracker_alias: String
130
+
131
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
132
+
133
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
134
+ end
135
+ end
136
+
137
+ type threshold_balance_specifier =
138
+ {
139
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
140
+ }
141
+
142
+ class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
143
+ attr_accessor exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
144
+
145
+ def initialize: (
146
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
147
+ ) -> void
148
+
149
+ def to_hash: -> {
150
+ exclude: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude]
151
+ }
152
+
153
+ type exclude =
154
+ {
155
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
156
+ }
157
+
158
+ class Exclude < MetronomeSDK::Internal::Type::BaseModel
159
+ attr_accessor custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
160
+
161
+ def initialize: (
162
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
163
+ ) -> void
164
+
165
+ def to_hash: -> {
166
+ custom_field_filters: ::Array[MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter]
167
+ }
168
+
169
+ type custom_field_filter =
170
+ {
171
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
172
+ key: String,
173
+ value: String
174
+ }
175
+
176
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
177
+ attr_accessor entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity
178
+
179
+ attr_accessor key: String
180
+
181
+ attr_accessor value: String
182
+
183
+ def initialize: (
184
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
185
+ key: String,
186
+ value: String
187
+ ) -> void
188
+
189
+ def to_hash: -> {
190
+ entity: MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity,
191
+ key: String,
192
+ value: String
193
+ }
194
+
195
+ type entity = :Commit | :ContractCredit | :ContractCreditOrCommit
196
+
197
+ module Entity
198
+ extend MetronomeSDK::Internal::Type::Enum
199
+
200
+ COMMIT: :Commit
201
+ CONTRACT_CREDIT: :ContractCredit
202
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
96
203
 
97
- def to_hash: -> { payment_fraction: Float }
204
+ def self?.values: -> ::Array[MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::entity]
205
+ end
206
+ end
207
+ end
98
208
  end
99
209
  end
100
210
  end
@@ -40,14 +40,42 @@ module MetronomeSDK
40
40
  discount_configuration: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration
41
41
  }
42
42
 
43
- type discount_configuration = { payment_fraction: Float }
43
+ type discount_configuration =
44
+ {
45
+ payment_fraction: Float,
46
+ cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
47
+ }
44
48
 
45
49
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
46
50
  attr_accessor payment_fraction: Float
47
51
 
48
- def initialize: (payment_fraction: Float) -> void
52
+ attr_reader cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap?
49
53
 
50
- def to_hash: -> { payment_fraction: Float }
54
+ def cap=: (
55
+ MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
56
+ ) -> MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
57
+
58
+ def initialize: (
59
+ payment_fraction: Float,
60
+ ?cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ payment_fraction: Float,
65
+ cap: MetronomeSDK::SpendThresholdConfiguration::DiscountConfiguration::Cap
66
+ }
67
+
68
+ type cap = { amount: Float, spend_tracker_alias: String }
69
+
70
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
71
+ attr_accessor amount: Float
72
+
73
+ attr_accessor spend_tracker_alias: String
74
+
75
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
76
+
77
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
78
+ end
51
79
  end
52
80
  end
53
81
  end
@@ -40,14 +40,42 @@ module MetronomeSDK
40
40
  discount_configuration: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration
41
41
  }
42
42
 
43
- type discount_configuration = { payment_fraction: Float }
43
+ type discount_configuration =
44
+ {
45
+ payment_fraction: Float,
46
+ cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
47
+ }
44
48
 
45
49
  class DiscountConfiguration < MetronomeSDK::Internal::Type::BaseModel
46
50
  attr_accessor payment_fraction: Float
47
51
 
48
- def initialize: (payment_fraction: Float) -> void
52
+ attr_reader cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap?
49
53
 
50
- def to_hash: -> { payment_fraction: Float }
54
+ def cap=: (
55
+ MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
56
+ ) -> MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
57
+
58
+ def initialize: (
59
+ payment_fraction: Float,
60
+ ?cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ payment_fraction: Float,
65
+ cap: MetronomeSDK::SpendThresholdConfigurationV2::DiscountConfiguration::Cap
66
+ }
67
+
68
+ type cap = { amount: Float, spend_tracker_alias: String }
69
+
70
+ class Cap < MetronomeSDK::Internal::Type::BaseModel
71
+ attr_accessor amount: Float
72
+
73
+ attr_accessor spend_tracker_alias: String
74
+
75
+ def initialize: (amount: Float, spend_tracker_alias: String) -> void
76
+
77
+ def to_hash: -> { amount: Float, spend_tracker_alias: String }
78
+ end
51
79
  end
52
80
  end
53
81
  end
@@ -181,7 +181,8 @@ module MetronomeSDK
181
181
  value: String
182
182
  }
183
183
 
184
- type entity = :Contract | :Commit | :ContractCredit
184
+ type entity =
185
+ :Contract | :Commit | :ContractCredit | :ContractCreditOrCommit
185
186
 
186
187
  module Entity
187
188
  extend MetronomeSDK::Internal::Type::Enum
@@ -189,6 +190,7 @@ module MetronomeSDK
189
190
  CONTRACT: :Contract
190
191
  COMMIT: :Commit
191
192
  CONTRACT_CREDIT: :ContractCredit
193
+ CONTRACT_CREDIT_OR_COMMIT: :ContractCreditOrCommit
192
194
 
193
195
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::AlertCreateParams::CustomFieldFilter::entity]
194
196
  end