metronome-sdk 0.2.0 → 1.0.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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -27,6 +27,7 @@ module MetronomeSDK
27
27
  required :id, String
28
28
 
29
29
  # @!attribute custom_fields
30
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
30
31
  #
31
32
  # @return [Hash{Symbol=>String}]
32
33
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -56,7 +57,7 @@ module MetronomeSDK
56
57
  # @!method initialize(id:, custom_fields:, customer_plan_id:, name:, starting_on:, ending_before: nil)
57
58
  # @param id [String]
58
59
  #
59
- # @param custom_fields [Hash{Symbol=>String}]
60
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
60
61
  #
61
62
  # @param customer_plan_id [String]
62
63
  #
@@ -21,15 +21,19 @@ module MetronomeSDK
21
21
  required :name, String
22
22
 
23
23
  # @!attribute custom_fields
24
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
24
25
  #
25
26
  # @return [Hash{Symbol=>String}, nil]
26
27
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
27
28
 
28
29
  # @!method initialize(id:, description:, name:, custom_fields: nil)
29
30
  # @param id [String]
31
+ #
30
32
  # @param description [String]
33
+ #
31
34
  # @param name [String]
32
- # @param custom_fields [Hash{Symbol=>String}]
35
+ #
36
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
33
37
  end
34
38
  end
35
39
  end
@@ -11,10 +11,7 @@ module MetronomeSDK
11
11
  # @!attribute usage
12
12
  #
13
13
  # @return [Array<MetronomeSDK::Models::V1::UsageIngestParams::Usage>, nil]
14
- optional :usage,
15
- -> {
16
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::UsageIngestParams::Usage]
17
- }
14
+ optional :usage, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::UsageIngestParams::Usage] }
18
15
 
19
16
  # @!method initialize(usage: nil, request_options: {})
20
17
  # @param usage [Array<MetronomeSDK::Models::V1::UsageIngestParams::Usage>]
@@ -38,9 +38,7 @@ module MetronomeSDK
38
38
  #
39
39
  # @return [Array<MetronomeSDK::Models::V1::UsageListParams::BillableMetric>, nil]
40
40
  optional :billable_metrics,
41
- -> {
42
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::UsageListParams::BillableMetric]
43
- }
41
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::UsageListParams::BillableMetric] }
44
42
 
45
43
  # @!attribute customer_ids
46
44
  # A list of Metronome customer IDs to fetch usage for. If absent, usage for all
@@ -5,77 +5,60 @@ module MetronomeSDK
5
5
  module V1
6
6
  # @see MetronomeSDK::Resources::V1::Usage#list
7
7
  class UsageListResponse < MetronomeSDK::Internal::Type::BaseModel
8
- # @!attribute data
8
+ # @!attribute billable_metric_id
9
9
  #
10
- # @return [Array<MetronomeSDK::Models::V1::UsageListResponse::Data>]
11
- required :data,
12
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::UsageListResponse::Data] }
10
+ # @return [String]
11
+ required :billable_metric_id, String
13
12
 
14
- # @!attribute next_page
13
+ # @!attribute billable_metric_name
15
14
  #
16
- # @return [String, nil]
17
- required :next_page, String, nil?: true
15
+ # @return [String]
16
+ required :billable_metric_name, String
18
17
 
19
- # @!method initialize(data:, next_page:)
20
- # @param data [Array<MetronomeSDK::Models::V1::UsageListResponse::Data>]
21
- # @param next_page [String, nil]
22
-
23
- class Data < MetronomeSDK::Internal::Type::BaseModel
24
- # @!attribute billable_metric_id
25
- #
26
- # @return [String]
27
- required :billable_metric_id, String
28
-
29
- # @!attribute billable_metric_name
30
- #
31
- # @return [String]
32
- required :billable_metric_name, String
33
-
34
- # @!attribute customer_id
35
- #
36
- # @return [String]
37
- required :customer_id, String
18
+ # @!attribute customer_id
19
+ #
20
+ # @return [String]
21
+ required :customer_id, String
38
22
 
