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,311 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute billing_periods
7
+ # Previous, current, and next billing periods for the subscription.
8
+ #
9
+ # @return [MetronomeSDK::Models::Subscription::BillingPeriods]
10
+ required :billing_periods, -> { MetronomeSDK::Subscription::BillingPeriods }
11
+
12
+ # @!attribute collection_schedule
13
+ #
14
+ # @return [Symbol, MetronomeSDK::Models::Subscription::CollectionSchedule]
15
+ required :collection_schedule, enum: -> { MetronomeSDK::Subscription::CollectionSchedule }
16
+
17
+ # @!attribute proration
18
+ #
19
+ # @return [MetronomeSDK::Models::Subscription::Proration]
20
+ required :proration, -> { MetronomeSDK::Subscription::Proration }
21
+
22
+ # @!attribute quantity_management_mode
23
+ # Determines how the subscription's quantity is controlled. Defaults to
24
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
25
+ # directly on the subscription. `initial_quantity` must be provided with this
26
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
27
+ #
28
+ # @return [Symbol, MetronomeSDK::Models::Subscription::QuantityManagementMode]
29
+ required :quantity_management_mode, enum: -> { MetronomeSDK::Subscription::QuantityManagementMode }
30
+
31
+ # @!attribute quantity_schedule
32
+ # List of quantity schedule items for the subscription. Only includes the current
33
+ # quantity and future quantity changes.
34
+ #
35
+ # @return [Array<MetronomeSDK::Models::Subscription::QuantitySchedule>]
36
+ required :quantity_schedule,
37
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Subscription::QuantitySchedule] }
38
+
39
+ # @!attribute starting_at
40
+ #
41
+ # @return [Time]
42
+ required :starting_at, Time
43
+
44
+ # @!attribute subscription_rate
45
+ #
46
+ # @return [MetronomeSDK::Models::Subscription::SubscriptionRate]
47
+ required :subscription_rate, -> { MetronomeSDK::Subscription::SubscriptionRate }
48
+
49
+ # @!attribute id
50
+ #
51
+ # @return [String, nil]
52
+ optional :id, String
53
+
54
+ # @!attribute custom_fields
55
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
56
+ #
57
+ # @return [Hash{Symbol=>String}, nil]
58
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
59
+
60
+ # @!attribute description
61
+ #
62
+ # @return [String, nil]
63
+ optional :description, String
64
+
65
+ # @!attribute ending_before
66
+ #
67
+ # @return [Time, nil]
68
+ optional :ending_before, Time
69
+
70
+ # @!attribute fiat_credit_type_id
71
+ #
72
+ # @return [String, nil]
73
+ optional :fiat_credit_type_id, String
74
+
75
+ # @!attribute name
76
+ #
77
+ # @return [String, nil]
78
+ optional :name, String
79
+
80
+ # @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil)
81
+ # Some parameter documentations has been truncated, see
82
+ # {MetronomeSDK::Models::Subscription} for more details.
83
+ #
84
+ # @param billing_periods [MetronomeSDK::Models::Subscription::BillingPeriods] Previous, current, and next billing periods for the subscription.
85
+ #
86
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::Subscription::CollectionSchedule]
87
+ #
88
+ # @param proration [MetronomeSDK::Models::Subscription::Proration]
89
+ #
90
+ # @param quantity_management_mode [Symbol, MetronomeSDK::Models::Subscription::QuantityManagementMode] Determines how the subscription's quantity is controlled. Defaults to QUANTITY_O
91
+ #
92
+ # @param quantity_schedule [Array<MetronomeSDK::Models::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
93
+ #
94
+ # @param starting_at [Time]
95
+ #
96
+ # @param subscription_rate [MetronomeSDK::Models::Subscription::SubscriptionRate]
97
+ #
98
+ # @param id [String]
99
+ #
100
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
101
+ #
102
+ # @param description [String]
103
+ #
104
+ # @param ending_before [Time]
105
+ #
106
+ # @param fiat_credit_type_id [String]
107
+ #
108
+ # @param name [String]
109
+
110
+ # @see MetronomeSDK::Models::Subscription#billing_periods
111
+ class BillingPeriods < MetronomeSDK::Internal::Type::BaseModel
112
+ # @!attribute current
113
+ #
114
+ # @return [MetronomeSDK::Models::Subscription::BillingPeriods::Current, nil]
115
+ optional :current, -> { MetronomeSDK::Subscription::BillingPeriods::Current }
116
+
117
+ # @!attribute next_
118
+ #
119
+ # @return [MetronomeSDK::Models::Subscription::BillingPeriods::Next, nil]
120
+ optional :next_, -> { MetronomeSDK::Subscription::BillingPeriods::Next }, api_name: :next
121
+
122
+ # @!attribute previous
123
+ #
124
+ # @return [MetronomeSDK::Models::Subscription::BillingPeriods::Previous, nil]
125
+ optional :previous, -> { MetronomeSDK::Subscription::BillingPeriods::Previous }
126
+
127
+ # @!method initialize(current: nil, next_: nil, previous: nil)
128
+ # Previous, current, and next billing periods for the subscription.
129
+ #
130
+ # @param current [MetronomeSDK::Models::Subscription::BillingPeriods::Current]
131
+ # @param next_ [MetronomeSDK::Models::Subscription::BillingPeriods::Next]
132
+ # @param previous [MetronomeSDK::Models::Subscription::BillingPeriods::Previous]
133
+
134
+ # @see MetronomeSDK::Models::Subscription::BillingPeriods#current
135
+ class Current < MetronomeSDK::Internal::Type::BaseModel
136
+ # @!attribute ending_before
137
+ #
138
+ # @return [Time]
139
+ required :ending_before, Time
140
+
141
+ # @!attribute starting_at
142
+ #
143
+ # @return [Time]
144
+ required :starting_at, Time
145
+
146
+ # @!method initialize(ending_before:, starting_at:)
147
+ # @param ending_before [Time]
148
+ # @param starting_at [Time]
149
+ end
150
+
151
+ # @see MetronomeSDK::Models::Subscription::BillingPeriods#next_
152
+ class Next < MetronomeSDK::Internal::Type::BaseModel
153
+ # @!attribute ending_before
154
+ #
155
+ # @return [Time]
156
+ required :ending_before, Time
157
+
158
+ # @!attribute starting_at
159
+ #
160
+ # @return [Time]
161
+ required :starting_at, Time
162
+
163
+ # @!method initialize(ending_before:, starting_at:)
164
+ # @param ending_before [Time]
165
+ # @param starting_at [Time]
166
+ end
167
+
168
+ # @see MetronomeSDK::Models::Subscription::BillingPeriods#previous
169
+ class Previous < MetronomeSDK::Internal::Type::BaseModel
170
+ # @!attribute ending_before
171
+ #
172
+ # @return [Time]
173
+ required :ending_before, Time
174
+
175
+ # @!attribute starting_at
176
+ #
177
+ # @return [Time]
178
+ required :starting_at, Time
179
+
180
+ # @!method initialize(ending_before:, starting_at:)
181
+ # @param ending_before [Time]
182
+ # @param starting_at [Time]
183
+ end
184
+ end
185
+
186
+ # @see MetronomeSDK::Models::Subscription#collection_schedule
187
+ module CollectionSchedule
188
+ extend MetronomeSDK::Internal::Type::Enum
189
+
190
+ ADVANCE = :ADVANCE
191
+ ARREARS = :ARREARS
192
+
193
+ # @!method self.values
194
+ # @return [Array<Symbol>]
195
+ end
196
+
197
+ # @see MetronomeSDK::Models::Subscription#proration
198
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
199
+ # @!attribute invoice_behavior
200
+ #
201
+ # @return [Symbol, MetronomeSDK::Models::Subscription::Proration::InvoiceBehavior]
202
+ required :invoice_behavior, enum: -> { MetronomeSDK::Subscription::Proration::InvoiceBehavior }
203
+
204
+ # @!attribute is_prorated
205
+ #
206
+ # @return [Boolean]
207
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
208
+
209
+ # @!method initialize(invoice_behavior:, is_prorated:)
210
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::Subscription::Proration::InvoiceBehavior]
211
+ # @param is_prorated [Boolean]
212
+
213
+ # @see MetronomeSDK::Models::Subscription::Proration#invoice_behavior
214
+ module InvoiceBehavior
215
+ extend MetronomeSDK::Internal::Type::Enum
216
+
217
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
218
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
219
+
220
+ # @!method self.values
221
+ # @return [Array<Symbol>]
222
+ end
223
+ end
224
+
225
+ # Determines how the subscription's quantity is controlled. Defaults to
226
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
227
+ # directly on the subscription. `initial_quantity` must be provided with this
228
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
229
+ #
230
+ # @see MetronomeSDK::Models::Subscription#quantity_management_mode
231
+ module QuantityManagementMode
232
+ extend MetronomeSDK::Internal::Type::Enum
233
+
234
+ SEAT_BASED = :SEAT_BASED
235
+ QUANTITY_ONLY = :QUANTITY_ONLY
236
+
237
+ # @!method self.values
238
+ # @return [Array<Symbol>]
239
+ end
240
+
241
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
242
+ # @!attribute quantity
243
+ #
244
+ # @return [Float]
245
+ required :quantity, Float
246
+
247
+ # @!attribute starting_at
248
+ #
249
+ # @return [Time]
250
+ required :starting_at, Time
251
+
252
+ # @!attribute ending_before
253
+ #
254
+ # @return [Time, nil]
255
+ optional :ending_before, Time
256
+
257
+ # @!method initialize(quantity:, starting_at:, ending_before: nil)
258
+ # @param quantity [Float]
259
+ # @param starting_at [Time]
260
+ # @param ending_before [Time]
261
+ end
262
+
263
+ # @see MetronomeSDK::Models::Subscription#subscription_rate
264
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
265
+ # @!attribute billing_frequency
266
+ #
267
+ # @return [Symbol, MetronomeSDK::Models::Subscription::SubscriptionRate::BillingFrequency]
268
+ required :billing_frequency, enum: -> { MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency }
269
+
270
+ # @!attribute product
271
+ #
272
+ # @return [MetronomeSDK::Models::Subscription::SubscriptionRate::Product]
273
+ required :product, -> { MetronomeSDK::Subscription::SubscriptionRate::Product }
274
+
275
+ # @!method initialize(billing_frequency:, product:)
276
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::Subscription::SubscriptionRate::BillingFrequency]
277
+ # @param product [MetronomeSDK::Models::Subscription::SubscriptionRate::Product]
278
+
279
+ # @see MetronomeSDK::Models::Subscription::SubscriptionRate#billing_frequency
280
+ module BillingFrequency
281
+ extend MetronomeSDK::Internal::Type::Enum
282
+
283
+ MONTHLY = :MONTHLY
284
+ QUARTERLY = :QUARTERLY
285
+ ANNUAL = :ANNUAL
286
+ WEEKLY = :WEEKLY
287
+
288
+ # @!method self.values
289
+ # @return [Array<Symbol>]
290
+ end
291
+
292
+ # @see MetronomeSDK::Models::Subscription::SubscriptionRate#product
293
+ class Product < MetronomeSDK::Internal::Type::BaseModel
294
+ # @!attribute id
295
+ #
296
+ # @return [String]
297
+ required :id, String
298
+
299
+ # @!attribute name
300
+ #
301
+ # @return [String]
302
+ required :name, String
303
+
304
+ # @!method initialize(id:, name:)
305
+ # @param id [String]
306
+ # @param name [String]
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class UpdateBaseThresholdCommit < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute description
7
+ #
8
+ # @return [String, nil]
9
+ optional :description, String
10
+
11
+ # @!attribute name
12
+ # Specify the name of the line item for the threshold charge. If left blank, it
13
+ # will default to the commit product name.
14
+ #
15
+ # @return [String, nil]
16
+ optional :name, String
17
+
18
+ # @!attribute product_id
19
+ # The commit product that will be used to generate the line item for commit
20
+ # payment.
21
+ #
22
+ # @return [String, nil]
23
+ optional :product_id, String
24
+
25
+ # @!method initialize(description: nil, name: nil, product_id: nil)
26
+ # Some parameter documentations has been truncated, see
27
+ # {MetronomeSDK::Models::UpdateBaseThresholdCommit} for more details.
28
+ #
29
+ # @param description [String]
30
+ #
31
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
32
+ #
33
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
34
+ end
35
+ end
36
+ end
@@ -9,21 +9,25 @@ module MetronomeSDK
9
9
  include MetronomeSDK::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute id
