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
@@ -71,6 +71,7 @@ module MetronomeSDK
71
71
  sig { returns(String) }
72
72
  attr_accessor :id
73
73
 
74
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
74
75
  sig { returns(T::Hash[Symbol, String]) }
75
76
  attr_accessor :custom_fields
76
77
 
@@ -100,6 +101,7 @@ module MetronomeSDK
100
101
  end
101
102
  def self.new(
102
103
  id:,
104
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
103
105
  custom_fields:,
104
106
  customer_plan_id:,
105
107
  name:,
@@ -21,6 +21,7 @@ module MetronomeSDK
21
21
  sig { returns(String) }
22
22
  attr_accessor :name
23
23
 
24
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
24
25
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
25
26
  attr_reader :custom_fields
26
27
 
@@ -35,7 +36,13 @@ module MetronomeSDK
35
36
  custom_fields: T::Hash[Symbol, String]
36
37
  ).returns(T.attached_class)
37
38
  end
38
- def self.new(id:, description:, name:, custom_fields: nil)
39
+ def self.new(
40
+ id:,
41
+ description:,
42
+ name:,
43
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
44
+ custom_fields: nil
45
+ )
39
46
  end
40
47
 
41
48
  sig do
@@ -12,74 +12,59 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig do
16
- returns(T::Array[MetronomeSDK::Models::V1::UsageListResponse::Data])
17
- end
18
- attr_accessor :data
19
-
20
- sig { returns(T.nilable(String)) }
21
- attr_accessor :next_page
22
-
23
- sig do
24
- params(
25
- data:
26
- T::Array[
27
- MetronomeSDK::Models::V1::UsageListResponse::Data::OrHash
28
- ],
29
- next_page: T.nilable(String)
30
- ).returns(T.attached_class)
31
- end
32
- def self.new(data:, next_page:)
33
- end
34
-
35
- sig do
36
- override.returns(
37
- {
38
- data: T::Array[MetronomeSDK::Models::V1::UsageListResponse::Data],
39
- next_page: T.nilable(String)
40
- }
41
- )
42
- end
43
- def to_hash
44
- end
15
+ sig { returns(String) }
16
+ attr_accessor :billable_metric_id
45
17
 
46
- class Data < MetronomeSDK::Internal::Type::BaseModel
47
- OrHash =
48
- T.type_alias do
49
- T.any(
50
- MetronomeSDK::Models::V1::UsageListResponse::Data,
51
- MetronomeSDK::Internal::AnyHash
52
- )
53
- end
18
+ sig { returns(String) }
19
+ attr_accessor :billable_metric_name
54
20
 
55
- sig { returns(String) }
56
- attr_accessor :billable_metric_id
21
+ sig { returns(String) }
22
+ attr_accessor :customer_id
57
23
 
58
- sig { returns(String) }
59
- attr_accessor :billable_metric_name
24
+ sig { returns(Time) }
25
+ attr_accessor :end_timestamp
60
26
 
61
- sig { returns(String) }
62
- attr_accessor :customer_id
27
+ sig { returns(Time) }
28
+ attr_accessor :start_timestamp
63
29
 
64
- sig { returns(Time) }
65
- attr_accessor :end_timestamp
30
+ sig { returns(T.nilable(Float)) }
31
+ attr_accessor :value
66
32
 
67
- sig { returns(Time) }
68
- attr_accessor :start_timestamp
33
+ # Values will be either a number or null. Null indicates that there were no
34
+ # matches for the group_by value.
35
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(Float)])) }
36
+ attr_reader :groups
69
37
 
70
- sig { returns(T.nilable(Float)) }
71
- attr_accessor :value
38
+ sig { params(groups: T::Hash[Symbol, T.nilable(Float)]).void }
39
+ attr_writer :groups
72
40
 
