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
@@ -48,6 +48,13 @@ module MetronomeSDK
48
48
  sig { params(composite_tags: T::Array[String]).void }
49
49
  attr_writer :composite_tags
50
50
 
51
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
52
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
53
+ attr_reader :custom_fields
54
+
55
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
56
+ attr_writer :custom_fields
57
+
51
58
  # Beta feature only available for composite products. If true, products with $0
52
59
  # will not be included when computing composite usage. Defaults to false
53
60
  sig { returns(T.nilable(T::Boolean)) }
@@ -150,6 +157,7 @@ module MetronomeSDK
150
157
  billable_metric_id: String,
151
158
  composite_product_ids: T::Array[String],
152
159
  composite_tags: T::Array[String],
160
+ custom_fields: T::Hash[Symbol, String],
153
161
  exclude_free_usage: T::Boolean,
154
162
  is_refundable: T::Boolean,
155
163
  netsuite_internal_item_id: String,
@@ -178,6 +186,8 @@ module MetronomeSDK
178
186
  composite_product_ids: nil,
179
187
  # Required for COMPOSITE products
180
188
  composite_tags: nil,
189
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
190
+ custom_fields: nil,
181
191
  # Beta feature only available for composite products. If true, products with $0
182
192
  # will not be included when computing composite usage. Defaults to false
183
193
  exclude_free_usage: nil,
@@ -224,6 +234,7 @@ module MetronomeSDK
224
234
  billable_metric_id: String,
225
235
  composite_product_ids: T::Array[String],
226
236
  composite_tags: T::Array[String],
237
+ custom_fields: T::Hash[Symbol, String],
227
238
  exclude_free_usage: T::Boolean,
228
239
  is_refundable: T::Boolean,
229
240
  netsuite_internal_item_id: String,
@@ -55,6 +55,7 @@ module MetronomeSDK
55
55
  sig { returns(T.nilable(Time)) }
56
56
  attr_accessor :archived_at
57
57
 
58
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
58
59
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
59
60
  attr_reader :custom_fields
60
61
 
@@ -85,6 +86,7 @@ module MetronomeSDK
85
86
  type:,
86
87
  updates:,
87
88
  archived_at: nil,
89
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
88
90
  custom_fields: nil
89
91
  )
90
92
  end
@@ -101,6 +101,7 @@ module MetronomeSDK
101
101
  sig { returns(T.nilable(Time)) }
102
102
  attr_accessor :archived_at
103
103
 
104
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
104
105
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
105
106
  attr_reader :custom_fields
106
107
 
@@ -131,6 +132,7 @@ module MetronomeSDK
131
132
  type:,
132
133
  updates:,
133
134
  archived_at: nil,
135
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
134
136
  custom_fields: nil
135
137
  )
136
138
  end
@@ -66,6 +66,7 @@ module MetronomeSDK
66
66
  end
67
67
  attr_writer :credit_type_conversions
68
68
 
69
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
69
70
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
70
71
  attr_reader :custom_fields
71
72
 
@@ -112,6 +113,7 @@ module MetronomeSDK
112
113
  aliases: nil,
113
114
  # Required when using custom pricing units in rates.
114
115
  credit_type_conversions: nil,
116
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
115
117
  custom_fields: nil,
116
118
  description: nil,
117
119
  # The Metronome ID of the credit type to associate with the rate card, defaults to
@@ -67,6 +67,7 @@ module MetronomeSDK
67
67
  end
68
68
  attr_writer :credit_type_conversions
69
69
 
70
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
70
71
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
71
72
  attr_reader :custom_fields
72
73
 
@@ -113,6 +114,7 @@ module MetronomeSDK
113
114
  name:,
114
115
  aliases: nil,
115
116
  credit_type_conversions: nil,
117
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
116
118
  custom_fields: nil,
117
119
  description: nil,
118
120
  fiat_credit_type: nil
@@ -63,6 +63,7 @@ module MetronomeSDK
63
63
  sig { returns(T::Boolean) }
64
64
  attr_accessor :entitled
65
65
 
66
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
66
67
  sig { returns(T::Hash[Symbol, String]) }
67
68
  attr_accessor :product_custom_fields
68
69
 
@@ -103,21 +104,10 @@ module MetronomeSDK
103
104
 
104
105
  # A distinct rate on the rate card. You can choose to use this rate rather than
105
106
  # list rate when consuming a credit or commit.
106
- sig do
107
- returns(
108
- T.nilable(
109
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate
110
- )
111
- )
112
- end
107
+ sig { returns(T.nilable(MetronomeSDK::CommitRate)) }
113
108
  attr_reader :commit_rate
114
109
 
115
- sig do
116
- params(
117
- commit_rate:
118
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::OrHash
119
- ).void
120
- end
110
+ sig { params(commit_rate: MetronomeSDK::CommitRate::OrHash).void }
121
111
  attr_writer :commit_rate