12
- # The Metronome ID of the alert
12
+ # The Metronome ID of the threshold notification
13
13
  #
14
14
  # @return [String]
15
15
  required :id, String
16
16
 
17
17
  # @!attribute release_uniqueness_key
18
- # If true, resets the uniqueness key on this alert so it can be re-used
18
+ # If true, resets the uniqueness key on this threshold notification so it can be
19
+ # re-used
19
20
  #
20
21
  # @return [Boolean, nil]
21
22
  optional :release_uniqueness_key, MetronomeSDK::Internal::Type::Boolean
22
23
 
23
24
  # @!method initialize(id:, release_uniqueness_key: nil, request_options: {})
24
- # @param id [String] The Metronome ID of the alert
25
+ # Some parameter documentations has been truncated, see
26
+ # {MetronomeSDK::Models::V1::AlertArchiveParams} for more details.
25
27
  #
26
- # @param release_uniqueness_key [Boolean] If true, resets the uniqueness key on this alert so it can be re-used
28
+ # @param id [String] The Metronome ID of the threshold notification
29
+ #
30
+ # @param release_uniqueness_key [Boolean] If true, resets the uniqueness key on this threshold notification so it can be r
27
31
  #
28
32
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
29
33
  end
@@ -9,41 +9,43 @@ module MetronomeSDK
9
9
  include MetronomeSDK::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute alert_type
