metronome-sdk 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -18,6 +18,7 @@ module MetronomeSDK
18
18
  required :created_at, Time
19
19
 
20
20
  # @!attribute custom_fields
21
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
21
22
  #
22
23
  # @return [Hash{Symbol=>String}]
23
24
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -67,7 +68,7 @@ module MetronomeSDK
67
68
  #
68
69
  # @param created_at [Time] RFC 3339 timestamp indicating when the customer was created.
69
70
  #
70
- # @param custom_fields [Hash{Symbol=>String}]
71
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
71
72
  #
72
73
  # @param customer_config [MetronomeSDK::Models::V1::CustomerDetail::CustomerConfig]
73
74
  #
@@ -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]
@@ -77,8 +78,7 @@ module MetronomeSDK
77
78
  # represents a set of properties used to slice events into distinct buckets.
78
79
  #
79
80
  # @return [Array<Array<String>>, nil]
80
- optional :group_keys,
81
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
81
+ optional :group_keys, MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
82
82
 
83
83
  # @!attribute property_filters
84
84
  # A list of filters to match events to this billable metric. Each filter defines a
@@ -113,7 +113,7 @@ module MetronomeSDK
113
113
  #
114
114
  # @param archived_at [Time] RFC 3339 timestamp indicating when the billable metric was archived. If not prov
115
115
  #
116
- # @param custom_fields [Hash{Symbol=>String}]
116
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
117
117
  #
118
118
  # @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
119
119
  #
@@ -17,9 +17,7 @@ module MetronomeSDK
17
17
  #
18
18
  # @return [Array<MetronomeSDK::Models::V1::CustomerPreviewEventsParams::Event>]
19
19
  required :events,
20
- -> {
21
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::CustomerPreviewEventsParams::Event]
22
- }
20
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::CustomerPreviewEventsParams::Event] }
23
21
 
24
22
  # @!attribute mode