41
+ sig do
42
+ params(
43
+ billable_metric_id: String,
44
+ billable_metric_name: String,
45
+ customer_id: String,
46
+ end_timestamp: Time,
47
+ start_timestamp: Time,
48
+ value: T.nilable(Float),
49
+ groups: T::Hash[Symbol, T.nilable(Float)]
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ billable_metric_id:,
54
+ billable_metric_name:,
55
+ customer_id:,
56
+ end_timestamp:,
57
+ start_timestamp:,
58
+ value:,
73
59
  # Values will be either a number or null. Null indicates that there were no
74
60
  # matches for the group_by value.
75
- sig { returns(T.nilable(T::Hash[Symbol, T.nilable(Float)])) }
76
- attr_reader :groups
77
-
78
- sig { params(groups: T::Hash[Symbol, T.nilable(Float)]).void }
79
- attr_writer :groups
61
+ groups: nil
62
+ )
63
+ end
80
64
 
81
- sig do
82
- params(
65
+ sig do
66
+ override.returns(
67
+ {
83
68
  billable_metric_id: String,
84
69
  billable_metric_name: String,
85
70
  customer_id: String,
@@ -87,36 +72,10 @@ module MetronomeSDK
87
72
  start_timestamp: Time,
88
73
  value: T.nilable(Float),
89
74
  groups: T::Hash[Symbol, T.nilable(Float)]
90
- ).returns(T.attached_class)
91
- end
92
- def self.new(
93
- billable_metric_id:,
94
- billable_metric_name:,
95
- customer_id:,
96
- end_timestamp:,
97
- start_timestamp:,
98
- value:,
99
- # Values will be either a number or null. Null indicates that there were no
100
- # matches for the group_by value.
101
- groups: nil
75
+ }
102
76
  )
103
- end
104
-
105
- sig do
106
- override.returns(
107
- {
108
- billable_metric_id: String,
109
- billable_metric_name: String,
110
- customer_id: String,
111
- end_timestamp: Time,
112
- start_timestamp: Time,
113
- value: T.nilable(Float),
114
- groups: T::Hash[Symbol, T.nilable(Float)]
115
- }
116
- )
117
- end
118
- def to_hash
119
- end
77
+ end
78
+ def to_hash
120
79
  end
121
80
  end
122
81
  end
@@ -206,6 +206,7 @@ module MetronomeSDK
206
206
  sig { params(archived_at: Time).void }
207
207
  attr_writer :archived_at
208
208
 
209
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
209
210
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
210
211
  attr_reader :custom_fields
211
212
 
@@ -300,6 +301,7 @@ module MetronomeSDK
300
301
  # RFC 3339 timestamp indicating when the billable metric was archived. If not
301
302
  # provided, the billable metric is not archived.
302
303
  archived_at: nil,
304
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
303
305
  custom_fields: nil,
304
306
  # An optional filtering rule to match the 'event_type' property of an event.
305
307
  event_type_filter: nil,
@@ -76,25 +76,44 @@ module MetronomeSDK
76
76
  end
77
77
  attr_writer :invoice_schedule
78
78
 
79
+ # If multiple commits are applicable, the one with the lower priority will apply
80
+ # first.
81
+ sig { returns(T.nilable(Float)) }
82
+ attr_accessor :priority
83
+
79
84
  sig { returns(T.nilable(String)) }
80
85
  attr_reader :product_id
81
86
 
82
87
  sig { params(product_id: String).void }
83
88
  attr_writer :product_id
84
89
 
85
- # List of filters that determine what kind of customer usage draws down a commit
86
- # or credit. A customer's usage needs to meet the condition of at least one of the
87
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
88
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
89
- # Instead, to target usage by product or product tag, pass those values in the
90
- # body of `specifiers`.
90
+ # If provided, updates the commit to use the specified rate type for current and
91
+ # future invoices. Previously finalized invoices will need to be voided and
92
+ # regenerated to reflect the rate type change.
91
93
  sig do
92
94
  returns(
93
95
  T.nilable(
94
- T::Array[MetronomeSDK::V2::ContractEditCommitParams::Specifier]
96
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::OrSymbol
95
97
  )
96
98
  )
97
99
  end
100
+ attr_reader :rate_type
101
+
102
+ sig do
103
+ params(
104
+ rate_type:
105
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::OrSymbol
106
+ ).void
107
+ end
108
+ attr_writer :rate_type
109
+
110
+ # List of filters that determine what kind of customer usage draws down a commit
111
+ # or credit. A customer's usage needs to meet the condition of at least one of the
112
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
113
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
114
+ # Instead, to target usage by product or product tag, pass those values in the
115
+ # body of `specifiers`.
116
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput])) }
98
117
  attr_accessor :specifiers
