metronome-sdk 0.3.0 → 2.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 (363) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +12 -11
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +8 -19
  11. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  12. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  14. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  15. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  16. data/lib/metronome_sdk/internal/util.rb +9 -8
  17. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  18. data/lib/metronome_sdk/models/commit.rb +26 -170
  19. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  20. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  21. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  22. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  23. data/lib/metronome_sdk/models/contract.rb +404 -0
  24. data/lib/metronome_sdk/models/contract_v2.rb +3169 -0
  25. data/lib/metronome_sdk/models/contract_without_amendments.rb +38 -1128
  26. data/lib/metronome_sdk/models/credit.rb +9 -156
  27. data/lib/metronome_sdk/models/discount.rb +2 -1
  28. data/lib/metronome_sdk/models/hierarchy_configuration.rb +173 -0
  29. data/lib/metronome_sdk/models/override.rb +6 -101
  30. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  31. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  32. data/lib/metronome_sdk/models/payment_gate_config.rb +150 -0
  33. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +150 -0
  34. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  35. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  36. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  37. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  38. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  39. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  40. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  41. data/lib/metronome_sdk/models/subscription.rb +311 -0
  42. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  43. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  44. data/lib/metronome_sdk/models/v1/alert_create_params.rb +42 -42
  45. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  46. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  47. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  48. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +58 -411
  49. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  50. data/lib/metronome_sdk/models/v1/contract_create_params.rb +315 -1459
  51. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  52. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  55. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  60. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  73. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  74. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  75. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  77. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  78. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  79. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  80. data/lib/metronome_sdk/models/v1/customer_detail.rb +11 -2
  81. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  82. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +6 -18
  83. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  84. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  85. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  86. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  87. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +4 -6
  88. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +37 -8
  90. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  91. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  92. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  93. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  94. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +48 -54
  95. data/lib/metronome_sdk/models/v1/customers/invoice.rb +197 -66
  96. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  97. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  98. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  99. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  100. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  101. data/lib/metronome_sdk/models/v1/payment.rb +151 -0
  102. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  103. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  104. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  105. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  106. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  107. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  108. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  109. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  110. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  111. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  112. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  113. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  114. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  115. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  116. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +37 -58
  117. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +34 -49
  118. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +552 -2265
  119. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +417 -2317
  120. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  121. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  122. data/lib/metronome_sdk/models.rb +38 -0
  123. data/lib/metronome_sdk/resources/v1/alerts.rb +90 -16
  124. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  125. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  126. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  127. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  128. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  129. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  130. data/lib/metronome_sdk/resources/v1/contracts.rb +255 -18
  131. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  132. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  133. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +127 -13
  134. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  135. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  136. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +179 -8
  137. data/lib/metronome_sdk/resources/v1/customers.rb +175 -15
  138. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  139. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  140. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  141. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  142. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  143. data/lib/metronome_sdk/resources/v1/usage.rb +188 -13
  144. data/lib/metronome_sdk/resources/v1.rb +4 -0
  145. data/lib/metronome_sdk/resources/v2/contracts.rb +120 -18
  146. data/lib/metronome_sdk/version.rb +1 -1
  147. data/lib/metronome_sdk.rb +33 -3
  148. data/rbi/metronome_sdk/errors.rbi +31 -4
  149. data/rbi/metronome_sdk/file_part.rbi +1 -1
  150. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  151. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  152. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  153. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  154. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  155. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  156. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  157. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  158. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  159. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  160. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  161. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  162. data/rbi/metronome_sdk/models/contract_v2.rbi +6415 -0
  163. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +186 -2509
  164. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  165. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  166. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +424 -0
  167. data/rbi/metronome_sdk/models/override.rbi +8 -193
  168. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  169. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  170. data/rbi/metronome_sdk/models/payment_gate_config.rbi +317 -0
  171. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +326 -0
  172. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  173. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  174. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  175. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  176. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  177. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  178. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  179. data/rbi/metronome_sdk/models/subscription.rbi +635 -0
  180. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  181. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  182. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +57 -50
  183. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  185. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +49 -768
  186. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1843 -4119
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  195. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  196. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  197. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  198. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  203. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  204. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  206. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  207. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  209. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +10 -0
  210. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
  212. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  213. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  214. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  215. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  216. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  217. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  218. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +68 -8
  219. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  220. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  221. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  222. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  223. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +54 -47
  224. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +316 -68
  225. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  226. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  227. data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
  228. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  229. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  231. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  232. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  233. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  234. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  235. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  236. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  237. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  238. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  239. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  240. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +74 -76
  241. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +74 -76
  242. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3875 -7234
  243. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1733 -6207
  244. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  245. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  246. data/rbi/metronome_sdk/models.rbi +44 -0
  247. data/rbi/metronome_sdk/resources/v1/alerts.rbi +101 -27
  248. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  249. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  250. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  251. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  252. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  253. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  254. data/rbi/metronome_sdk/resources/v1/contracts.rbi +258 -16
  255. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  256. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  257. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +133 -11
  258. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  259. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  260. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +159 -7
  261. data/rbi/metronome_sdk/resources/v1/customers.rbi +162 -14
  262. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  263. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  264. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  265. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  266. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  267. data/rbi/metronome_sdk/resources/v1/usage.rbi +191 -13
  268. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  269. data/rbi/metronome_sdk/resources/v2/contracts.rbi +134 -23
  270. data/sig/metronome_sdk/errors.rbs +7 -0
  271. data/sig/metronome_sdk/file_part.rbs +1 -1
  272. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  273. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  274. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  275. data/sig/metronome_sdk/models/commit.rbs +17 -170
  276. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  277. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  278. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  279. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  280. data/sig/metronome_sdk/models/contract.rbs +398 -0
  281. data/sig/metronome_sdk/models/contract_v2.rbs +3108 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  283. data/sig/metronome_sdk/models/credit.rbs +12 -170
  284. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +152 -0
  285. data/sig/metronome_sdk/models/override.rbs +12 -101
  286. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  287. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  288. data/sig/metronome_sdk/models/payment_gate_config.rbs +124 -0
  289. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +124 -0
  290. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  291. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  292. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  293. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  294. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  295. data/sig/metronome_sdk/models/subscription.rbs +295 -0
  296. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  297. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  298. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -341
  299. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +219 -1184
  300. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  301. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  302. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  303. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  304. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  305. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  306. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  307. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  308. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  309. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  310. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  311. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  312. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  313. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  314. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  315. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  316. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  317. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  318. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  319. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  320. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  321. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  322. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  323. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  324. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
  325. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  326. data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
  327. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  328. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  329. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  330. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  331. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  332. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  333. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  334. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +28 -43
  335. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +28 -43
  336. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +412 -1793
  337. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +342 -2149
  338. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  339. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  340. data/sig/metronome_sdk/models.rbs +38 -0
  341. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  342. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  343. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  344. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  345. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  346. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  347. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  348. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  349. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  350. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  351. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  352. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  353. data/sig/metronome_sdk/resources/v2/contracts.rbs +10 -4
  354. metadata +101 -11
  355. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  356. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  357. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  358. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  359. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  360. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  361. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  362. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  363. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -0,0 +1,424 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ # Either a **parent** configuration with a list of children or a **child**