25
23
  # If set to "replace", the preview will be generated as if those were the only
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#retrieve_billing_configurations
7
+ class CustomerRetrieveBillingConfigurationsParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute customer_id
12
+ #
13
+ # @return [String]
14
+ required :customer_id, String
15
+
16
+ # @!attribute include_archived
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :include_archived, MetronomeSDK::Internal::Type::Boolean
20
+
21
+ # @!method initialize(customer_id:, include_archived: nil, request_options: {})
22
+ # @param customer_id [String]
23
+ # @param include_archived [Boolean]
24
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#retrieve_billing_configurations
7
+ class CustomerRetrieveBillingConfigurationsResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [Array<MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data>]
11
+ required :data,
12
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data] }
13
+
14
+ # @!method initialize(data:)
15
+ # @param data [Array<MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data>]
16
+
17
+ class Data < MetronomeSDK::Internal::Type::BaseModel
18
+ # @!attribute id
19
+ # ID of this configuration; can be provided as the
20
+ # billing_provider_configuration_id when creating a contract.
21
+ #
22
+ # @return [String]
23
+ required :id, String
24
+
25
+ # @!attribute archived_at
26
+ #
27
+ # @return [Time, nil]
28
+ required :archived_at, Time, nil?: true
29
+
30
+ # @!attribute billing_provider
31
+ # The billing provider set for this configuration.
32
+ #
33
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider]
34
+ required :billing_provider,
35
+ enum: -> { MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider }
36
+
37
+ # @!attribute configuration
38
+ # Configuration for the billing provider. The structure of this object is specific
39
+ # to the billing provider.
40
+ #
41
+ # @return [Hash{Symbol=>Object}]
42
+ required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
43
+
44
+ # @!attribute customer_id
45
+ #
46
+ # @return [String]
47
+ required :customer_id, String
48
+
49
+ # @!attribute delivery_method
50
+ # The method to use for delivering invoices to this customer.
51
+ #
52
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod]
53
+ required :delivery_method,
54
+ enum: -> { MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod }
55
+
56
+ # @!attribute delivery_method_configuration
57
+ # Configuration for the delivery method. The structure of this object is specific
58
+ # to the delivery method.
59
+ #
60
+ # @return [Hash{Symbol=>Object}]
61
+ required :delivery_method_configuration,
62
+ MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
63
+
64
+ # @!attribute delivery_method_id
65
+ # ID of the delivery method to use for this customer.
66
+ #
67
+ # @return [String]
68
+ required :delivery_method_id, String
69
+
70
+ # @!method initialize(id:, archived_at:, billing_provider:, configuration:, customer_id:, delivery_method:, delivery_method_configuration:, delivery_method_id:)
71
+ # Some parameter documentations has been truncated, see
72
+ # {MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data}
73
+ # for more details.
74
+ #
75
+ # @param id [String] ID of this configuration; can be provided as the billing*provider_configuration*
76
+ #
77
+ # @param archived_at [Time, nil]
78
+ #
79
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider] The billing provider set for this configuration.
80
+ #
81
+ # @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
82
+ #
83
+ # @param customer_id [String]
84
+ #
85
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod] The method to use for delivering invoices to this customer.
86
+ #
87
+ # @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
88
+ #
89
+ # @param delivery_method_id [String] ID of the delivery method to use for this customer.
90
+
91
+ # The billing provider set for this configuration.
92
+ #
93
+ # @see MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data#billing_provider
94
+ module BillingProvider
95
+ extend MetronomeSDK::Internal::Type::Enum
96
+
97
+ AWS_MARKETPLACE = :aws_marketplace
98
+ STRIPE = :stripe
99
+ NETSUITE = :netsuite
100
+ CUSTOM = :custom
101
+ AZURE_MARKETPLACE = :azure_marketplace
102
+ QUICKBOOKS_ONLINE = :quickbooks_online
103
+ WORKDAY = :workday
104
+ GCP_MARKETPLACE = :gcp_marketplace
105
+
106
+ # @!method self.values
107
+ # @return [Array<Symbol>]
108
+ end
109
+
110
+ # The method to use for delivering invoices to this customer.
111
+ #
112
+ # @see MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data#delivery_method
113
+ module DeliveryMethod
114
+ extend MetronomeSDK::Internal::Type::Enum
115
+
116
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
117
+ AWS_SQS = :aws_sqs
118
+ TACKLE = :tackle
119
+ AWS_SNS = :aws_sns
120
+
121
+ # @!method self.values
122
+ # @return [Array<Symbol>]
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#set_billing_configurations
7
+ class CustomerSetBillingConfigurationsParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute data
12
+ #
13
+ # @return [Array<MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data>]
14
+ required :data,
15
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data] }
16
+
17
+ # @!method initialize(data:, request_options: {})
18
+ # @param data [Array<MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data>]
19
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
20
+
21
+ class Data < MetronomeSDK::Internal::Type::BaseModel
22
+ # @!attribute billing_provider
23
+ # The billing provider set for this configuration.
24
+ #
25
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider]
26
+ required :billing_provider,
27
+ enum: -> { MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider }
28
+
29
+ # @!attribute customer_id
30
+ #
31
+ # @return [String]
32
+ required :customer_id, String
33
+
34
+ # @!attribute configuration
35
+ # Configuration for the billing provider. The structure of this object is specific
36
+ # to the billing provider and delivery method combination. Defaults to an empty
37
+ # object, however, for most billing provider + delivery method combinations, it
38
+ # will not be a valid configuration. For AWS marketplace configurations, the
39
+ # aws_is_subscription_product flag can be used to indicate a product with
40
+ # usage-based pricing. More information can be found
41
+ # [here](https://docs.metronome.com/invoice-customers/solutions/marketplaces/invoice-aws/#provision-aws-marketplace-customers-in-metronome).
42
+ #
43
+ # @return [Hash{Symbol=>Object}, nil]
44
+ optional :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
45
+
46
+ # @!attribute delivery_method
47
+ # The method to use for delivering invoices to this customer. If not provided, the
48
+ # `delivery_method_id` must be provided.
49
+ #
50
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod, nil]
51
+ optional :delivery_method,
52
+ enum: -> { MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod }
53
+
54
+ # @!attribute delivery_method_id
55
+ # ID of the delivery method to use for this customer. If not provided, the
56
+ # `delivery_method` must be provided.
57
+ #
58
+ # @return [String, nil]
59
+ optional :delivery_method_id, String
60
+
61
+ # @!attribute tax_provider
62
+ # Specifies which tax provider Metronome should use for tax calculation when
63
+ # billing through Stripe. This is only supported for Stripe billing provider
64
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
65
+ # collection methods.
66
+ #
67
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider, nil]
68
+ optional :tax_provider,
69
+ enum: -> { MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider }
70
+
71
+ # @!method initialize(billing_provider:, customer_id:, configuration: nil, delivery_method: nil, delivery_method_id: nil, tax_provider: nil)
72
+ # Some parameter documentations has been truncated, see
73
+ # {MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data} for
74
+ # more details.
75
+ #
76
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider] The billing provider set for this configuration.
77
+ #
78
+ # @param customer_id [String]
79
+ #
80
+ # @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
81
+ #
82
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod] The method to use for delivering invoices to this customer. If not provided, the
83
+ #
84
+ # @param delivery_method_id [String] ID of the delivery method to use for this customer. If not provided, the `delive
85
+ #
86
+ # @param tax_provider [Symbol, MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider] Specifies which tax provider Metronome should use for tax calculation when billi
87
+
88
+ # The billing provider set for this configuration.
89
+ #
90
+ # @see MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data#billing_provider
91
+ module BillingProvider
92
+ extend MetronomeSDK::Internal::Type::Enum
93
+
94
+ AWS_MARKETPLACE = :aws_marketplace
95
+ STRIPE = :stripe
96
+ NETSUITE = :netsuite
97
+ CUSTOM = :custom
98
+ AZURE_MARKETPLACE = :azure_marketplace
99
+ QUICKBOOKS_ONLINE = :quickbooks_online
100
+ WORKDAY = :workday
101
+ GCP_MARKETPLACE = :gcp_marketplace
102
+
103
+ # @!method self.values
104
+ # @return [Array<Symbol>]
105
+ end
106
+
107
+ # The method to use for delivering invoices to this customer. If not provided, the
108
+ # `delivery_method_id` must be provided.
109
+ #
110
+ # @see MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data#delivery_method
111
+ module DeliveryMethod
112
+ extend MetronomeSDK::Internal::Type::Enum
113
+
114
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
115
+ AWS_SQS = :aws_sqs
116
+ TACKLE = :tackle
117
+ AWS_SNS = :aws_sns
118
+
119
+ # @!method self.values
120
+ # @return [Array<Symbol>]
121
+ end
122
+
123
+ # Specifies which tax provider Metronome should use for tax calculation when
124
+ # billing through Stripe. This is only supported for Stripe billing provider
125
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
126
+ # collection methods.
127
+ #
128
+ # @see MetronomeSDK::Models::V1::CustomerSetBillingConfigurationsParams::Data#tax_provider
129
+ module TaxProvider
130
+ extend MetronomeSDK::Internal::Type::Enum
131
+
132
+ ANROK = :anrok
133
+ AVALARA = :avalara
134
+ STRIPE = :stripe
135
+
136
+ # @!method self.values
137
+ # @return [Array<Symbol>]
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
@@ -27,9 +27,7 @@ module MetronomeSDK
27
27
  #