39
- # @!attribute end_timestamp
40
- #
41
- # @return [Time]
42
- required :end_timestamp, Time
23
+ # @!attribute end_timestamp
24
+ #
25
+ # @return [Time]
26
+ required :end_timestamp, Time
43
27
 
44
- # @!attribute start_timestamp
45
- #
46
- # @return [Time]
47
- required :start_timestamp, Time
28
+ # @!attribute start_timestamp
29
+ #
30
+ # @return [Time]
31
+ required :start_timestamp, Time
48
32
 
49
- # @!attribute value
50
- #
51
- # @return [Float, nil]
52
- required :value, Float, nil?: true
33
+ # @!attribute value
34
+ #
35
+ # @return [Float, nil]
36
+ required :value, Float, nil?: true
53
37
 
54
- # @!attribute groups
55
- # Values will be either a number or null. Null indicates that there were no
56
- # matches for the group_by value.
57
- #
58
- # @return [Hash{Symbol=>Float, nil}, nil]
59
- optional :groups, MetronomeSDK::Internal::Type::HashOf[Float, nil?: true]
38
+ # @!attribute groups
39
+ # Values will be either a number or null. Null indicates that there were no
40
+ # matches for the group_by value.
41
+ #
42
+ # @return [Hash{Symbol=>Float, nil}, nil]
43
+ optional :groups, MetronomeSDK::Internal::Type::HashOf[Float, nil?: true]
60
44
 
61
- # @!method initialize(billable_metric_id:, billable_metric_name:, customer_id:, end_timestamp:, start_timestamp:, value:, groups: nil)
62
- # Some parameter documentations has been truncated, see
63
- # {MetronomeSDK::Models::V1::UsageListResponse::Data} for more details.
64
- #
65
- # @param billable_metric_id [String]
66
- #
67
- # @param billable_metric_name [String]
68
- #
69
- # @param customer_id [String]
70
- #
71
- # @param end_timestamp [Time]
72
- #
73
- # @param start_timestamp [Time]
74
- #
75
- # @param value [Float, nil]
76
- #
77
- # @param groups [Hash{Symbol=>Float, nil}] Values will be either a number or null. Null indicates that there were no matche
78
- end
45
+ # @!method initialize(billable_metric_id:, billable_metric_name:, customer_id:, end_timestamp:, start_timestamp:, value:, groups: nil)
46
+ # Some parameter documentations has been truncated, see
47
+ # {MetronomeSDK::Models::V1::UsageListResponse} for more details.
48
+ #
49
+ # @param billable_metric_id [String]
50
+ #
51
+ # @param billable_metric_name [String]
52
+ #
53
+ # @param customer_id [String]
54
+ #
55
+ # @param end_timestamp [Time]
56
+ #
57
+ # @param start_timestamp [Time]
58
+ #
59
+ # @param value [Float, nil]
60
+ #
61
+ # @param groups [Hash{Symbol=>Float, nil}] Values will be either a number or null. Null indicates that there were no matche
79
62
  end
80
63
  end
81
64
  end
@@ -124,6 +124,7 @@ module MetronomeSDK
124
124
  optional :archived_at, Time
125
125
 
126
126
  # @!attribute custom_fields
127
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
127
128
  #
128
129
  # @return [Hash{Symbol=>String}, nil]
129
130
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -151,8 +152,7 @@ module MetronomeSDK
151
152
  # represents a set of properties used to slice events into distinct buckets.
152
153
  #
153
154
  # @return [Array<Array<String>>, nil]
154
- optional :group_keys,
155
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
155
+ optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
156
156
 
157
157
  # @!attribute property_filters
158
158
  # A list of filters to match events to this billable metric. Each filter defines a
@@ -160,10 +160,7 @@ module MetronomeSDK
160
160
  # billable metric.