6
+ # configuration with a single parent.
7
+ module HierarchyConfiguration
8
+ extend MetronomeSDK::Internal::Type::Union
9
+
10
+ Variants =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration,
14
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration
15
+ )
16
+ end
17
+
18
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
19
+ OrHash =
20
+ T.type_alias do
21
+ T.any(
22
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration,
23
+ MetronomeSDK::Internal::AnyHash
24
+ )
25
+ end
26
+
27
+ # List of contracts that belong to this parent.
28
+ sig do
29
+ returns(
30
+ T::Array[
31
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child
32
+ ]
33
+ )
34
+ end
35
+ attr_accessor :children
36
+
37
+ sig do
38
+ returns(
39
+ T.nilable(
40
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
41
+ )
42
+ )
43
+ end
44
+ attr_reader :parent_behavior
45
+
46
+ sig do
47
+ params(
48
+ parent_behavior:
49
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::OrHash
50
+ ).void
51
+ end
52
+ attr_writer :parent_behavior
53
+
54
+ sig do
55
+ params(
56
+ children:
57
+ T::Array[
58
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child::OrHash
59
+ ],
60
+ parent_behavior:
61
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::OrHash
62
+ ).returns(T.attached_class)
63
+ end
64
+ def self.new(
65
+ # List of contracts that belong to this parent.
66
+ children:,
67
+ parent_behavior: nil
68
+ )
69
+ end
70
+
71
+ sig do
72
+ override.returns(
73
+ {
74
+ children:
75
+ T::Array[
76
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child
77
+ ],
78
+ parent_behavior:
79
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+
86
+ class Child < MetronomeSDK::Internal::Type::BaseModel
87
+ OrHash =
88
+ T.type_alias do
89
+ T.any(
90
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child,
91
+ MetronomeSDK::Internal::AnyHash
92
+ )
93
+ end
94
+
95
+ sig { returns(String) }
96
+ attr_accessor :contract_id
97
+
98
+ sig { returns(String) }
99
+ attr_accessor :customer_id
100
+
101
+ sig do
102
+ params(contract_id: String, customer_id: String).returns(
103
+ T.attached_class
104
+ )
105
+ end
106
+ def self.new(contract_id:, customer_id:)
107
+ end
108
+
109
+ sig { override.returns({ contract_id: String, customer_id: String }) }
110
+ def to_hash
111
+ end
112
+ end
113
+
114
+ class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
115
+ OrHash =
116
+ T.type_alias do
117
+ T.any(
118
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior,
119
+ MetronomeSDK::Internal::AnyHash
120
+ )
121
+ end
122
+
123
+ # Indicates the desired behavior of consolidated invoices generated by the parent
124
+ # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
125
+ # customers will be appended to the consolidated invoice **NONE**: Do not generate
126
+ # consolidated invoices
127
+ sig do
128
+ returns(
129
+ T.nilable(
130
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
131
+ )
132
+ )
133
+ end
134
+ attr_reader :invoice_consolidation_type
135
+
136
+ sig do
137
+ params(
138
+ invoice_consolidation_type:
139
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::OrSymbol
140
+ ).void
141
+ end
142
+ attr_writer :invoice_consolidation_type
143
+
144
+ sig do
145
+ params(
146
+ invoice_consolidation_type:
147
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::OrSymbol
148
+ ).returns(T.attached_class)
149
+ end
150
+ def self.new(
151
+ # Indicates the desired behavior of consolidated invoices generated by the parent
152
+ # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
153
+ # customers will be appended to the consolidated invoice **NONE**: Do not generate
154
+ # consolidated invoices
155
+ invoice_consolidation_type: nil
156
+ )
157
+ end
158
+
159
+ sig do
160
+ override.returns(
161
+ {
162
+ invoice_consolidation_type:
163
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
164
+ }
165
+ )
166
+ end
167
+ def to_hash
168
+ end
169
+
170
+ # Indicates the desired behavior of consolidated invoices generated by the parent
171
+ # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
172
+ # customers will be appended to the consolidated invoice **NONE**: Do not generate
173
+ # consolidated invoices
174
+ module InvoiceConsolidationType
175
+ extend MetronomeSDK::Internal::Type::Enum
176
+
177
+ TaggedSymbol =
178
+ T.type_alias do
179
+ T.all(
180
+ Symbol,
181
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType
182
+ )
183
+ end
184
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
185
+
186
+ CONCATENATE =
187
+ T.let(
188
+ :CONCATENATE,
189
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
190
+ )
191
+ NONE =
192
+ T.let(
193
+ :NONE,
194
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
195
+ )
196
+
197
+ sig do
198
+ override.returns(
199
+ T::Array[
200
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType::TaggedSymbol
201
+ ]
202
+ )
203
+ end
204
+ def self.values
205
+ end
206
+ end
207
+ end
208
+ end
209
+
210
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
211
+ OrHash =
212
+ T.type_alias do
213
+ T.any(
214
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration,
215
+ MetronomeSDK::Internal::AnyHash
216
+ )
217
+ end
218
+
219
+ # The single parent contract/customer for this child.
220
+ sig do
221
+ returns(
222
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
223
+ )
224
+ end
225
+ attr_reader :parent
226
+
227
+ sig do
228
+ params(
229
+ parent:
230
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
231
+ ).void
232
+ end
233
+ attr_writer :parent
234
+
235
+ # Indicates whether the parent should pay for the child's invoice charges
236
+ sig do
237
+ returns(
238
+ T.nilable(
239
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::TaggedSymbol
240
+ )
241
+ )
242
+ end
243
+ attr_reader :payer
244
+
245
+ sig do
246
+ params(
247
+ payer:
248
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::OrSymbol
249
+ ).void
250
+ end
251
+ attr_writer :payer
252
+
253
+ # Indicates the behavior of the child's invoice statements on the parent's
254
+ # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
255
+ # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
256
+ # appear on parent's consolidated invoices
257
+ sig do
258
+ returns(
259
+ T.nilable(
260
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::TaggedSymbol
261
+ )
262
+ )
263
+ end
264
+ attr_reader :usage_statement_behavior
265
+
266
+ sig do
267
+ params(
268
+ usage_statement_behavior:
269
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::OrSymbol
270
+ ).void
271
+ end
272
+ attr_writer :usage_statement_behavior
273
+
274
+ sig do
275
+ params(
276
+ parent:
277
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash,
278
+ payer:
279
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::OrSymbol,
280
+ usage_statement_behavior:
281
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::OrSymbol
282
+ ).returns(T.attached_class)
283
+ end
284
+ def self.new(
285
+ # The single parent contract/customer for this child.
286
+ parent:,
287
+ # Indicates whether the parent should pay for the child's invoice charges
288
+ payer: nil,
289
+ # Indicates the behavior of the child's invoice statements on the parent's
290
+ # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
291
+ # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
292
+ # appear on parent's consolidated invoices
293
+ usage_statement_behavior: nil
294
+ )
295
+ end
296
+
297
+ sig do
298
+ override.returns(
299
+ {
300
+ parent:
301
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
302
+ payer:
303
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::TaggedSymbol,
304
+ usage_statement_behavior:
305
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::TaggedSymbol
306
+ }
307
+ )
308
+ end
309
+ def to_hash
310
+ end
311
+
312
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
313
+ OrHash =
314
+ T.type_alias do
315
+ T.any(
316
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
317
+ MetronomeSDK::Internal::AnyHash
318
+ )
319
+ end
320
+
321
+ sig { returns(String) }
322
+ attr_accessor :contract_id
323
+
324
+ sig { returns(String) }
325
+ attr_accessor :customer_id
326
+
327
+ # The single parent contract/customer for this child.
328
+ sig do
329
+ params(contract_id: String, customer_id: String).returns(
330
+ T.attached_class
331
+ )
332
+ end
333
+ def self.new(contract_id:, customer_id:)
334
+ end
335
+
336
+ sig { override.returns({ contract_id: String, customer_id: String }) }
337
+ def to_hash
338
+ end
339
+ end
340
+
341
+ # Indicates whether the parent should pay for the child's invoice charges
342
+ module Payer
343
+ extend MetronomeSDK::Internal::Type::Enum
344
+
345
+ TaggedSymbol =
346
+ T.type_alias do
347
+ T.all(
348
+ Symbol,
349
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer
350
+ )
351
+ end
352
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
353
+
354
+ SELF =
355
+ T.let(
356
+ :SELF,
357
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::TaggedSymbol
358
+ )
359
+ PARENT =
360
+ T.let(
361
+ :PARENT,
362
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::TaggedSymbol
363
+ )
364
+
365
+ sig do
366
+ override.returns(
367
+ T::Array[
368
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer::TaggedSymbol
369
+ ]
370
+ )
371
+ end
372
+ def self.values
373
+ end
374
+ end
375
+
376
+ # Indicates the behavior of the child's invoice statements on the parent's
377
+ # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
378
+ # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
379
+ # appear on parent's consolidated invoices
380
+ module UsageStatementBehavior
381
+ extend MetronomeSDK::Internal::Type::Enum
382
+
383
+ TaggedSymbol =
384
+ T.type_alias do
385
+ T.all(
386
+ Symbol,
387
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior
388
+ )
389
+ end
390
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
391
+
392
+ CONSOLIDATE =
393
+ T.let(
394
+ :CONSOLIDATE,
395
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::TaggedSymbol
396
+ )
397
+ SEPARATE =
398
+ T.let(
399
+ :SEPARATE,
400
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::TaggedSymbol
401
+ )
402
+
403
+ sig do
404
+ override.returns(
405
+ T::Array[
406
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior::TaggedSymbol
407
+ ]
408
+ )
409
+ end
410
+ def self.values
411
+ end
412
+ end
413
+ end
414
+
415
+ sig do
416
+ override.returns(
417
+ T::Array[MetronomeSDK::HierarchyConfiguration::Variants]
418
+ )
419
+ end
420
+ def self.variants
421
+ end
422
+ end
423
+ end
424
+ end
@@ -71,24 +71,20 @@ module MetronomeSDK
71
71
  end
72
72
  attr_writer :override_specifiers
73
73
 
74
- sig { returns(T.nilable(T::Array[MetronomeSDK::Override::OverrideTier])) }
74
+ sig { returns(T.nilable(T::Array[MetronomeSDK::OverrideTier])) }
75
75
  attr_reader :override_tiers
76
76
 
77
77
  sig do
78
78
  params(
79
- override_tiers: T::Array[MetronomeSDK::Override::OverrideTier::OrHash]
79
+ override_tiers: T::Array[MetronomeSDK::OverrideTier::OrHash]
80
80
  ).void
81
81
  end
82
82
  attr_writer :override_tiers
83
83
 
84
- sig { returns(T.nilable(MetronomeSDK::Override::OverwriteRate)) }
84
+ sig { returns(T.nilable(MetronomeSDK::OverwriteRate)) }
85
85
  attr_reader :overwrite_rate
86
86
 
87
- sig do
88
- params(
89
- overwrite_rate: MetronomeSDK::Override::OverwriteRate::OrHash
90
- ).void
91
- end
87
+ sig { params(overwrite_rate: MetronomeSDK::OverwriteRate::OrHash).void }
92
88
  attr_writer :overwrite_rate
93
89
 
94
90
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
@@ -164,9 +160,8 @@ module MetronomeSDK
164
160
  multiplier: Float,
165
161
  override_specifiers:
166
162
  T::Array[MetronomeSDK::Override::OverrideSpecifier::OrHash],
167
- override_tiers:
168
- T::Array[MetronomeSDK::Override::OverrideTier::OrHash],
169
- overwrite_rate: MetronomeSDK::Override::OverwriteRate::OrHash,
163
+ override_tiers: T::Array[MetronomeSDK::OverrideTier::OrHash],
164
+ overwrite_rate: MetronomeSDK::OverwriteRate::OrHash,
170
165
  price: Float,
171
166
  priority: Float,
172
167
  product: MetronomeSDK::Override::Product::OrHash,
@@ -225,8 +220,8 @@ module MetronomeSDK
225
220
  multiplier: Float,
226
221
  override_specifiers:
227
222
  T::Array[MetronomeSDK::Override::OverrideSpecifier],
228
- override_tiers: T::Array[MetronomeSDK::Override::OverrideTier],
229
- overwrite_rate: MetronomeSDK::Override::OverwriteRate,
223
+ override_tiers: T::Array[MetronomeSDK::OverrideTier],
224
+ overwrite_rate: MetronomeSDK::OverwriteRate,
230
225
  price: Float,
231
226
  priority: Float,
232
227
  product: MetronomeSDK::Override::Product,
@@ -402,186 +397,6 @@ module MetronomeSDK
402
397
  end
403
398
  end
404
399
 
405
- class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
406
- OrHash =
407
- T.type_alias do
408
- T.any(
409
- MetronomeSDK::Override::OverrideTier,
410
- MetronomeSDK::Internal::AnyHash
411
- )
412
- end
413
-
414
- sig { returns(Float) }
415
- attr_accessor :multiplier
416
-
417
- sig { returns(T.nilable(Float)) }
418
- attr_reader :size
419
-
420
- sig { params(size: Float).void }
421
- attr_writer :size
422
-
423
- sig { params(multiplier: Float, size: Float).returns(T.attached_class) }
424
- def self.new(multiplier:, size: nil)
425
- end
426
-
427
- sig { override.returns({ multiplier: Float, size: Float }) }
428
- def to_hash
429
- end
430
- end
431
-
432
- class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
433
- OrHash =
434
- T.type_alias do
435
- T.any(
436
- MetronomeSDK::Override::OverwriteRate,
437
- MetronomeSDK::Internal::AnyHash
438
- )
439
- end
440
-
441
- sig do
442
- returns(MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol)
443
- end
444
- attr_accessor :rate_type
445
-
446
- sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
447
- attr_reader :credit_type
448
-
449
- sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
450
- attr_writer :credit_type
451
-
452
- # Only set for CUSTOM rate_type. This field is interpreted by custom rate
453
- # processors.
454
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
455
- attr_reader :custom_rate
456
-
457
- sig { params(custom_rate: T::Hash[Symbol, T.anything]).void }
458
- attr_writer :custom_rate
459
-
460
- # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
461
- # set to true.
462
- sig { returns(T.nilable(T::Boolean)) }
463
- attr_reader :is_prorated
464
-
465
- sig { params(is_prorated: T::Boolean).void }
466
- attr_writer :is_prorated
467
-
468
- # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
469
- # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
470
- sig { returns(T.nilable(Float)) }
471
- attr_reader :price
472
-
473
- sig { params(price: Float).void }
474
- attr_writer :price
475
-
476
- # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
477
- sig { returns(T.nilable(Float)) }
478
- attr_reader :quantity
479
-
480
- sig { params(quantity: Float).void }
481
- attr_writer :quantity
482
-
483
- # Only set for TIERED rate_type.
484
- sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
485
- attr_reader :tiers
486
-
487
- sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
488
- attr_writer :tiers
489
-
490
- sig do
491
- params(
492
- rate_type:
493
- MetronomeSDK::Override::OverwriteRate::RateType::OrSymbol,
494
- credit_type: MetronomeSDK::CreditTypeData::OrHash,
495
- custom_rate: T::Hash[Symbol, T.anything],
496
- is_prorated: T::Boolean,
497
- price: Float,
498
- quantity: Float,
499
- tiers: T::Array[MetronomeSDK::Tier::OrHash]
500
- ).returns(T.attached_class)
501
- end
502
- def self.new(
503
- rate_type:,
504
- credit_type: nil,
505
- # Only set for CUSTOM rate_type. This field is interpreted by custom rate
506
- # processors.
507
- custom_rate: nil,
508
- # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
509
- # set to true.
510
- is_prorated: nil,
511
- # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
512
- # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
513
- price: nil,
514
- # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
515
- quantity: nil,
516
- # Only set for TIERED rate_type.
517
- tiers: nil
518
- )
519
- end
520
-
521
- sig do
522
- override.returns(
523
- {
524
- rate_type:
525
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol,
526
- credit_type: MetronomeSDK::CreditTypeData,
527
- custom_rate: T::Hash[Symbol, T.anything],
528
- is_prorated: T::Boolean,
529
- price: Float,
530
- quantity: Float,
531
- tiers: T::Array[MetronomeSDK::Tier]
532
- }
533
- )
534
- end
535
- def to_hash
536
- end
537
-
538
- module RateType
539
- extend MetronomeSDK::Internal::Type::Enum
540
-
541
- TaggedSymbol =
542
- T.type_alias do
543
- T.all(Symbol, MetronomeSDK::Override::OverwriteRate::RateType)
544
- end
545
- OrSymbol = T.type_alias { T.any(Symbol, String) }
546
-
547
- FLAT =
548
- T.let(
549
- :FLAT,
550
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
551
- )
552
- PERCENTAGE =
553
- T.let(
554
- :PERCENTAGE,
555
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
556
- )
557
- SUBSCRIPTION =
558
- T.let(
559
- :SUBSCRIPTION,
560
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
561
- )
562
- TIERED =
563
- T.let(
564
- :TIERED,
565
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
566
- )
567
- CUSTOM =
568
- T.let(
569
- :CUSTOM,
570
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
571
- )
572
-
573
- sig do
574
- override.returns(
575
- T::Array[
576
- MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
577
- ]
578
- )
579
- end
580
- def self.values
581
- end
582
- end
583
- end
584
-
585
400
  class Product < MetronomeSDK::Internal::Type::BaseModel
586
401
  OrHash =
587
402
  T.type_alias do
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(MetronomeSDK::OverrideTier, MetronomeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Float) }
12
+ attr_accessor :multiplier
13
+
14
+ sig { returns(T.nilable(Float)) }
15
+ attr_reader :size
16
+
17
+ sig { params(size: Float).void }
18
+ attr_writer :size
19
+
20
+ sig { params(multiplier: Float, size: Float).returns(T.attached_class) }
21
+ def self.new(multiplier:, size: nil)
22
+ end
23
+
24
+ sig { override.returns({ multiplier: Float, size: Float }) }
25
+ def to_hash
26
+ end
27
+ end
28
+ end
29
+ end