12
- # Type of the alert
12
+ # Type of the threshold notification
13
13
  #
14
14
  # @return [Symbol, MetronomeSDK::Models::V1::AlertCreateParams::AlertType]
15
15
  required :alert_type, enum: -> { MetronomeSDK::V1::AlertCreateParams::AlertType }
16
16
 
17
17
  # @!attribute name
18
- # Name of the alert
18
+ # Name of the threshold notification
19
19
  #
20
20
  # @return [String]
21
21
  required :name, String
22
22
 
23
23
  # @!attribute threshold
24
- # Threshold value of the alert policy. Depending upon the alert type, this number
25
- # may represent a financial amount, the days remaining, or a percentage reached.
24
+ # Threshold value of the notification policy. Depending upon the notification
25
+ # type, this number may represent a financial amount, the days remaining, or a
26
+ # percentage reached.
26
27
  #
27
28
  # @return [Float]
28
29
  required :threshold, Float
29
30
 
30
31
  # @!attribute billable_metric_id
31
- # For alerts of type `usage_threshold_reached`, specifies which billable metric to
32
- # track the usage for.
32
+ # For threshold notifications of type `usage_threshold_reached`, specifies which
33
+ # billable metric to track the usage for.
33
34
  #
34
35
  # @return [String, nil]
