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,635 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(MetronomeSDK::Subscription, MetronomeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ # Previous, current, and next billing periods for the subscription.
12
+ sig { returns(MetronomeSDK::Subscription::BillingPeriods) }
13
+ attr_reader :billing_periods
14
+
15
+ sig do
16
+ params(
17
+ billing_periods: MetronomeSDK::Subscription::BillingPeriods::OrHash
18
+ ).void
19
+ end
20
+ attr_writer :billing_periods
21
+
22
+ sig do
23
+ returns(MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol)
24
+ end
25
+ attr_accessor :collection_schedule
26
+
27
+ sig { returns(MetronomeSDK::Subscription::Proration) }
28
+ attr_reader :proration
29
+
30
+ sig do
31
+ params(proration: MetronomeSDK::Subscription::Proration::OrHash).void
32
+ end
33
+ attr_writer :proration
34
+
35
+ # Determines how the subscription's quantity is controlled. Defaults to
36
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
37
+ # directly on the subscription. `initial_quantity` must be provided with this
38
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
39
+ sig do
40
+ returns(
41
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
42
+ )
43
+ end
44
+ attr_accessor :quantity_management_mode
45
+
46
+ # List of quantity schedule items for the subscription. Only includes the current
47
+ # quantity and future quantity changes.
48
+ sig { returns(T::Array[MetronomeSDK::Subscription::QuantitySchedule]) }
49
+ attr_accessor :quantity_schedule
50
+
51
+ sig { returns(Time) }
52
+ attr_accessor :starting_at
53
+
54
+ sig { returns(MetronomeSDK::Subscription::SubscriptionRate) }
55
+ attr_reader :subscription_rate
56
+
57
+ sig do
58
+ params(
59
+ subscription_rate:
60
+ MetronomeSDK::Subscription::SubscriptionRate::OrHash
61
+ ).void
62
+ end
63
+ attr_writer :subscription_rate
64
+
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :id
67
+
68
+ sig { params(id: String).void }
69
+ attr_writer :id
70
+
71
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
72
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
73
+ attr_reader :custom_fields
74
+
75
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
76
+ attr_writer :custom_fields
77
+
78
+ sig { returns(T.nilable(String)) }
79
+ attr_reader :description
80
+
81
+ sig { params(description: String).void }
82
+ attr_writer :description
83
+
84
+ sig { returns(T.nilable(Time)) }
85
+ attr_reader :ending_before
86
+
87
+ sig { params(ending_before: Time).void }
88
+ attr_writer :ending_before
89
+
90
+ sig { returns(T.nilable(String)) }
91
+ attr_reader :fiat_credit_type_id
92
+
93
+ sig { params(fiat_credit_type_id: String).void }
94
+ attr_writer :fiat_credit_type_id
95
+
96
+ sig { returns(T.nilable(String)) }
97
+ attr_reader :name
98
+
99
+ sig { params(name: String).void }
100
+ attr_writer :name
101
+
102
+ sig do
103
+ params(
104
+ billing_periods: MetronomeSDK::Subscription::BillingPeriods::OrHash,
105
+ collection_schedule:
106
+ MetronomeSDK::Subscription::CollectionSchedule::OrSymbol,
107
+ proration: MetronomeSDK::Subscription::Proration::OrHash,
108
+ quantity_management_mode:
109
+ MetronomeSDK::Subscription::QuantityManagementMode::OrSymbol,
110
+ quantity_schedule:
111
+ T::Array[MetronomeSDK::Subscription::QuantitySchedule::OrHash],
112
+ starting_at: Time,
113
+ subscription_rate:
114
+ MetronomeSDK::Subscription::SubscriptionRate::OrHash,
115
+ id: String,
116
+ custom_fields: T::Hash[Symbol, String],
117
+ description: String,
118
+ ending_before: Time,
119
+ fiat_credit_type_id: String,
120
+ name: String
121
+ ).returns(T.attached_class)
122
+ end
123
+ def self.new(
124
+ # Previous, current, and next billing periods for the subscription.
125
+ billing_periods:,
126
+ collection_schedule:,
127
+ proration:,
128
+ # Determines how the subscription's quantity is controlled. Defaults to
129
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
130
+ # directly on the subscription. `initial_quantity` must be provided with this
131
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
132
+ quantity_management_mode:,
133
+ # List of quantity schedule items for the subscription. Only includes the current
134
+ # quantity and future quantity changes.
135
+ quantity_schedule:,
136
+ starting_at:,
137
+ subscription_rate:,
138
+ id: nil,
139
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
140
+ custom_fields: nil,
141
+ description: nil,
142
+ ending_before: nil,
143
+ fiat_credit_type_id: nil,
144
+ name: nil
145
+ )
146
+ end
147
+
148
+ sig do
149
+ override.returns(
150
+ {
151
+ billing_periods: MetronomeSDK::Subscription::BillingPeriods,
152
+ collection_schedule:
153
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol,
154
+ proration: MetronomeSDK::Subscription::Proration,
155
+ quantity_management_mode:
156
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol,
157
+ quantity_schedule:
158
+ T::Array[MetronomeSDK::Subscription::QuantitySchedule],
159
+ starting_at: Time,
160
+ subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
161
+ id: String,
162
+ custom_fields: T::Hash[Symbol, String],
163
+ description: String,
164
+ ending_before: Time,
165
+ fiat_credit_type_id: String,
166
+ name: String
167
+ }
168
+ )
169
+ end
170
+ def to_hash
171
+ end
172
+
173
+ class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
174
+ OrHash =
175
+ T.type_alias do
176
+ T.any(
177
+ MetronomeSDK::Subscription::BillingPeriods,
178
+ MetronomeSDK::Internal::AnyHash
179
+ )
180
+ end
181
+
182
+ sig do
183
+ returns(
184
+ T.nilable(MetronomeSDK::Subscription::BillingPeriods::Current)
185
+ )
186
+ end
187
+ attr_reader :current
188
+
189
+ sig do
190
+ params(
191
+ current: MetronomeSDK::Subscription::BillingPeriods::Current::OrHash
192
+ ).void
193
+ end
194
+ attr_writer :current
195
+
196
+ sig do
197
+ returns(T.nilable(MetronomeSDK::Subscription::BillingPeriods::Next))
198
+ end
199
+ attr_reader :next_
200
+
201
+ sig do
202
+ params(
203
+ next_: MetronomeSDK::Subscription::BillingPeriods::Next::OrHash
204
+ ).void
205
+ end
206
+ attr_writer :next_
207
+
208
+ sig do
209
+ returns(
210
+ T.nilable(MetronomeSDK::Subscription::BillingPeriods::Previous)
211
+ )
212
+ end
213
+ attr_reader :previous
214
+
215
+ sig do
216
+ params(
217
+ previous:
218
+ MetronomeSDK::Subscription::BillingPeriods::Previous::OrHash
219
+ ).void
220
+ end
221
+ attr_writer :previous
222
+
223
+ # Previous, current, and next billing periods for the subscription.
224
+ sig do
225
+ params(
226
+ current:
227
+ MetronomeSDK::Subscription::BillingPeriods::Current::OrHash,
228
+ next_: MetronomeSDK::Subscription::BillingPeriods::Next::OrHash,
229
+ previous:
230
+ MetronomeSDK::Subscription::BillingPeriods::Previous::OrHash
231
+ ).returns(T.attached_class)
232
+ end
233
+ def self.new(current: nil, next_: nil, previous: nil)
234
+ end
235
+
236
+ sig do
237
+ override.returns(
238
+ {
239
+ current: MetronomeSDK::Subscription::BillingPeriods::Current,
240
+ next_: MetronomeSDK::Subscription::BillingPeriods::Next,
241
+ previous: MetronomeSDK::Subscription::BillingPeriods::Previous
242
+ }
243
+ )
244
+ end
245
+ def to_hash
246
+ end
247
+
248
+ class Current < MetronomeSDK::Internal::Type::BaseModel
249
+ OrHash =
250
+ T.type_alias do
251
+ T.any(
252
+ MetronomeSDK::Subscription::BillingPeriods::Current,
253
+ MetronomeSDK::Internal::AnyHash
254
+ )
255
+ end
256
+
257
+ sig { returns(Time) }
258
+ attr_accessor :ending_before
259
+
260
+ sig { returns(Time) }
261
+ attr_accessor :starting_at
262
+
263
+ sig do
264
+ params(ending_before: Time, starting_at: Time).returns(
265
+ T.attached_class
266
+ )
267
+ end
268
+ def self.new(ending_before:, starting_at:)
269
+ end
270
+
271
+ sig { override.returns({ ending_before: Time, starting_at: Time }) }
272
+ def to_hash
273
+ end
274
+ end
275
+
276
+ class Next < MetronomeSDK::Internal::Type::BaseModel
277
+ OrHash =
278
+ T.type_alias do
279
+ T.any(
280
+ MetronomeSDK::Subscription::BillingPeriods::Next,
281
+ MetronomeSDK::Internal::AnyHash
282
+ )
283
+ end
284
+
285
+ sig { returns(Time) }
286
+ attr_accessor :ending_before
287
+
288
+ sig { returns(Time) }
289
+ attr_accessor :starting_at
290
+
291
+ sig do
292
+ params(ending_before: Time, starting_at: Time).returns(
293
+ T.attached_class
294
+ )
295
+ end
296
+ def self.new(ending_before:, starting_at:)
297
+ end
298
+
299
+ sig { override.returns({ ending_before: Time, starting_at: Time }) }
300
+ def to_hash
301
+ end
302
+ end
303
+
304
+ class Previous < MetronomeSDK::Internal::Type::BaseModel
305
+ OrHash =
306
+ T.type_alias do
307
+ T.any(
308
+ MetronomeSDK::Subscription::BillingPeriods::Previous,
309
+ MetronomeSDK::Internal::AnyHash
310
+ )
311
+ end
312
+
313
+ sig { returns(Time) }
314
+ attr_accessor :ending_before
315
+
316
+ sig { returns(Time) }
317
+ attr_accessor :starting_at
318
+
319
+ sig do
320
+ params(ending_before: Time, starting_at: Time).returns(
321
+ T.attached_class
322
+ )
323
+ end
324
+ def self.new(ending_before:, starting_at:)
325
+ end
326
+
327
+ sig { override.returns({ ending_before: Time, starting_at: Time }) }
328
+ def to_hash
329
+ end
330
+ end
331
+ end
332
+
333
+ module CollectionSchedule
334
+ extend MetronomeSDK::Internal::Type::Enum
335
+
336
+ TaggedSymbol =
337
+ T.type_alias do
338
+ T.all(Symbol, MetronomeSDK::Subscription::CollectionSchedule)
339
+ end
340
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
341
+
342
+ ADVANCE =
343
+ T.let(
344
+ :ADVANCE,
345
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol
346
+ )
347
+ ARREARS =
348
+ T.let(
349
+ :ARREARS,
350
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol
351
+ )
352
+
353
+ sig do
354
+ override.returns(
355
+ T::Array[
356
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol
357
+ ]
358
+ )
359
+ end
360
+ def self.values
361
+ end
362
+ end
363
+
364
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
365
+ OrHash =
366
+ T.type_alias do
367
+ T.any(
368
+ MetronomeSDK::Subscription::Proration,
369
+ MetronomeSDK::Internal::AnyHash
370
+ )
371
+ end
372
+
373
+ sig do
374
+ returns(
375
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
376
+ )
377
+ end
378
+ attr_accessor :invoice_behavior
379
+
380
+ sig { returns(T::Boolean) }
381
+ attr_accessor :is_prorated
382
+
383
+ sig do
384
+ params(
385
+ invoice_behavior:
386
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::OrSymbol,
387
+ is_prorated: T::Boolean
388
+ ).returns(T.attached_class)
389
+ end
390
+ def self.new(invoice_behavior:, is_prorated:)
391
+ end
392
+
393
+ sig do
394
+ override.returns(
395
+ {
396
+ invoice_behavior:
397
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
398
+ is_prorated: T::Boolean
399
+ }
400
+ )
401
+ end
402
+ def to_hash
403
+ end
404
+
405
+ module InvoiceBehavior
406
+ extend MetronomeSDK::Internal::Type::Enum
407
+
408
+ TaggedSymbol =
409
+ T.type_alias do
410
+ T.all(
411
+ Symbol,
412
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior
413
+ )
414
+ end
415
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
416
+
417
+ BILL_IMMEDIATELY =
418
+ T.let(
419
+ :BILL_IMMEDIATELY,
420
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
421
+ )
422
+ BILL_ON_NEXT_COLLECTION_DATE =
423
+ T.let(
424
+ :BILL_ON_NEXT_COLLECTION_DATE,
425
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
426
+ )
427
+
428
+ sig do
429
+ override.returns(
430
+ T::Array[
431
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
432
+ ]
433
+ )
434
+ end
435
+ def self.values
436
+ end
437
+ end
438
+ end
439
+
440
+ # Determines how the subscription's quantity is controlled. Defaults to
441
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
442
+ # directly on the subscription. `initial_quantity` must be provided with this
443
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
444
+ module QuantityManagementMode
445
+ extend MetronomeSDK::Internal::Type::Enum
446
+
447
+ TaggedSymbol =
448
+ T.type_alias do
449
+ T.all(Symbol, MetronomeSDK::Subscription::QuantityManagementMode)
450
+ end
451
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
452
+
453
+ SEAT_BASED =
454
+ T.let(
455
+ :SEAT_BASED,
456
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
457
+ )
458
+ QUANTITY_ONLY =
459
+ T.let(
460
+ :QUANTITY_ONLY,
461
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
462
+ )
463
+
464
+ sig do
465
+ override.returns(
466
+ T::Array[
467
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
468
+ ]
469
+ )
470
+ end
471
+ def self.values
472
+ end
473
+ end
474
+
475
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
476
+ OrHash =
477
+ T.type_alias do
478
+ T.any(
479
+ MetronomeSDK::Subscription::QuantitySchedule,
480
+ MetronomeSDK::Internal::AnyHash
481
+ )
482
+ end
483
+
484
+ sig { returns(Float) }
485
+ attr_accessor :quantity
486
+
487
+ sig { returns(Time) }
488
+ attr_accessor :starting_at
489
+
490
+ sig { returns(T.nilable(Time)) }
491
+ attr_reader :ending_before
492
+
493
+ sig { params(ending_before: Time).void }
494
+ attr_writer :ending_before
495
+
496
+ sig do
497
+ params(
498
+ quantity: Float,
499
+ starting_at: Time,
500
+ ending_before: Time
501
+ ).returns(T.attached_class)
502
+ end
503
+ def self.new(quantity:, starting_at:, ending_before: nil)
504
+ end
505
+
506
+ sig do
507
+ override.returns(
508
+ { quantity: Float, starting_at: Time, ending_before: Time }
509
+ )
510
+ end
511
+ def to_hash
512
+ end
513
+ end
514
+
515
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
516
+ OrHash =
517
+ T.type_alias do
518
+ T.any(
519
+ MetronomeSDK::Subscription::SubscriptionRate,
520
+ MetronomeSDK::Internal::AnyHash
521
+ )
522
+ end
523
+
524
+ sig do
525
+ returns(
526
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
527
+ )
528
+ end
529
+ attr_accessor :billing_frequency
530
+
531
+ sig { returns(MetronomeSDK::Subscription::SubscriptionRate::Product) }
532
+ attr_reader :product
533
+
534
+ sig do
535
+ params(
536
+ product:
537
+ MetronomeSDK::Subscription::SubscriptionRate::Product::OrHash
538
+ ).void
539
+ end
540
+ attr_writer :product
541
+
542
+ sig do
543
+ params(
544
+ billing_frequency:
545
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
546
+ product:
547
+ MetronomeSDK::Subscription::SubscriptionRate::Product::OrHash
548
+ ).returns(T.attached_class)
549
+ end
550
+ def self.new(billing_frequency:, product:)
551
+ end
552
+
553
+ sig do
554
+ override.returns(
555
+ {
556
+ billing_frequency:
557
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol,
558
+ product: MetronomeSDK::Subscription::SubscriptionRate::Product
559
+ }
560
+ )
561
+ end
562
+ def to_hash
563
+ end
564
+
565
+ module BillingFrequency
566
+ extend MetronomeSDK::Internal::Type::Enum
567
+
568
+ TaggedSymbol =
569
+ T.type_alias do
570
+ T.all(
571
+ Symbol,
572
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency
573
+ )
574
+ end
575
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
576
+
577
+ MONTHLY =
578
+ T.let(
579
+ :MONTHLY,
580
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
581
+ )
582
+ QUARTERLY =
583
+ T.let(
584
+ :QUARTERLY,
585
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
586
+ )
587
+ ANNUAL =
588
+ T.let(
589
+ :ANNUAL,
590
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
591
+ )
592
+ WEEKLY =
593
+ T.let(
594
+ :WEEKLY,
595
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
596
+ )
597
+
598
+ sig do
599
+ override.returns(
600
+ T::Array[
601
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
602
+ ]
603
+ )
604
+ end
605
+ def self.values
606
+ end
607
+ end
608
+
609
+ class Product < MetronomeSDK::Internal::Type::BaseModel
610
+ OrHash =
611
+ T.type_alias do
612
+ T.any(
613
+ MetronomeSDK::Subscription::SubscriptionRate::Product,
614
+ MetronomeSDK::Internal::AnyHash
615
+ )
616
+ end
617
+
618
+ sig { returns(String) }
619
+ attr_accessor :id
620
+
621
+ sig { returns(String) }
622
+ attr_accessor :name
623
+
624
+ sig { params(id: String, name: String).returns(T.attached_class) }
625
+ def self.new(id:, name:)
626
+ end
627
+
628
+ sig { override.returns({ id: String, name: String }) }
629
+ def to_hash
630
+ end
631
+ end
632
+ end
633
+ end
634
+ end
635
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class UpdateBaseThresholdCommit < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::UpdateBaseThresholdCommit,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :description
16
+
17
+ sig { params(description: String).void }
18
+ attr_writer :description
19
+
20
+ # Specify the name of the line item for the threshold charge. If left blank, it
21
+ # will default to the commit product name.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :name
24
+
25
+ sig { params(name: String).void }
26
+ attr_writer :name
27
+
28
+ # The commit product that will be used to generate the line item for commit
29
+ # payment.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :product_id
32
+
33
+ sig { params(product_id: String).void }
34
+ attr_writer :product_id
35
+
36
+ sig do
37
+ params(description: String, name: String, product_id: String).returns(
38
+ T.attached_class
39
+ )
40
+ end
41
+ def self.new(
42
+ description: nil,
43
+ # Specify the name of the line item for the threshold charge. If left blank, it
44
+ # will default to the commit product name.
45
+ name: nil,
46
+ # The commit product that will be used to generate the line item for commit
47
+ # payment.
48
+ product_id: nil
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ { description: String, name: String, product_id: String }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
@@ -15,11 +15,12 @@ module MetronomeSDK
15
15
  )
16
16
  end
17
17
 
18
- # The Metronome ID of the alert
18
+ # The Metronome ID of the threshold notification
19
19
  sig { returns(String) }
20
20
  attr_accessor :id
21
21
 
22
- # If true, resets the uniqueness key on this alert so it can be re-used
22
+ # If true, resets the uniqueness key on this threshold notification so it can be
23
+ # re-used
23
24
  sig { returns(T.nilable(T::Boolean)) }
24
25
  attr_reader :release_uniqueness_key
25
26
 
@@ -34,9 +35,10 @@ module MetronomeSDK
34
35
  ).returns(T.attached_class)
35
36
  end
36
37
  def self.new(
37
- # The Metronome ID of the alert
38
+ # The Metronome ID of the threshold notification
38
39
  id:,
39
- # If true, resets the uniqueness key on this alert so it can be re-used
40
+ # If true, resets the uniqueness key on this threshold notification so it can be
41
+ # re-used
40
42
  release_uniqueness_key: nil,
41
43
  request_options: {}
42
44
  )