99
118
 
100
119
  sig do
@@ -108,13 +127,12 @@ module MetronomeSDK
108
127
  invoice_contract_id: String,
109
128
  invoice_schedule:
110
129
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::OrHash,
130
+ priority: T.nilable(Float),
111
131
  product_id: String,
132
+ rate_type:
133
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::OrSymbol,
112
134
  specifiers:
113
- T.nilable(
114
- T::Array[
115
- MetronomeSDK::V2::ContractEditCommitParams::Specifier::OrHash
116
- ]
117
- ),
135
+ T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]),
118
136
  request_options: MetronomeSDK::RequestOptions::OrHash
119
137
  ).returns(T.attached_class)
120
138
  end
@@ -135,7 +153,14 @@ module MetronomeSDK
135
153
  # ID of contract to use for invoicing
136
154
  invoice_contract_id: nil,
137
155
  invoice_schedule: nil,
156
+ # If multiple commits are applicable, the one with the lower priority will apply
157
+ # first.
158
+ priority: nil,
138
159
  product_id: nil,
160
+ # If provided, updates the commit to use the specified rate type for current and
161
+ # future invoices. Previously finalized invoices will need to be voided and
162
+ # regenerated to reflect the rate type change.
163
+ rate_type: nil,
139
164
  # List of filters that determine what kind of customer usage draws down a commit
140
165
  # or credit. A customer's usage needs to meet the condition of at least one of the
141
166
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
@@ -159,13 +184,12 @@ module MetronomeSDK
159
184
  invoice_contract_id: String,
160
185
  invoice_schedule:
161
186
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule,
187
+ priority: T.nilable(Float),
162
188
  product_id: String,
189
+ rate_type:
190
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::OrSymbol,
163
191
  specifiers:
164
- T.nilable(
165
- T::Array[
166
- MetronomeSDK::V2::ContractEditCommitParams::Specifier
167
- ]
168
- ),
192
+ T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]),
169
193
  request_options: MetronomeSDK::RequestOptions
170
194
  }
171
195
  )
@@ -670,74 +694,40 @@ module MetronomeSDK
670
694
  end
671
695
  end
672
696
 
673
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
674
- OrHash =
697
+ # If provided, updates the commit to use the specified rate type for current and
698
+ # future invoices. Previously finalized invoices will need to be voided and
699
+ # regenerated to reflect the rate type change.
700
+ module RateType
701
+ extend MetronomeSDK::Internal::Type::Enum
702
+
703
+ TaggedSymbol =
675
704
  T.type_alias do