35
36
  optional :billable_metric_id, String
36
37
 
37
38
  # @!attribute credit_grant_type_filters
38
- # An array of strings, representing a way to filter the credit grant this alert
39
- # applies to, by looking at the credit_grant_type field on the credit grant. This
40
- # field is only defined for CreditPercentage and CreditBalance alerts
39
+ # An array of strings, representing a way to filter the credit grant this
40
+ # threshold notification applies to, by looking at the credit_grant_type field on
41
+ # the credit grant. This field is only defined for CreditPercentage and
42
+ # CreditBalance notifications
41
43
  #
42
44
  # @return [Array<String>, nil]
43
45
  optional :credit_grant_type_filters, MetronomeSDK::Internal::Type::ArrayOf[String]
44
46
 
45
47
  # @!attribute credit_type_id
46
- # ID of the credit's currency, defaults to USD. If the specific alert type
48
+ # ID of the credit's currency, defaults to USD. If the specific notification type
47
49
  # requires a pricing unit/currency, find the ID in the
48
50
  # [Metronome app](https://app.metronome.com/offering/pricing-units).
49
51
  #
@@ -51,48 +53,46 @@ module MetronomeSDK
51
53
  optional :credit_type_id, String
52
54
 
53
55
  # @!attribute custom_field_filters
54
- # A list of custom field filters for alert types that support advanced filtering.
55
- # Only present for contract invoices.
56
+ # A list of custom field filters for threshold notification types that support
57
+ # advanced filtering. Only present for contract invoices.
56
58
  #
57
59
  # @return [Array<MetronomeSDK::Models::V1::AlertCreateParams::CustomFieldFilter>, nil]
58
60
  optional :custom_field_filters,
59
- -> {
60
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::AlertCreateParams::CustomFieldFilter]
61
- }
61
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::AlertCreateParams::CustomFieldFilter] }
62
62
 
63
63
  # @!attribute customer_id
64
- # If provided, will create this alert for this specific customer. To create an
65
- # alert for all customers, do not specify a `customer_id`.
64
+ # If provided, will create this threshold notification for this specific customer.
65
+ # To create a notification for all customers, do not specify a `customer_id`.
66
66
  #
