metronome-sdk 0.3.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 (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -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/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -48,6 +48,7 @@ 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" }
51
52
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
52
53
  attr_reader :custom_fields
53
54
 
@@ -185,6 +186,7 @@ module MetronomeSDK
185
186
  composite_product_ids: nil,
186
187
  # Required for COMPOSITE products
187
188
  composite_tags: nil,
189
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
188
190
  custom_fields: nil,
189
191
  # Beta feature only available for composite products. If true, products with $0
190
192
  # will not be included when computing composite usage. Defaults to false
@@ -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