161
161
  #
162
162
  # @return [Array<MetronomeSDK::Models::PropertyFilter>, nil]
163
- optional :property_filters,
164
- -> {
165
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter]
166
- }
163
+ optional :property_filters, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter] }
167
164
 
168
165
  # @!attribute sql
169
166
  # The SQL query associated with the billable metric
@@ -190,7 +187,7 @@ module MetronomeSDK
190
187
  #
191
188
  # @param archived_at [Time] RFC 3339 timestamp indicating when the billable metric was archived. If not prov
192
189
  #
193
- # @param custom_fields [Hash{Symbol=>String}]
190
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
194
191
  #
195
192
  # @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
196
193
  #
@@ -52,11 +52,26 @@ module MetronomeSDK
52
52
  # @return [MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule, nil]
53
53
  optional :invoice_schedule, -> { MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule }
54
54
 
55
+ # @!attribute priority
56
+ # If multiple commits are applicable, the one with the lower priority will apply
57
+ # first.
58
+ #
59
+ # @return [Float, nil]
60
+ optional :priority, Float, nil?: true
61
+
55
62
  # @!attribute product_id
56
63
  #
57
64
  # @return [String, nil]
58
65
  optional :product_id, String
59
66
 
67
+ # @!attribute rate_type
68
+ # If provided, updates the commit to use the specified rate type for current and
69
+ # future invoices. Previously finalized invoices will need to be voided and
70
+ # regenerated to reflect the rate type change.
71
+ #
72
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditCommitParams::RateType, nil]
73
+ optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditCommitParams::RateType }
74
+
60
75
  # @!attribute specifiers
61
76
  # List of filters that determine what kind of customer usage draws down a commit
62
77
  # or credit. A customer's usage needs to meet the condition of at least one of the
@@ -65,14 +80,12 @@ module MetronomeSDK
65
80
  # Instead, to target usage by product or product tag, pass those values in the
66
81
  # body of `specifiers`.
67
82
  #
68
- # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::Specifier>, nil]
83
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
69
84
  optional :specifiers,
70
- -> {
71
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::Specifier]
72
- },
85
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
73
86
  nil?: true
74
87
 
75
- # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_contract_id: nil, invoice_schedule: nil, product_id: nil, specifiers: nil, request_options: {})
88
+ # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_contract_id: nil, invoice_schedule: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
76
89
  # Some parameter documentations has been truncated, see
77
90
  # {MetronomeSDK::Models::V2::ContractEditCommitParams} for more details.
78
91
  #
@@ -90,9 +103,13 @@ module MetronomeSDK
90
103
  #
91
104
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule]
92
105
  #
106
+ # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
107
+ #
93
108
  # @param product_id [String]
94
109
  #
95
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
110
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditCommitParams::RateType] If provided, updates the commit to use the specified rate type for current and f
111
+ #
112
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil] List of filters that determine what kind of customer usage draws down a commit o
96
113
  #
97
114
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
98
115
 
@@ -101,25 +118,19 @@ module MetronomeSDK
101
118
  #
102
119
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule::AddScheduleItem>, nil]
103
120
  optional :add_schedule_items,
104
- -> {
105
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::AddScheduleItem]
106
- }
121
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::AddScheduleItem] }
107
122
 
108
123
  # @!attribute remove_schedule_items
109
124
  #
110
125
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule::RemoveScheduleItem>, nil]
111
126
  optional :remove_schedule_items,
112
- -> {
113
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::RemoveScheduleItem]
114
- }
127
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::RemoveScheduleItem] }
115
128
 
116
129
  # @!attribute update_schedule_items
117
130
  #
118
131
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule::UpdateScheduleItem>, nil]
119
132
  optional :update_schedule_items,
120
- -> {
121
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::UpdateScheduleItem]
122
- }
133
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule::UpdateScheduleItem] }
123
134
 