67
67
  # @return [String, nil]
68
68
  optional :customer_id, String
69
69
 
70
70
  # @!attribute evaluate_on_create
71
- # If true, the alert will evaluate immediately on customers that already meet the
72
- # alert threshold. If false, it will only evaluate on future customers that
73
- # trigger the alert threshold. Defaults to true.
71
+ # If true, the threshold notification will evaluate immediately on customers that
72
+ # already meet the notification threshold. If false, it will only evaluate on
73
+ # future customers that trigger the threshold. Defaults to true.
74
74
  #
75
75
  # @return [Boolean, nil]
76
76
  optional :evaluate_on_create, MetronomeSDK::Internal::Type::Boolean
77
77
 
78
78
  # @!attribute group_values
79
- # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
80
- # group key on individual line items.
79
+ # Only present for `spend_threshold_reached` notifications. Scope notification to
80
+ # a specific group key on individual line items.
81
81
  #
82
82
  # @return [Array<MetronomeSDK::Models::V1::AlertCreateParams::GroupValue>, nil]
83
83
  optional :group_values,
84
84
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::AlertCreateParams::GroupValue] }
85
85
 
86
86
  # @!attribute invoice_types_filter
87
- # Only supported for invoice_total_reached alerts. A list of invoice types to
88
- # evaluate.
87
+ # Only supported for invoice_total_reached threshold notifications. A list of
88
+ # invoice types to evaluate.
89
89
  #
90
90
  # @return [Array<String>, nil]
91
91
  optional :invoice_types_filter, MetronomeSDK::Internal::Type::ArrayOf[String]
92
92
 
93
93
  # @!attribute plan_id
94
- # If provided, will create this alert for this specific plan. To create an alert
95
- # for all customers, do not specify a `plan_id`.
94
+ # If provided, will create this threshold notification for this specific plan. To
95
+ # create a notification for all customers, do not specify a `plan_id`.
96
96
  #
97
97
  # @return [String, nil]
98
98
  optional :plan_id, String
@@ -109,35 +109,35 @@ module MetronomeSDK
109
109
  # Some parameter documentations has been truncated, see
110
110
  # {MetronomeSDK::Models::V1::AlertCreateParams} for more details.
111
111
  #
112
- # @param alert_type [Symbol, MetronomeSDK::Models::V1::AlertCreateParams::AlertType] Type of the alert
112
+ # @param alert_type [Symbol, MetronomeSDK::Models::V1::AlertCreateParams::AlertType] Type of the threshold notification
113
113
  #
114
- # @param name [String] Name of the alert
114
+ # @param name [String] Name of the threshold notification
115
115
  #
116
- # @param threshold [Float] Threshold value of the alert policy. Depending upon the alert type, this number
116
+ # @param threshold [Float] Threshold value of the notification policy. Depending upon the notification typ
117
117
  #
118
- # @param billable_metric_id [String] For alerts of type `usage_threshold_reached`, specifies which billable metric to
118
+ # @param billable_metric_id [String] For threshold notifications of type `usage_threshold_reached`, specifies which b
119
119
  #
120
- # @param credit_grant_type_filters [Array<String>] An array of strings, representing a way to filter the credit grant this alert ap
120
+ # @param credit_grant_type_filters [Array<String>] An array of strings, representing a way to filter the credit grant this threshol
121
121
  #
122
- # @param credit_type_id [String] ID of the credit's currency, defaults to USD. If the specific alert type require
122
+ # @param credit_type_id [String] ID of the credit's currency, defaults to USD. If the specific notification type
123
123
  #
124
- # @param custom_field_filters [Array<MetronomeSDK::Models::V1::AlertCreateParams::CustomFieldFilter>] A list of custom field filters for alert types that support advanced filtering.
124
+ # @param custom_field_filters [Array<MetronomeSDK::Models::V1::AlertCreateParams::CustomFieldFilter>] A list of custom field filters for threshold notification types that support adv
125
125
  #
126
- # @param customer_id [String] If provided, will create this alert for this specific customer. To create an ale
126
+ # @param customer_id [String] If provided, will create this threshold notification for this specific customer.
127
127
  #
128
- # @param evaluate_on_create [Boolean] If true, the alert will evaluate immediately on customers that already meet the
128
+ # @param evaluate_on_create [Boolean] If true, the threshold notification will evaluate immediately on customers that
129
129
  #
