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
@@ -5,7 +5,6 @@ module MetronomeSDK
5
5
  {
6
6
  name: String,
7
7
  aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias],
8
- billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date,
9
8
  billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider,
10
9
  commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit],
11
10
  contract_name: String,
@@ -23,6 +22,7 @@ module MetronomeSDK
23
22
  scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge],
24
23
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices,
25
24
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
25
+ spend_trackers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker],
26
26
  subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription],
27
27
  uniqueness_key: String,
28
28
  usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule
@@ -41,12 +41,6 @@ module MetronomeSDK
41
41
  ::Array[MetronomeSDK::V1::PackageCreateParams::Alias]
42
42
  ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::Alias]
43
43
 
44
- attr_reader billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date?
45
-
46
- def billing_anchor_date=: (
47
- MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date
48
- ) -> MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date
49
-
50
44
  attr_reader billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider?
51
45
 
52
46
  def billing_provider=: (
@@ -141,6 +135,12 @@ module MetronomeSDK
141
135
  MetronomeSDK::SpendThresholdConfiguration
142
136
  ) -> MetronomeSDK::SpendThresholdConfiguration
143
137
 
138
+ attr_reader spend_trackers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker]?
139
+
140
+ def spend_trackers=: (
141
+ ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker]
142
+ ) -> ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker]
143
+
144
144
  attr_reader subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription]?
145
145
 
146
146
  def subscriptions=: (
@@ -160,7 +160,6 @@ module MetronomeSDK
160
160
  def initialize: (
161
161
  name: String,
162
162
  ?aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias],
163
- ?billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date,
164
163
  ?billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider,
165
164
  ?commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit],
166
165
  ?contract_name: String,
@@ -178,6 +177,7 @@ module MetronomeSDK
178
177
  ?scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge],
179
178
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices,
180
179
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
180
+ ?spend_trackers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker],
181
181
  ?subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription],
182
182
  ?uniqueness_key: String,
183
183
  ?usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule,
@@ -187,7 +187,6 @@ module MetronomeSDK
187
187
  def to_hash: -> {
188
188
  name: String,
189
189
  aliases: ::Array[MetronomeSDK::V1::PackageCreateParams::Alias],
190
- billing_anchor_date: MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date,
191
190
  billing_provider: MetronomeSDK::Models::V1::PackageCreateParams::billing_provider,
192
191
  commits: ::Array[MetronomeSDK::V1::PackageCreateParams::Commit],
193
192
  contract_name: String,
@@ -205,6 +204,7 @@ module MetronomeSDK
205
204
  scheduled_charges: ::Array[MetronomeSDK::V1::PackageCreateParams::ScheduledCharge],
206
205
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices,
207
206
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
207
+ spend_trackers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker],
208
208
  subscriptions: ::Array[MetronomeSDK::V1::PackageCreateParams::Subscription],
209
209
  uniqueness_key: String,
210
210
  usage_statement_schedule: MetronomeSDK::V1::PackageCreateParams::UsageStatementSchedule,
@@ -237,17 +237,6 @@ module MetronomeSDK
237
237
  }
238
238
  end
239
239
 
240
- type billing_anchor_date = :contract_start_date | :first_billing_period
241
-
242
- module BillingAnchorDate
243
- extend MetronomeSDK::Internal::Type::Enum
244
-
245
- CONTRACT_START_DATE: :contract_start_date
246
- FIRST_BILLING_PERIOD: :first_billing_period
247
-
248
- def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::billing_anchor_date]
249
- end
250
-
251
240
  type billing_provider =
252
241
  :aws_marketplace
253
242
  | :azure_marketplace
@@ -2121,6 +2110,112 @@ module MetronomeSDK
2121
2110
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::scheduled_charges_on_usage_invoices]
2122
2111
  end
2123
2112
 