122
112
 
123
113
  sig { returns(T.nilable(Time)) }
@@ -143,14 +133,14 @@ module MetronomeSDK
143
133
  starting_at: Time,
144
134
  billing_frequency:
145
135
  MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::BillingFrequency::OrSymbol,
146
- commit_rate:
147
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::OrHash,
136
+ commit_rate: MetronomeSDK::CommitRate::OrHash,
148
137
  ending_before: Time,
149
138
  pricing_group_values: T::Hash[Symbol, String]
150
139
  ).returns(T.attached_class)
151
140
  end
152
141
  def self.new(
153
142
  entitled:,
143
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
154
144
  product_custom_fields:,
155
145
  product_id:,
156
146
  product_name:,
@@ -178,8 +168,7 @@ module MetronomeSDK
178
168
  starting_at: Time,
179
169
  billing_frequency:
180
170
  MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::BillingFrequency::TaggedSymbol,
181
- commit_rate:
182
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate,
171
+ commit_rate: MetronomeSDK::CommitRate,
183
172
  ending_before: Time,
184
173
  pricing_group_values: T::Hash[Symbol, String]
185
174
  }
@@ -231,118 +220,6 @@ module MetronomeSDK
231
220
  def self.values
232
221
  end
233
222
  end
234
-
235
- class CommitRate < MetronomeSDK::Internal::Type::BaseModel
236
- OrHash =
237
- T.type_alias do
238
- T.any(
239
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate,
240
- MetronomeSDK::Internal::AnyHash
241
- )
242
- end
243
-
244
- sig do
245
- returns(
246
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
247
- )
248
- end
249
- attr_accessor :rate_type
250
-
251
- # Commit rate price. For FLAT rate_type, this must be >=0.
252
- sig { returns(T.nilable(Float)) }
253
- attr_reader :price
254
-
255
- sig { params(price: Float).void }
256
- attr_writer :price
257
-
258
- # Only set for TIERED rate_type.
259
- sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
260
- attr_reader :tiers
261
-
262
- sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
263
- attr_writer :tiers
264
-
265
- # A distinct rate on the rate card. You can choose to use this rate rather than
266
- # list rate when consuming a credit or commit.
267
- sig do
268
- params(
269
- rate_type:
270
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::OrSymbol,
271
- price: Float,
272
- tiers: T::Array[MetronomeSDK::Tier::OrHash]
273
- ).returns(T.attached_class)
274
- end
275
- def self.new(
276
- rate_type:,
277
- # Commit rate price. For FLAT rate_type, this must be >=0.
278
- price: nil,
279
- # Only set for TIERED rate_type.
280
- tiers: nil
281
- )
282
- end
283
-
284
- sig do
285
- override.returns(
286
- {
287
- rate_type:
288
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol,
289
- price: Float,
290
- tiers: T::Array[MetronomeSDK::Tier]
291
- }
292
- )
293
- end
294
- def to_hash
295
- end
296
-
297
- module RateType
298
- extend MetronomeSDK::Internal::Type::Enum
299
-
300
- TaggedSymbol =
301
- T.type_alias do
302
- T.all(
303
- Symbol,
304
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType
305
- )
306
- end
307
- OrSymbol = T.type_alias { T.any(Symbol, String) }
308
-
309
- FLAT =
310
- T.let(
311
- :FLAT,
312
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
313
- )
314
- PERCENTAGE =
315
- T.let(
316
- :PERCENTAGE,
317
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
318
- )
319
- SUBSCRIPTION =
320
- T.let(
321
- :SUBSCRIPTION,
322
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
323
- )
324
- TIERED =
325
- T.let(
326
- :TIERED,
327
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
328
- )
329
- CUSTOM =
330
- T.let(
331
- :CUSTOM,
332
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
333
- )
334
-
335
- sig do
336
- override.returns(
337
- T::Array[
338
- MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::RateType::TaggedSymbol
339
- ]
340
- )
341
- end
342
- def self.values
343
- end
344
- end
345
- end
346
223
  end
347
224
  end
348
225
  end
@@ -111,6 +111,7 @@ module MetronomeSDK
111
111
  end
112
112
  attr_writer :credit_type_conversions
113
113
 
114
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
114
115
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
115
116
  attr_reader :custom_fields
116
117
 
@@ -159,6 +160,7 @@ module MetronomeSDK
159
160
  name:,
160
161
  aliases: nil,
161
162
  credit_type_conversions: nil,
163
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
162
164
  custom_fields: nil,
163
165
  description: nil,
164
166
  fiat_credit_type: nil
@@ -105,21 +105,10 @@ module MetronomeSDK
105
105
 
106
106
  # A distinct rate on the rate card. You can choose to use this rate rather than
107
107
  # list rate when consuming a credit or commit.