124
135
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
125
136
  # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule::AddScheduleItem>]
@@ -192,25 +203,19 @@ module MetronomeSDK
192
203
  #
193
204
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule::AddScheduleItem>, nil]
194
205
  optional :add_schedule_items,
195
- -> {
196
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::AddScheduleItem]
197
- }
206
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::AddScheduleItem] }
198
207
 
199
208
  # @!attribute remove_schedule_items
200
209
  #
201
210
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule::RemoveScheduleItem>, nil]
202
211
  optional :remove_schedule_items,
203
- -> {
204
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::RemoveScheduleItem]
205
- }
212
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::RemoveScheduleItem] }
206
213
 
207
214
  # @!attribute update_schedule_items
208
215
  #
209
216
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule::UpdateScheduleItem>, nil]
210
217
  optional :update_schedule_items,
211
- -> {
212
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::UpdateScheduleItem]
213
- }
218
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::UpdateScheduleItem] }
214
219
 
215
220
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
216
221
  # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule::AddScheduleItem>]
@@ -290,42 +295,17 @@ module MetronomeSDK
290
295
  end
291
296
  end
292
297
 
293
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
294
- # @!attribute presentation_group_values
295
- #
296
- # @return [Hash{Symbol=>String}, nil]
297
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
298
-
299
- # @!attribute pricing_group_values
300
- #
301
- # @return [Hash{Symbol=>String}, nil]
302
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
303
-
304
- # @!attribute product_id
305
- # If provided, the specifier will only apply to the product with the specified ID.
306
- #
307
- # @return [String, nil]
308
- optional :product_id, String
298
+ # If provided, updates the commit to use the specified rate type for current and
299
+ # future invoices. Previously finalized invoices will need to be voided and
300
+ # regenerated to reflect the rate type change.
301
+ module RateType
302
+ extend MetronomeSDK::Internal::Type::Enum
309
303
 
310
- # @!attribute product_tags
311
- # If provided, the specifier will only apply to products with all the specified
312
- # tags.
313
- #
314
- # @return [Array<String>, nil]
315
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
304
+ LIST_RATE = :LIST_RATE
305
+ COMMIT_RATE = :COMMIT_RATE
316
306
 
317
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
318
- # Some parameter documentations has been truncated, see
319
- # {MetronomeSDK::Models::V2::ContractEditCommitParams::Specifier} for more
320
- # details.
321
- #
322
- # @param presentation_group_values [Hash{Symbol=>String}]
323
- #
324
- # @param pricing_group_values [Hash{Symbol=>String}]
325
- #
326
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
327
- #
328
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
307
+ # @!method self.values
308
+ # @return [Array<Symbol>]
329
309
  end
330
310
  end
331
311
  end
@@ -39,11 +39,26 @@ module MetronomeSDK
39
39
  # @return [Array<String>, nil]
40
40
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
41
41
 
42
+ # @!attribute priority
43
+ # If multiple commits are applicable, the one with the lower priority will apply
44
+ # first.
45
+ #
46
+ # @return [Float, nil]
47
+ optional :priority, Float, nil?: true
48
+
42
49
  # @!attribute product_id
43
50
  #
44
51
  # @return [String, nil]
45
52
  optional :product_id, String
46
53
 
54
+ # @!attribute rate_type
55
+ # If provided, updates the credit to use the specified rate type for current and
56
+ # future invoices. Previously finalized invoices will need to be voided and
57
+ # regenerated to reflect the rate type change.
58
+ #
59
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditCreditParams::RateType, nil]
60
+ optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditCreditParams::RateType }
61
+
47
62
  # @!attribute specifiers
48
63
  # List of filters that determine what kind of customer usage draws down a commit
49
64
  # or credit. A customer's usage needs to meet the condition of at least one of the