28
28
  # @return [Array<Symbol, MetronomeSDK::Models::V1::Customers::AlertListParams::AlertStatus>, nil]
29
29
  optional :alert_statuses,
30
- -> {
31
- MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::Customers::AlertListParams::AlertStatus]
32
- }
30
+ -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::Customers::AlertListParams::AlertStatus] }
33
31
 
34
32
  # @!method initialize(customer_id:, next_page: nil, alert_statuses: nil, request_options: {})
35
33
  # Some parameter documentations has been truncated, see
@@ -21,6 +21,14 @@ module MetronomeSDK
21
21
  # @return [String]
22
22
  required :customer_id, String
23
23
 
24
+ # @!attribute group_values
25
+ # Only present for `spend_threshold_reached` alerts. Retrieve the alert for a
26
+ # specific group key-value pair.
27
+ #
28
+ # @return [Array<MetronomeSDK::Models::V1::Customers::AlertRetrieveParams::GroupValue>, nil]
29
+ optional :group_values,
30
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue] }
31
+
24
32
  # @!attribute plans_or_contracts
25
33
  # When parallel alerts are enabled during migration, this flag denotes whether to
26
34
  # fetch alerts for plans or contracts.
@@ -29,7 +37,7 @@ module MetronomeSDK
29
37
  optional :plans_or_contracts,