108
- sig do
109
- returns(
110
- T.nilable(
111
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate
112
- )
113
- )
114
- end
108
+ sig { returns(T.nilable(MetronomeSDK::CommitRate)) }
115
109
  attr_reader :commit_rate
116
110
 
117
- sig do
118
- params(
119
- commit_rate:
120
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::OrHash
121
- ).void
122
- end
111
+ sig { params(commit_rate: MetronomeSDK::CommitRate::OrHash).void }
123
112
  attr_writer :commit_rate
124
113
 
125
114
  # "The Metronome ID of the credit type to associate with price, defaults to USD
@@ -203,8 +192,7 @@ module MetronomeSDK
203
192
  starting_at: Time,
204
193
  billing_frequency:
205
194
  MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::BillingFrequency::OrSymbol,
206
- commit_rate:
207
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::OrHash,
195
+ commit_rate: MetronomeSDK::CommitRate::OrHash,
208
196
  credit_type_id: String,
209
197
  custom_rate: T::Hash[Symbol, T.anything],
210
198
  ending_before: Time,
@@ -269,8 +257,7 @@ module MetronomeSDK
269
257
  starting_at: Time,
270
258
  billing_frequency:
271
259
  MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::BillingFrequency::OrSymbol,
272
- commit_rate:
273
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate,
260
+ commit_rate: MetronomeSDK::CommitRate,
274
261
  credit_type_id: String,
275
262
  custom_rate: T::Hash[Symbol, T.anything],
276
263
  ending_before: Time,
@@ -380,118 +367,6 @@ module MetronomeSDK
380
367
  def self.values
381
368
  end
382
369
  end
383
-
384
- class CommitRate < MetronomeSDK::Internal::Type::BaseModel
385
- OrHash =
386
- T.type_alias do
387
- T.any(
388
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate,
389
- MetronomeSDK::Internal::AnyHash
390
- )
391
- end
392
-
393
- sig do
394
- returns(
395
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::OrSymbol
396
- )
397
- end
398
- attr_accessor :rate_type
399
-
400
- # Commit rate price. For FLAT rate_type, this must be >=0.
401
- sig { returns(T.nilable(Float)) }
402
- attr_reader :price
403
-
404
- sig { params(price: Float).void }
405
- attr_writer :price
406
-
407
- # Only set for TIERED rate_type.
408
- sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
409
- attr_reader :tiers
410
-
411
- sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
412
- attr_writer :tiers
413
-
414
- # A distinct rate on the rate card. You can choose to use this rate rather than
415
- # list rate when consuming a credit or commit.
416
- sig do
417
- params(
418
- rate_type:
419
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::OrSymbol,
420
- price: Float,
421
- tiers: T::Array[MetronomeSDK::Tier::OrHash]
422
- ).returns(T.attached_class)
423
- end
424
- def self.new(
425
- rate_type:,
426
- # Commit rate price. For FLAT rate_type, this must be >=0.
427
- price: nil,
428
- # Only set for TIERED rate_type.
429
- tiers: nil
430
- )
431
- end
432
-
433
- sig do
434
- override.returns(
435
- {
436
- rate_type:
437
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::OrSymbol,
438
- price: Float,
439
- tiers: T::Array[MetronomeSDK::Tier]
440
- }
441
- )
442
- end
443
- def to_hash
444
- end
445
-
446
- module RateType
447
- extend MetronomeSDK::Internal::Type::Enum
448
-
449
- TaggedSymbol =
450
- T.type_alias do
451
- T.all(
452
- Symbol,
453
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType
454
- )
455
- end
456
- OrSymbol = T.type_alias { T.any(Symbol, String) }
457
-
458
- FLAT =
459
- T.let(
460
- :FLAT,
461
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::TaggedSymbol
462
- )
463
- PERCENTAGE =
464
- T.let(
465
- :PERCENTAGE,
466
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::TaggedSymbol
467
- )
468
- SUBSCRIPTION =
469
- T.let(
470
- :SUBSCRIPTION,
471
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::TaggedSymbol
472
- )
473
- TIERED =
474
- T.let(
475
- :TIERED,
476
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::TaggedSymbol
477
- )
478
- CUSTOM =
479
- T.let(
480
- :CUSTOM,
481
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::TaggedSymbol
482
- )
483
-
484
- sig do
485
- override.returns(
486
- T::Array[
487
- MetronomeSDK::V1::Contracts::RateCards::RateAddManyParams::Rate::CommitRate::RateType::TaggedSymbol
488
- ]
489
- )
490
- end
491
- def self.values
492
- end
493
- end
494
- end
495
370
  end
496
371
  end
497
372
  end
@@ -60,21 +60,10 @@ module MetronomeSDK
60
60
 
61
61
  # A distinct rate on the rate card. You can choose to use this rate rather than
