metronome-sdk 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -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
@@ -258,18 +254,14 @@ module MetronomeSDK
258
254
  #
259
255
  # @return [MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule, nil]
260
256
  optional :recurring_schedule,
261
- -> {
262
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule
263
- }
257
+ -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule }
264
258
 
265
259
  # @!attribute schedule_items
266
260
  # Either provide amount or provide both unit_price and quantity.
267
261
  #
268
262
  # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem>, nil]
269
263
  optional :schedule_items,
270
- -> {
271
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem]
272
- }
264
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem] }
273
265
 
274
266
  # @!method initialize(credit_type_id: nil, do_not_invoice: nil, recurring_schedule: nil, schedule_items: nil)
275
267
  # Some parameter documentations has been truncated, see
@@ -295,9 +287,7 @@ module MetronomeSDK
295
287
  #
296
288
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution]
297
289
  required :amount_distribution,
298
- enum: -> {
299
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution
300
- }
290
+ enum: -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution }
301
291
 
302
292
  # @!attribute ending_before
303
293
  # RFC 3339 timestamp (exclusive).
@@ -309,9 +299,7 @@ module MetronomeSDK
309
299
  #
310
300
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency]
311
301
  required :frequency,
312
- enum: -> {
313
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency
314
- }
302
+ enum: -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency }
315
303
 
316
304
  # @!attribute starting_at
317
305
  # RFC 3339 timestamp (inclusive).
@@ -447,44 +435,6 @@ module MetronomeSDK
447
435
  # @!method self.values
448
436
  # @return [Array<Symbol>]
449
437
  end
450
-
451
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
452
- # @!attribute presentation_group_values
453
- #
454
- # @return [Hash{Symbol=>String}, nil]
455
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
456
-
457
- # @!attribute pricing_group_values
458
- #
459
- # @return [Hash{Symbol=>String}, nil]
460
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
461
-
462
- # @!attribute product_id
463
- # If provided, the specifier will only apply to the product with the specified ID.
464
- #
465
- # @return [String, nil]
466
- optional :product_id, String
467
-
468
- # @!attribute product_tags
469
- # If provided, the specifier will only apply to products with all the specified
470
- # tags.
471
- #
472
- # @return [Array<String>, nil]
473
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
474
-
475
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
476
- # Some parameter documentations has been truncated, see
477
- # {MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier} for more
478
- # details.
479
- #
480
- # @param presentation_group_values [Hash{Symbol=>String}]
481
- #
482
- # @param pricing_group_values [Hash{Symbol=>String}]
483
- #
484
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
485
- #
486
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
487
- end
488
438
  end
489
439
  end
490
440
  end