2113
+ type spend_tracker =
2114
+ {
2115
+ alias_: String,
2116
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier],
2117
+ credit_type_id: String,
2118
+ reset_frequency: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::reset_frequency
2119
+ }
2120
+
2121
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2122
+ attr_accessor alias_: String
2123
+
2124
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier]
2125
+
2126
+ attr_accessor credit_type_id: String
2127
+
2128
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::reset_frequency
2129
+
2130
+ def initialize: (
2131
+ alias_: String,
2132
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier],
2133
+ credit_type_id: String,
2134
+ reset_frequency: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::reset_frequency
2135
+ ) -> void
2136
+
2137
+ def to_hash: -> {
2138
+ alias_: String,
2139
+ applicable_spend_specifiers: ::Array[MetronomeSDK::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier],
2140
+ credit_type_id: String,
2141
+ reset_frequency: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::reset_frequency
2142
+ }
2143
+
2144
+ type applicable_spend_specifier =
2145
+ {
2146
+ sources: ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2147
+ spend_type: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2148
+ discounted: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2149
+ }
2150
+
2151
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2152
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::source]
2153
+
2154
+ attr_accessor spend_type: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type
2155
+
2156
+ attr_reader discounted: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted?
2157
+
2158
+ def discounted=: (
2159
+ MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2160
+ ) -> MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2161
+
2162
+ def initialize: (
2163
+ sources: ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2164
+ spend_type: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2165
+ ?discounted: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2166
+ ) -> void
2167
+
2168
+ def to_hash: -> {
2169
+ sources: ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::source],
2170
+ spend_type: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type,
2171
+ discounted: MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted
2172
+ }
2173
+
2174
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2175
+
2176
+ module Source
2177
+ extend MetronomeSDK::Internal::Type::Enum
2178
+
2179
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2180
+ MANUAL: :MANUAL
2181
+
2182
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::source]
2183
+ end
2184
+
2185
+ type spend_type = :COMMIT_PURCHASE
2186
+
2187
+ module SpendType
2188
+ extend MetronomeSDK::Internal::Type::Enum
2189
+
2190
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2191
+
2192
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::spend_type]
2193
+ end
2194
+
2195
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2196
+
2197
+ module Discounted
2198
+ extend MetronomeSDK::Internal::Type::Enum
2199
+
2200
+ ANY: :ANY
2201
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2202
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2203
+
2204
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::ApplicableSpendSpecifier::discounted]
2205
+ end
2206
+ end
2207
+
2208
+ type reset_frequency = :BILLING_PERIOD
2209
+
2210
+ module ResetFrequency
2211
+ extend MetronomeSDK::Internal::Type::Enum
2212
+
2213
+ BILLING_PERIOD: :BILLING_PERIOD
2214
+
2215
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageCreateParams::SpendTracker::reset_frequency]
2216
+ end
2217
+ end
2218
+
2124
2219
  type subscription =
2125
2220
  {
2126
2221
  collection_schedule: MetronomeSDK::Models::V1::PackageCreateParams::Subscription::collection_schedule,
@@ -26,6 +26,7 @@ module MetronomeSDK
26
26
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit],
27
27
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices,
28
28
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
29
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker],
29
30
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription],
30
31
  uniqueness_key: String
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::Models::V1::PackageListResponse::SpendTracker]?
136
+
137
+ def spend_trackers=: (
138
+ ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker]
139
+ ) -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker]
140
+
134
141
  attr_reader subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription]?
135
142
 
136
143
  def subscriptions=: (
@@ -165,6 +172,7 @@ module MetronomeSDK
165
172
  ?recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit],
166
173
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices,
167
174
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
175
+ ?spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker],
168
176
  ?subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription],
169
177
  ?uniqueness_key: String
170
178
  ) -> void
@@ -193,6 +201,7 @@ module MetronomeSDK
193
201
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageListResponse::RecurringCredit],
194
202
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices,
195
203
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
204
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker],
196
205
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageListResponse::Subscription],
197
206
  uniqueness_key: String
198
207
  }
@@ -2166,6 +2175,112 @@ module MetronomeSDK
2166
2175
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::scheduled_charges_on_usage_invoices]
2167
2176
  end
2168
2177
 
2178
+ type spend_tracker =
2179
+ {
2180
+ alias_: String,
2181
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier],
2182
+ credit_type_id: String,
2183
+ reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2184
+ }
2185
+
2186
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2187
+ attr_accessor alias_: String
2188
+
2189
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier]
2190
+
2191
+ attr_accessor credit_type_id: String
2192
+
2193
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2194
+
2195
+ def initialize: (
2196
+ alias_: String,
2197
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier],
2198
+ credit_type_id: String,
2199
+ reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2200
+ ) -> void
2201
+
2202
+ def to_hash: -> {
2203
+ alias_: String,
2204
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier],
2205
+ credit_type_id: String,
2206
+ reset_frequency: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency
2207
+ }
2208
+
2209
+ type applicable_spend_specifier =
2210
+ {
2211
+ sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source],
2212
+ spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type,
2213
+ discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2214
+ }
2215
+
2216
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2217
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source]
2218
+
2219
+ attr_accessor spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type
2220
+
2221
+ attr_reader discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted?
2222
+
2223
+ def discounted=: (
2224
+ MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2225
+ ) -> MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2226
+
2227
+ def initialize: (
2228
+ sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source],
2229
+ spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type,
2230
+ ?discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2231
+ ) -> void
2232
+
2233
+ def to_hash: -> {
2234
+ sources: ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source],
2235
+ spend_type: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type,
2236
+ discounted: MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted
2237
+ }
2238
+
2239
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2240
+
2241
+ module Source
2242
+ extend MetronomeSDK::Internal::Type::Enum
2243
+
2244
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2245
+ MANUAL: :MANUAL
2246
+
2247
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::source]
2248
+ end
2249
+
2250
+ type spend_type = :COMMIT_PURCHASE
2251
+
2252
+ module SpendType
2253
+ extend MetronomeSDK::Internal::Type::Enum
2254
+
2255
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2256
+
2257
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::spend_type]
2258
+ end
2259
+
2260
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2261
+
2262
+ module Discounted
2263
+ extend MetronomeSDK::Internal::Type::Enum
2264
+
2265
+ ANY: :ANY
2266
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2267
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2268
+
2269
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::ApplicableSpendSpecifier::discounted]
2270
+ end
2271
+ end
2272
+
2273
+ type reset_frequency = :BILLING_PERIOD
2274
+
2275
+ module ResetFrequency
2276
+ extend MetronomeSDK::Internal::Type::Enum
2277
+
2278
+ BILLING_PERIOD: :BILLING_PERIOD
2279
+
2280
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageListResponse::SpendTracker::reset_frequency]
2281
+ end
2282
+ end
2283
+
2169
2284
  type subscription =