62
62
  # list rate when consuming a credit or commit.
63
- sig do
64
- returns(
65
- T.nilable(
66
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate
67
- )
68
- )
69
- end
63
+ sig { returns(T.nilable(MetronomeSDK::CommitRate)) }
70
64
  attr_reader :commit_rate
71
65
 
72
- sig do
73
- params(
74
- commit_rate:
75
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::OrHash
76
- ).void
77
- end
66
+ sig { params(commit_rate: MetronomeSDK::CommitRate::OrHash).void }
78
67
  attr_writer :commit_rate
79
68
 
80
69
  # The Metronome ID of the credit type to associate with price, defaults to USD
@@ -159,8 +148,7 @@ module MetronomeSDK
159
148
  starting_at: Time,
160
149
  billing_frequency:
161
150
  MetronomeSDK::V1::Contracts::RateCards::RateAddParams::BillingFrequency::OrSymbol,
162
- commit_rate:
163
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::OrHash,
151
+ commit_rate: MetronomeSDK::CommitRate::OrHash,
164
152
  credit_type_id: String,
165
153
  custom_rate: T::Hash[Symbol, T.anything],
166
154
  ending_before: Time,
@@ -230,8 +218,7 @@ module MetronomeSDK
230
218
  starting_at: Time,
231
219
  billing_frequency:
232
220
  MetronomeSDK::V1::Contracts::RateCards::RateAddParams::BillingFrequency::OrSymbol,
233
- commit_rate:
234
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate,
221
+ commit_rate: MetronomeSDK::CommitRate,
235
222
  credit_type_id: String,
236
223
  custom_rate: T::Hash[Symbol, T.anything],
237
224
  ending_before: Time,
@@ -342,118 +329,6 @@ module MetronomeSDK
342
329
  def self.values
343
330
  end
344
331
  end
345
-
346
- class CommitRate < MetronomeSDK::Internal::Type::BaseModel
347
- OrHash =
348
- T.type_alias do
349
- T.any(
350
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate,
351
- MetronomeSDK::Internal::AnyHash
352
- )
353
- end
354
-
355
- sig do
356
- returns(
357
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::OrSymbol
358
- )
359
- end
360
- attr_accessor :rate_type
361
-
362
- # Commit rate price. For FLAT rate_type, this must be >=0.
363
- sig { returns(T.nilable(Float)) }
364
- attr_reader :price
365
-
366
- sig { params(price: Float).void }
367
- attr_writer :price
368
-
369
- # Only set for TIERED rate_type.
370
- sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
371
- attr_reader :tiers
372
-
373
- sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
374
- attr_writer :tiers
375
-
376
- # A distinct rate on the rate card. You can choose to use this rate rather than
377
- # list rate when consuming a credit or commit.
378
- sig do
379
- params(
380
- rate_type:
381
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::OrSymbol,
382
- price: Float,
383
- tiers: T::Array[MetronomeSDK::Tier::OrHash]
384
- ).returns(T.attached_class)
385
- end
386
- def self.new(
387
- rate_type:,
388
- # Commit rate price. For FLAT rate_type, this must be >=0.
389
- price: nil,
390
- # Only set for TIERED rate_type.
391
- tiers: nil
392
- )
393
- end
394
-
395
- sig do
396
- override.returns(
397
- {
398
- rate_type:
399
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::OrSymbol,
400
- price: Float,
401
- tiers: T::Array[MetronomeSDK::Tier]
402
- }
403
- )
404
- end
405
- def to_hash
406
- end
407
-
408
- module RateType
409
- extend MetronomeSDK::Internal::Type::Enum
410
-
411
- TaggedSymbol =
412
- T.type_alias do
413
- T.all(
414
- Symbol,
415
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType
416
- )
417
- end
418
- OrSymbol = T.type_alias { T.any(Symbol, String) }
419
-
420
- FLAT =
421
- T.let(
422
- :FLAT,
423
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::TaggedSymbol
424
- )
425
- PERCENTAGE =
426
- T.let(
427
- :PERCENTAGE,
428
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::TaggedSymbol
429
- )
430
- SUBSCRIPTION =
431
- T.let(
432
- :SUBSCRIPTION,
433
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::TaggedSymbol
434
- )
435
- TIERED =
436
- T.let(
437
- :TIERED,
438
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::TaggedSymbol
439
- )
440
- CUSTOM =
441
- T.let(
442
- :CUSTOM,
443
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::TaggedSymbol
444
- )
445
-
446
- sig do
447
- override.returns(
448
- T::Array[
449
- MetronomeSDK::V1::Contracts::RateCards::RateAddParams::CommitRate::RateType::TaggedSymbol
450
- ]
451
- )
452
- end
453
- def self.values
454
- end
455
- end
456
- end
457
332
  end
458
333
  end
459
334
  end