676
- T.any(
677
- MetronomeSDK::V2::ContractEditCommitParams::Specifier,
678
- MetronomeSDK::Internal::AnyHash
705
+ T.all(
706
+ Symbol,
707
+ MetronomeSDK::V2::ContractEditCommitParams::RateType
679
708
  )
680
709
  end
710
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
681
711
 
682
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
683
- attr_reader :presentation_group_values
684
-
685
- sig do
686
- params(presentation_group_values: T::Hash[Symbol, String]).void
687
- end
688
- attr_writer :presentation_group_values
689
-
690
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
691
- attr_reader :pricing_group_values
692
-
693
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
694
- attr_writer :pricing_group_values
695
-
696
- # If provided, the specifier will only apply to the product with the specified ID.
697
- sig { returns(T.nilable(String)) }
698
- attr_reader :product_id
699
-
700
- sig { params(product_id: String).void }
701
- attr_writer :product_id
702
-
703
- # If provided, the specifier will only apply to products with all the specified
704
- # tags.
705
- sig { returns(T.nilable(T::Array[String])) }
706
- attr_reader :product_tags
707
-
708
- sig { params(product_tags: T::Array[String]).void }
709
- attr_writer :product_tags
710
-
711
- sig do
712
- params(
713
- presentation_group_values: T::Hash[Symbol, String],
714
- pricing_group_values: T::Hash[Symbol, String],
715
- product_id: String,
716
- product_tags: T::Array[String]
717
- ).returns(T.attached_class)
718
- end
719
- def self.new(
720
- presentation_group_values: nil,
721
- pricing_group_values: nil,
722
- # If provided, the specifier will only apply to the product with the specified ID.
723
- product_id: nil,
724
- # If provided, the specifier will only apply to products with all the specified
725
- # tags.
726
- product_tags: nil
727
- )
728
- end
712
+ LIST_RATE =
713
+ T.let(
714
+ :LIST_RATE,
715
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::TaggedSymbol
716
+ )
717
+ COMMIT_RATE =
718
+ T.let(
719
+ :COMMIT_RATE,
720
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::TaggedSymbol
721
+ )
729
722
 
730
723
  sig do
731
724
  override.returns(
732
- {
733
- presentation_group_values: T::Hash[Symbol, String],
734
- pricing_group_values: T::Hash[Symbol, String],
735
- product_id: String,
736
- product_tags: T::Array[String]
737
- }
725
+ T::Array[
726
+ MetronomeSDK::V2::ContractEditCommitParams::RateType::TaggedSymbol
727
+ ]
738
728
  )
739
729
  end
740
- def to_hash
730
+ def self.values
741
731
  end
742
732
  end
743
733
  end
@@ -50,25 +50,44 @@ module MetronomeSDK
50
50
  sig { returns(T.nilable(T::Array[String])) }
51
51
  attr_accessor :applicable_product_tags
52
52
 
53
+ # If multiple commits are applicable, the one with the lower priority will apply
54
+ # first.
55
+ sig { returns(T.nilable(Float)) }
56
+ attr_accessor :priority
57
+
53
58
  sig { returns(T.nilable(String)) }
54
59
  attr_reader :product_id
55
60
 
56
61
  sig { params(product_id: String).void }
57
62
  attr_writer :product_id
58
63
 
59
- # List of filters that determine what kind of customer usage draws down a commit
60
- # or credit. A customer's usage needs to meet the condition of at least one of the
61
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
62
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
63
- # Instead, to target usage by product or product tag, pass those values in the
64
- # body of `specifiers`.
64
+ # If provided, updates the credit to use the specified rate type for current and
65
+ # future invoices. Previously finalized invoices will need to be voided and
66
+ # regenerated to reflect the rate type change.
65
67
  sig do
66
68
  returns(
67
69
  T.nilable(
68
- T::Array[MetronomeSDK::V2::ContractEditCreditParams::Specifier]
70
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::OrSymbol
69
71
  )
70
72
  )
71
73
  end
74
+ attr_reader :rate_type
75
+
76
+ sig do
77
+ params(
78
+ rate_type:
79
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::OrSymbol
80
+ ).void
81
+ end
82
+ attr_writer :rate_type
83
+
84
+ # List of filters that determine what kind of customer usage draws down a commit
85
+ # or credit. A customer's usage needs to meet the condition of at least one of the
86
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
87
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
88
+ # Instead, to target usage by product or product tag, pass those values in the
89
+ # body of `specifiers`.
90
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput])) }
72
91
  attr_accessor :specifiers
73
92
 
74
93
  sig do
@@ -79,13 +98,12 @@ module MetronomeSDK
79
98
  MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule::OrHash,
80
99
  applicable_product_ids: T.nilable(T::Array[String]),
81
100
  applicable_product_tags: T.nilable(T::Array[String]),
101
+ priority: T.nilable(Float),
82
102
  product_id: String,
103
+ rate_type:
104
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::OrSymbol,
83
105
  specifiers:
84
- T.nilable(
85
- T::Array[
86
- MetronomeSDK::V2::ContractEditCreditParams::Specifier::OrHash
87
- ]
88
- ),
106
+ T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]),
89
107
  request_options: MetronomeSDK::RequestOptions::OrHash
90
108
  ).returns(T.attached_class)
91
109
  end
@@ -101,7 +119,14 @@ module MetronomeSDK
101
119
  # Which tags the credit applies to. If both applicable_product_ids and
102
120
  # applicable_product_tags are not provided, the credit applies to all products.
103
121
  applicable_product_tags: nil,
122
+ # If multiple commits are applicable, the one with the lower priority will apply
123
+ # first.
124
+ priority: nil,
104
125
  product_id: nil,