2170
2285
  {
2171
2286
  collection_schedule: MetronomeSDK::Models::V1::PackageListResponse::Subscription::collection_schedule,
@@ -40,6 +40,7 @@ module MetronomeSDK
40
40
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit],
41
41
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
42
42
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
43
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker],
43
44
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription],
44
45
  uniqueness_key: String
45
46
  }
@@ -145,6 +146,12 @@ module MetronomeSDK
145
146
  MetronomeSDK::SpendThresholdConfiguration
146
147
  ) -> MetronomeSDK::SpendThresholdConfiguration
147
148
 
149
+ attr_reader spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker]?
150
+
151
+ def spend_trackers=: (
152
+ ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker]
153
+ ) -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker]
154
+
148
155
  attr_reader subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription]?
149
156
 
150
157
  def subscriptions=: (
@@ -179,6 +186,7 @@ module MetronomeSDK
179
186
  ?recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit],
180
187
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
181
188
  ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
189
+ ?spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker],
182
190
  ?subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription],
183
191
  ?uniqueness_key: String
184
192
  ) -> void
@@ -207,6 +215,7 @@ module MetronomeSDK
207
215
  recurring_credits: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::RecurringCredit],
208
216
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
209
217
  spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
218
+ spend_trackers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker],
210
219
  subscriptions: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription],
211
220
  uniqueness_key: String
212
221
  }
@@ -2189,6 +2198,112 @@ module MetronomeSDK
2189
2198
  def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::scheduled_charges_on_usage_invoices]
2190
2199
  end
2191
2200
 
2201
+ type spend_tracker =
2202
+ {
2203
+ alias_: String,
2204
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier],
2205
+ credit_type_id: String,
2206
+ reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2207
+ }
2208
+
2209
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
2210
+ attr_accessor alias_: String
2211
+
2212
+ attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier]
2213
+
2214
+ attr_accessor credit_type_id: String
2215
+
2216
+ attr_accessor reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2217
+
2218
+ def initialize: (
2219
+ alias_: String,
2220
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier],
2221
+ credit_type_id: String,
2222
+ reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2223
+ ) -> void
2224
+
2225
+ def to_hash: -> {
2226
+ alias_: String,
2227
+ applicable_spend_specifiers: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier],
2228
+ credit_type_id: String,
2229
+ reset_frequency: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency
2230
+ }
2231
+
2232
+ type applicable_spend_specifier =
2233
+ {
2234
+ sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source],
2235
+ spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type,
2236
+ discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2237
+ }
2238
+
2239
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
2240
+ attr_accessor sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source]
2241
+
2242
+ attr_accessor spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type
2243
+
2244
+ attr_reader discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted?
2245
+
2246
+ def discounted=: (
2247
+ MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2248
+ ) -> MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2249
+
2250
+ def initialize: (
2251
+ sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source],
2252
+ spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type,
2253
+ ?discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2254
+ ) -> void
2255
+
2256
+ def to_hash: -> {
2257
+ sources: ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source],
2258
+ spend_type: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type,
2259
+ discounted: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted
2260
+ }
2261
+
2262
+ type source = :THRESHOLD_RECHARGE | :MANUAL
2263
+
2264
+ module Source
2265
+ extend MetronomeSDK::Internal::Type::Enum
2266
+
2267
+ THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
2268
+ MANUAL: :MANUAL
2269
+
2270
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::source]
2271
+ end
2272
+
2273
+ type spend_type = :COMMIT_PURCHASE
2274
+
2275
+ module SpendType
2276
+ extend MetronomeSDK::Internal::Type::Enum
2277
+
2278
+ COMMIT_PURCHASE: :COMMIT_PURCHASE
2279
+
2280
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::spend_type]
2281
+ end
2282
+
2283
+ type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
2284
+
2285
+ module Discounted
2286
+ extend MetronomeSDK::Internal::Type::Enum
2287
+
2288
+ ANY: :ANY
2289
+ DISCOUNTED_ONLY: :DISCOUNTED_ONLY
2290
+ UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
2291
+
2292
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::ApplicableSpendSpecifier::discounted]
2293
+ end
2294
+ end
2295
+
2296
+ type reset_frequency = :BILLING_PERIOD
2297
+
2298
+ module ResetFrequency
2299
+ extend MetronomeSDK::Internal::Type::Enum
2300
+
2301
+ BILLING_PERIOD: :BILLING_PERIOD
2302
+
2303
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::SpendTracker::reset_frequency]
2304
+ end
2305
+ end
2306
+
2192
2307
  type subscription =
2193
2308
  {
2194
2309
  collection_schedule: MetronomeSDK::Models::V1::PackageRetrieveResponse::Data::Subscription::collection_schedule,