@@ -52,14 +67,12 @@ module MetronomeSDK
52
67
  # Instead, to target usage by product or product tag, pass those values in the
53
68
  # body of `specifiers`.
54
69
  #
55
- # @return [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::Specifier>, nil]
70
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
56
71
  optional :specifiers,
57
- -> {
58
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::Specifier]
59
- },
72
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
60
73
  nil?: true
61
74
 
62
- # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, product_id: nil, specifiers: nil, request_options: {})
75
+ # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
63
76
  # Some parameter documentations has been truncated, see
64
77
  # {MetronomeSDK::Models::V2::ContractEditCreditParams} for more details.
65
78
  #
@@ -73,9 +86,13 @@ module MetronomeSDK
73
86
  #
74
87
  # @param applicable_product_tags [Array<String>, nil] Which tags the credit applies to. If both applicable*product_ids and applicable*
75
88
  #
89
+ # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
90
+ #
76
91
  # @param product_id [String]
77
92
  #
78
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
93
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditCreditParams::RateType] If provided, updates the credit to use the specified rate type for current and f
94
+ #
95
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil] List of filters that determine what kind of customer usage draws down a commit o
79
96
  #
80
97
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
81
98
 
@@ -84,25 +101,19 @@ module MetronomeSDK
84
101
  #
85
102
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::AccessSchedule::AddScheduleItem>, nil]
86
103
  optional :add_schedule_items,
87
- -> {
88
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::AddScheduleItem]
89
- }
104
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::AddScheduleItem] }
90
105
 
91
106
  # @!attribute remove_schedule_items
92
107
  #
93
108
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::AccessSchedule::RemoveScheduleItem>, nil]
94
109
  optional :remove_schedule_items,
95
- -> {
96
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::RemoveScheduleItem]
97
- }
110
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::RemoveScheduleItem] }
98
111
 
99
112
  # @!attribute update_schedule_items
100
113
  #
101
114
  # @return [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::AccessSchedule::UpdateScheduleItem>, nil]
102
115
  optional :update_schedule_items,
103
- -> {
104
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::UpdateScheduleItem]
105
- }
116
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::UpdateScheduleItem] }
106
117
 
107
118
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
108
119
  # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::AccessSchedule::AddScheduleItem>]
@@ -170,42 +181,17 @@ module MetronomeSDK
170
181
  end
171
182
  end
172
183
 
173
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
174
- # @!attribute presentation_group_values
175
- #
176
- # @return [Hash{Symbol=>String}, nil]
177
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
178
-
179
- # @!attribute pricing_group_values
180
- #
181
- # @return [Hash{Symbol=>String}, nil]
182
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
183
-
184
- # @!attribute product_id
185
- # If provided, the specifier will only apply to the product with the specified ID.
186
- #
187
- # @return [String, nil]
188
- optional :product_id, String
184
+ # If provided, updates the credit to use the specified rate type for current and
185
+ # future invoices. Previously finalized invoices will need to be voided and
186
+ # regenerated to reflect the rate type change.
187
+ module RateType
188
+ extend MetronomeSDK::Internal::Type::Enum
189
189
 
190
- # @!attribute product_tags
191
- # If provided, the specifier will only apply to products with all the specified
192
- # tags.
193
- #
194
- # @return [Array<String>, nil]
195
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
190
+ LIST_RATE = :LIST_RATE
191
+ COMMIT_RATE = :COMMIT_RATE
196
192
 
197
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
198
- # Some parameter documentations has been truncated, see
199
- # {MetronomeSDK::Models::V2::ContractEditCreditParams::Specifier} for more
200
- # details.
201
- #
202
- # @param presentation_group_values [Hash{Symbol=>String}]
203
- #
204
- # @param pricing_group_values [Hash{Symbol=>String}]
205
- #
206
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
207
- #
208
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
193
+ # @!method self.values
194
+ # @return [Array<Symbol>]
209
195
  end
210
196
  end
211
197
  end