126
+ # If provided, updates the credit to use the specified rate type for current and
127
+ # future invoices. Previously finalized invoices will need to be voided and
128
+ # regenerated to reflect the rate type change.
129
+ rate_type: nil,
105
130
  # List of filters that determine what kind of customer usage draws down a commit
106
131
  # or credit. A customer's usage needs to meet the condition of at least one of the
107
132
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
@@ -122,13 +147,12 @@ module MetronomeSDK
122
147
  MetronomeSDK::V2::ContractEditCreditParams::AccessSchedule,
123
148
  applicable_product_ids: T.nilable(T::Array[String]),
124
149
  applicable_product_tags: T.nilable(T::Array[String]),
150
+ priority: T.nilable(Float),
125
151
  product_id: String,
152
+ rate_type:
153
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::OrSymbol,
126
154
  specifiers:
127
- T.nilable(
128
- T::Array[
129
- MetronomeSDK::V2::ContractEditCreditParams::Specifier
130
- ]
131
- ),
155
+ T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]),
132
156
  request_options: MetronomeSDK::RequestOptions
133
157
  }
134
158
  )
@@ -366,74 +390,40 @@ module MetronomeSDK
366
390
  end
367
391
  end
368
392
 
369
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
370
- OrHash =
393
+ # If provided, updates the credit to use the specified rate type for current and
394
+ # future invoices. Previously finalized invoices will need to be voided and
395
+ # regenerated to reflect the rate type change.
396
+ module RateType
397
+ extend MetronomeSDK::Internal::Type::Enum
398
+
399
+ TaggedSymbol =
371
400
  T.type_alias do
372
- T.any(
373
- MetronomeSDK::V2::ContractEditCreditParams::Specifier,
374
- MetronomeSDK::Internal::AnyHash
401
+ T.all(
402
+ Symbol,
403
+ MetronomeSDK::V2::ContractEditCreditParams::RateType
375
404
  )
376
405
  end
406
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
377
407
 
378
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
379
- attr_reader :presentation_group_values
380
-
381
- sig do
382
- params(presentation_group_values: T::Hash[Symbol, String]).void
383
- end
384
- attr_writer :presentation_group_values
385
-
386
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
387
- attr_reader :pricing_group_values
388
-
389
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
390
- attr_writer :pricing_group_values
391
-
392
- # If provided, the specifier will only apply to the product with the specified ID.
393
- sig { returns(T.nilable(String)) }
394
- attr_reader :product_id
395
-
396
- sig { params(product_id: String).void }
397
- attr_writer :product_id
398
-
399
- # If provided, the specifier will only apply to products with all the specified
400
- # tags.
401
- sig { returns(T.nilable(T::Array[String])) }
402
- attr_reader :product_tags
403
-
404
- sig { params(product_tags: T::Array[String]).void }
405
- attr_writer :product_tags
406
-
407
- sig do
408
- params(
409
- presentation_group_values: T::Hash[Symbol, String],
410
- pricing_group_values: T::Hash[Symbol, String],
411
- product_id: String,
412
- product_tags: T::Array[String]
413
- ).returns(T.attached_class)
414
- end
415
- def self.new(
416
- presentation_group_values: nil,
417
- pricing_group_values: nil,
418
- # If provided, the specifier will only apply to the product with the specified ID.
419
- product_id: nil,
420
- # If provided, the specifier will only apply to products with all the specified
421
- # tags.
422
- product_tags: nil
423
- )
424
- end
408
+ LIST_RATE =
409
+ T.let(
410
+ :LIST_RATE,
411
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::TaggedSymbol
412
+ )
413
+ COMMIT_RATE =
414
+ T.let(
415
+ :COMMIT_RATE,
416
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::TaggedSymbol
417
+ )
425
418
 
426
419
  sig do
427
420
  override.returns(
428
- {
429
- presentation_group_values: T::Hash[Symbol, String],
430
- pricing_group_values: T::Hash[Symbol, String],
431
- product_id: String,
432
- product_tags: T::Array[String]
433
- }
421
+ T::Array[
422
+ MetronomeSDK::V2::ContractEditCreditParams::RateType::TaggedSymbol
423
+ ]
434
424
  )
435
425
  end
436
- def to_hash
426
+ def self.values
437
427
  end
438
428
  end
439
429
  end