metronome-sdk 3.6.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  5. data/lib/metronome_sdk/models/commit.rb +27 -1
  6. data/lib/metronome_sdk/models/contract.rb +140 -1
  7. data/lib/metronome_sdk/models/contract_v2.rb +168 -2
  8. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  9. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  11. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  12. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  13. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -1
  14. data/lib/metronome_sdk/models/v1/contract_create_params.rb +146 -2
  15. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  16. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -1
  17. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  18. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  19. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  20. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  21. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +145 -3
  22. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  23. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  24. data/lib/metronome_sdk/resources/v1.rb +0 -4
  25. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/lib/metronome_sdk.rb +0 -8
  28. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  29. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  30. data/rbi/metronome_sdk/models/contract_v2.rbi +409 -0
  31. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  32. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  33. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  34. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  35. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  36. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -0
  37. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +368 -0
  38. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  39. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -0
  40. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  41. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  42. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  43. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  44. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +359 -11
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +7 -0
  46. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  47. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  49. data/sig/metronome_sdk/models/commit.rbs +19 -0
  50. data/sig/metronome_sdk/models/contract.rbs +151 -0
  51. data/sig/metronome_sdk/models/contract_v2.rbs +170 -0
  52. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  53. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  54. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  55. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  56. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  57. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -0
  58. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -0
  59. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  60. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -0
  61. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  62. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  63. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  64. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  65. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +142 -9
  66. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  68. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  69. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  70. metadata +2 -26
  71. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  72. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  73. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  74. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  75. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  76. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  77. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  78. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  79. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  80. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  81. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  82. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  83. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  84. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  85. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  86. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  87. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  88. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  89. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  90. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  91. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  92. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  93. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  94. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -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
@@ -142,6 +142,7 @@ module MetronomeSDK
142
142
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
143
143
  rollover_fraction: Float,
144
144
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
145
+ spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
145
146
  temporary_id: String
146
147
  }
147
148
 
@@ -216,6 +217,12 @@ module MetronomeSDK
216
217
  ::Array[MetronomeSDK::CommitSpecifierInput]
217
218
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
218
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
+
219
226
  attr_reader temporary_id: String?
220
227
 
221
228
  def temporary_id=: (String) -> String
@@ -237,6 +244,7 @@ module MetronomeSDK
237
244
  ?rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
238
245
  ?rollover_fraction: Float,
239
246
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
247
+ ?spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
240
248
  ?temporary_id: String
241
249
  ) -> void
242
250
 
@@ -257,6 +265,7 @@ module MetronomeSDK
257
265
  rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type,
258
266
  rollover_fraction: Float,
259
267
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
268
+ spend_tracker_attributes: MetronomeSDK::V1::ContractAmendParams::Commit::SpendTrackerAttributes,
260
269
  temporary_id: String
261
270
  }
262
271
 
@@ -488,6 +497,16 @@ module MetronomeSDK
488
497
 
489
498
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Commit::rate_type]
490
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
491
510
  end
492
511
 
493
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,
@@ -380,6 +389,7 @@ module MetronomeSDK
380
389
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
381
390
  rollover_fraction: Float,
382
391
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
392
+ spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
383
393
  temporary_id: String
384
394
  }
385
395
 
@@ -454,6 +464,12 @@ module MetronomeSDK
454
464
  ::Array[MetronomeSDK::CommitSpecifierInput]
455
465
  ) -> ::Array[MetronomeSDK::CommitSpecifierInput]
456
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
+
457
473
  attr_reader temporary_id: String?
458
474
 
459
475
  def temporary_id=: (String) -> String
@@ -475,6 +491,7 @@ module MetronomeSDK
475
491
  ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
476
492
  ?rollover_fraction: Float,
477
493
  ?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
494
+ ?spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
478
495
  ?temporary_id: String
479
496
  ) -> void
480
497
 
@@ -495,6 +512,7 @@ module MetronomeSDK
495
512
  rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
496
513
  rollover_fraction: Float,
497
514
  specifiers: ::Array[MetronomeSDK::CommitSpecifierInput],
515
+ spend_tracker_attributes: MetronomeSDK::V1::ContractCreateParams::Commit::SpendTrackerAttributes,
498
516
  temporary_id: String
499
517
  }
500
518
 
@@ -726,6 +744,16 @@ module MetronomeSDK
726
744
 
727
745
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type]
728
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
729
757
  end
730
758
 
731
759
  type credit =
@@ -2621,6 +2649,112 @@ module MetronomeSDK
2621
2649
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices]
2622
2650
  end
2623
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
+
2624
2758
  type subscription =
2625
2759
  {
2626
2760
  collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,