130
- # @param group_values [Array<MetronomeSDK::Models::V1::AlertCreateParams::GroupValue>] Only present for `spend_threshold_reached` alerts. Scope alert to a specific gro
130
+ # @param group_values [Array<MetronomeSDK::Models::V1::AlertCreateParams::GroupValue>] Only present for `spend_threshold_reached` notifications. Scope notification to
131
131
  #
132
- # @param invoice_types_filter [Array<String>] Only supported for invoice_total_reached alerts. A list of invoice types to eval
132
+ # @param invoice_types_filter [Array<String>] Only supported for invoice_total_reached threshold notifications. A list of invo
133
133
  #
134
- # @param plan_id [String] If provided, will create this alert for this specific plan. To create an alert f
134
+ # @param plan_id [String] If provided, will create this threshold notification for this specific plan. To
135
135
  #
136
136
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
137
137
  #
138
138
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
139
139
 
140
- # Type of the alert
140
+ # Type of the threshold notification
141
141
  module AlertType
142
142
  extend MetronomeSDK::Internal::Type::Enum
143
143
 
@@ -204,10 +204,10 @@ module MetronomeSDK
204
204
 
205
205
  # @!attribute value
206
206
  #
207
- # @return [String]
208
- required :value, String
207
+ # @return [String, nil]
208
+ optional :value, String
209
209
 
210
- # @!method initialize(key:, value:)
210
+ # @!method initialize(key:, value: nil)
211
211
  # @param key [String]
212
212
  # @param value [String]
213
213
  end
@@ -44,8 +44,7 @@ module MetronomeSDK
44
44
  # represents a set of properties used to slice events into distinct buckets.
45
45
  #
46
46
  # @return [Array<Array<String>>, nil]
47
- optional :group_keys,
48
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
47
+ optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
49
48
 
50
49
  # @!attribute property_filters
51
50
  # A list of filters to match events to this billable metric. Each filter defines a
@@ -40,6 +40,7 @@ module MetronomeSDK
40
40
  optional :archived_at, Time
41
41
 
42
42
  # @!attribute custom_fields
43
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
43
44
  #
44
45
  # @return [Hash{Symbol=>String}, nil]
45
46
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -55,8 +56,7 @@ module MetronomeSDK
55
56
  # represents a set of properties used to slice events into distinct buckets.
56
57
  #
57
58
  # @return [Array<Array<String>>, nil]
58
- optional :group_keys,
59
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
59
+ optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
60
60
 
61
61
  # @!attribute property_filters
62
62
  # A list of filters to match events to this billable metric. Each filter defines a
@@ -86,7 +86,7 @@ module MetronomeSDK
86
86
  #
87
87
  # @param archived_at [Time] RFC 3339 timestamp indicating when the billable metric was archived. If not prov
88
88
  #
89
- # @param custom_fields [Hash{Symbol=>String}]
89
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
90
90
  #
91
91
  # @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
92
92
  #
@@ -50,6 +50,7 @@ module MetronomeSDK
50
50
  optional :archived_at, Time
51
51
 
52
52
  # @!attribute custom_fields
53
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
53
54
  #
54
55
  # @return [Hash{Symbol=>String}, nil]
55
56
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -65,8 +66,7 @@ module MetronomeSDK
65
66
  # represents a set of properties used to slice events into distinct buckets.
66
67
  #
67
68
  # @return [Array<Array<String>>, nil]
68
- optional :group_keys,
69
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
69
+ optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
70
70
 
71
71
  # @!attribute property_filters
72
72
  # A list of filters to match events to this billable metric. Each filter defines a
@@ -74,10 +74,7 @@ module MetronomeSDK
74
74
  # billable metric.
75
75
  #
76
76
  # @return [Array<MetronomeSDK::Models::PropertyFilter>, nil]
77
- optional :property_filters,
78
- -> {
79
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter]
80
- }
77
+ optional :property_filters, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter] }
81
78
 
82
79
  # @!attribute sql
83
80
  # The SQL query associated with the billable metric
@@ -100,7 +97,7 @@ module MetronomeSDK
100
97
  #
101
98
  # @param archived_at [Time] RFC 3339 timestamp indicating when the billable metric was archived. If not prov
102
99
  #
103
- # @param custom_fields [Hash{Symbol=>String}]
100
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
104
101
  #
105
102
  # @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
106
103
  #