30
38
  enum: -> { MetronomeSDK::V1::Customers::AlertRetrieveParams::PlansOrContracts }
31
39
 
32
- # @!method initialize(alert_id:, customer_id:, plans_or_contracts: nil, request_options: {})
40
+ # @!method initialize(alert_id:, customer_id:, group_values: nil, plans_or_contracts: nil, request_options: {})
33
41
  # Some parameter documentations has been truncated, see
34
42
  # {MetronomeSDK::Models::V1::Customers::AlertRetrieveParams} for more details.
35
43
  #
@@ -37,10 +45,31 @@ module MetronomeSDK
37
45
  #
38
46
  # @param customer_id [String] The Metronome ID of the customer
39
47
  #
48
+ # @param group_values [Array<MetronomeSDK::Models::V1::Customers::AlertRetrieveParams::GroupValue>] Only present for `spend_threshold_reached` alerts. Retrieve the alert for a spec
49
+ #
40
50
  # @param plans_or_contracts [Symbol, MetronomeSDK::Models::V1::Customers::AlertRetrieveParams::PlansOrContracts] When parallel alerts are enabled during migration, this flag denotes whether to
41
51
  #
42
52
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
43
53
 
54
+ class GroupValue < MetronomeSDK::Internal::Type::BaseModel
55
+ # @!attribute key
56
+ #
57
+ # @return [String]
58
+ required :key, String
59
+
60
+ # @!attribute value
61
+ #
62
+ # @return [String]
63
+ required :value, String
64
+
65
+ # @!method initialize(key:, value:)
66
+ # Scopes alert evaluation to a specific presentation group key on individual line
67
+ # items. Only present for spend alerts.
68
+ #
69
+ # @param key [String]
70
+ # @param value [String]
71
+ end
72
+
44
73
  # When parallel alerts are enabled during migration, this flag denotes whether to
45
74
  # fetch alerts for plans or contracts.
46
75
  module PlansOrContracts
@@ -116,6 +116,8 @@ module MetronomeSDK
116
116
 
117
117
  CHARGE_AUTOMATICALLY = :charge_automatically
118
118
  SEND_INVOICE = :send_invoice
119
+ AUTO_CHARGE_PAYMENT_INTENT = :auto_charge_payment_intent
120
+ MANUALLY_CHARGE_PAYMENT_INTENT = :manually_charge_payment_intent
119
121
 
120
122
  # @!method self.values
121
123
  # @return [Array<Symbol>]
@@ -157,6 +157,8 @@ module MetronomeSDK
157
157
 
158
158
  CHARGE_AUTOMATICALLY = :charge_automatically
159
159
  SEND_INVOICE = :send_invoice
160
+ AUTO_CHARGE_PAYMENT_INTENT = :auto_charge_payment_intent
161
+ MANUALLY_CHARGE_PAYMENT_INTENT = :manually_charge_payment_intent
160
162
 
161
163
  # @!method self.values
162
164
  # @return [Array<Symbol>]
@@ -64,6 +64,7 @@ module MetronomeSDK
64
64
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
65
65
 
66
66
  # @!attribute custom_fields
67
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
67
68
  #
68
69
  # @return [Hash{Symbol=>String}, nil]
69
70
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -120,11 +121,8 @@ module MetronomeSDK
120
121
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
121
122
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
122
123
  #
123
- # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier>, nil]
124
- optional :specifiers,
125
- -> {
126
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::Specifier]
127
- }
124
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
125
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
128
126
 
129
127
  # @!attribute uniqueness_key
130
128
  # Prevents the creation of duplicates. If a request to create a commit or credit
@@ -155,7 +153,7 @@ module MetronomeSDK
155
153
  #
156
154
  # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If applicable*product_ids, applicable_product*
157
155
  #
158
- # @param custom_fields [Hash{Symbol=>String}]
156
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
159
157
  #
160
158
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
161
159
  #
@@ -171,7 +169,7 @@ module MetronomeSDK
171
169
  #
172
170
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
173
171
  #
174
- # @param specifiers [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
172
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
175
173
  #
176
174
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
177
175
  #
@@ -182,9 +180,7 @@ module MetronomeSDK
182
180
  #
183
181
  # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::AccessSchedule::ScheduleItem>]
184
182
  required :schedule_items,
185
- -> {
186
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::AccessSchedule::ScheduleItem]
187
- }
183
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::AccessSchedule::ScheduleItem] }
188
184
 
189
185
  # @!attribute credit_type_id
190
186
  # Defaults to USD (cents) if not passed
@@ -244,6 +240,13 @@ module MetronomeSDK
244
240
  # @return [String, nil]
245
241
  optional :credit_type_id, String
246
242
 
243
+ # @!attribute do_not_invoice
244
+ # This field is only applicable to commit invoice schedules. If true, this
245
+ # schedule will not generate an invoice.
246
+ #
247
+ # @return [Boolean, nil]
248
+ optional :do_not_invoice, MetronomeSDK::Internal::Type::Boolean
249
+
247
250
  # @!attribute recurring_schedule
248
251
  # Enter the unit price and quantity for the charge or instead only send the
249
252
  # amount. If amount is sent, the unit price is assumed to be the amount and
@@ -251,20 +254,16 @@ module MetronomeSDK
251
254
  #
252
255
  # @return [MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule, nil]
253
256
  optional :recurring_schedule,
254
- -> {
255
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule
256
- }
257
+ -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule }
257
258
 
258
259
  # @!attribute schedule_items
259
260
  # Either provide amount or provide both unit_price and quantity.
260
261
  #
261
262
  # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem>, nil]
262
263
  optional :schedule_items,
263
- -> {
264
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem]
265
- }
264
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem] }
266
265
 
267
- # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
266
+ # @!method initialize(credit_type_id: nil, do_not_invoice: nil, recurring_schedule: nil, schedule_items: nil)
268
267
  # Some parameter documentations has been truncated, see
269
268
  # {MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule} for
270
269
  # more details.
@@ -276,6 +275,8 @@ module MetronomeSDK
276
275
  #
277
276
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
278
277
  #
278
+ # @param do_not_invoice [Boolean] This field is only applicable to commit invoice schedules. If true, this schedul
279
+ #
279
280
  # @param recurring_schedule [MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
280
281
  #
281
282
  # @param schedule_items [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
@@ -286,9 +287,7 @@ module MetronomeSDK
286
287
  #
287
288
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution]
288
289
  required :amount_distribution,
289
- enum: -> {
290
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution
291
- }
290
+ enum: -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution }
292
291
 
293
292
  # @!attribute ending_before
294
293
  # RFC 3339 timestamp (exclusive).
@@ -300,9 +299,7 @@ module MetronomeSDK
300
299
  #
301
300
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency]
302
301
  required :frequency,
303
- enum: -> {
304
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency
305
- }
302
+ enum: -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency }
306
303
 
307
304
  # @!attribute starting_at
308
305
  # RFC 3339 timestamp (inclusive).
@@ -438,44 +435,6 @@ module MetronomeSDK
438
435
  # @!method self.values
439
436
  # @return [Array<Symbol>]
440
437
  end
441
-
442
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
443
- # @!attribute presentation_group_values
444
- #
445
- # @return [Hash{Symbol=>String}, nil]
446
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
447
-
448
- # @!attribute pricing_group_values
449
- #
450
- # @return [Hash{Symbol=>String}, nil]
451
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
452
-
453
- # @!attribute product_id
454
- # If provided, the specifier will only apply to the product with the specified ID.
455
- #
456
- # @return [String, nil]
457
- optional :product_id, String
458
-
459
- # @!attribute product_tags
460
- # If provided, the specifier will only apply to products with all the specified
461
- # tags.
462
- #
463
- # @return [Array<String>, nil]
464
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
465
-
466
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
467
- # Some parameter documentations has been truncated, see
468
- # {MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier} for more
469
- # details.
470
- #
471
- # @param presentation_group_values [Hash{Symbol=>String}]
472
- #
473
- # @param pricing_group_values [Hash{Symbol=>String}]
474
- #
475
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
476
- #
477
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
478
- end
479
438
  end
480
439
  end
481
440
  end