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
@@ -0,0 +1,265 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class CustomerRetrieveBillingConfigurationsResponse < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ T::Array[
18
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data
19
+ ]
20
+ )
21
+ end
22
+ attr_accessor :data
23
+
24
+ sig do
25
+ params(
26
+ data:
27
+ T::Array[
28
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::OrHash
29
+ ]
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(data:)
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ data:
39
+ T::Array[
40
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data
41
+ ]
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+
48
+ class Data < MetronomeSDK::Internal::Type::BaseModel
49
+ OrHash =
50
+ T.type_alias do
51
+ T.any(
52
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data,
53
+ MetronomeSDK::Internal::AnyHash
54
+ )
55
+ end
56
+
57
+ # ID of this configuration; can be provided as the
58
+ # billing_provider_configuration_id when creating a contract.
59
+ sig { returns(String) }
60
+ attr_accessor :id
61
+
62
+ sig { returns(T.nilable(Time)) }
63
+ attr_accessor :archived_at
64
+
65
+ # The billing provider set for this configuration.
66
+ sig do
67
+ returns(
68
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
69
+ )
70
+ end
71
+ attr_accessor :billing_provider
72
+
73
+ # Configuration for the billing provider. The structure of this object is specific
74
+ # to the billing provider.
75
+ sig { returns(T::Hash[Symbol, T.anything]) }
76
+ attr_accessor :configuration
77
+
78
+ sig { returns(String) }
79
+ attr_accessor :customer_id
80
+
81
+ # The method to use for delivering invoices to this customer.
82
+ sig do
83
+ returns(
84
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol
85
+ )
86
+ end
87
+ attr_accessor :delivery_method
88
+
89
+ # Configuration for the delivery method. The structure of this object is specific
90
+ # to the delivery method.
91
+ sig { returns(T::Hash[Symbol, T.anything]) }
92
+ attr_accessor :delivery_method_configuration
93
+
94
+ # ID of the delivery method to use for this customer.
95
+ sig { returns(String) }
96
+ attr_accessor :delivery_method_id
97
+
98
+ sig do
99
+ params(
100
+ id: String,
101
+ archived_at: T.nilable(Time),
102
+ billing_provider:
103
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::OrSymbol,
104
+ configuration: T::Hash[Symbol, T.anything],
105
+ customer_id: String,
106
+ delivery_method:
107
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::OrSymbol,
108
+ delivery_method_configuration: T::Hash[Symbol, T.anything],
109
+ delivery_method_id: String
110
+ ).returns(T.attached_class)
111
+ end
112
+ def self.new(
113
+ # ID of this configuration; can be provided as the
114
+ # billing_provider_configuration_id when creating a contract.
115
+ id:,
116
+ archived_at:,
117
+ # The billing provider set for this configuration.
118
+ billing_provider:,
119
+ # Configuration for the billing provider. The structure of this object is specific
120
+ # to the billing provider.
121
+ configuration:,
122
+ customer_id:,
123
+ # The method to use for delivering invoices to this customer.
124
+ delivery_method:,
125
+ # Configuration for the delivery method. The structure of this object is specific
126
+ # to the delivery method.
127
+ delivery_method_configuration:,
128
+ # ID of the delivery method to use for this customer.
129
+ delivery_method_id:
130
+ )
131
+ end
132
+
133
+ sig do
134
+ override.returns(
135
+ {
136
+ id: String,
137
+ archived_at: T.nilable(Time),
138
+ billing_provider:
139
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol,
140
+ configuration: T::Hash[Symbol, T.anything],
141
+ customer_id: String,
142
+ delivery_method:
143
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol,
144
+ delivery_method_configuration: T::Hash[Symbol, T.anything],
145
+ delivery_method_id: String
146
+ }
147
+ )
148
+ end
149
+ def to_hash
150
+ end
151
+
152
+ # The billing provider set for this configuration.
153
+ module BillingProvider
154
+ extend MetronomeSDK::Internal::Type::Enum
155
+
156
+ TaggedSymbol =
157
+ T.type_alias do
158
+ T.all(
159
+ Symbol,
160
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider
161
+ )
162
+ end
163
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
164
+
165
+ AWS_MARKETPLACE =
166
+ T.let(
167
+ :aws_marketplace,
168
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
169
+ )
170
+ STRIPE =
171
+ T.let(
172
+ :stripe,
173
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
174
+ )
175
+ NETSUITE =
176
+ T.let(
177
+ :netsuite,
178
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
179
+ )
180
+ CUSTOM =
181
+ T.let(
182
+ :custom,
183
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
184
+ )
185
+ AZURE_MARKETPLACE =
186
+ T.let(
187
+ :azure_marketplace,
188
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
189
+ )
190
+ QUICKBOOKS_ONLINE =
191
+ T.let(
192
+ :quickbooks_online,
193
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
194
+ )
195
+ WORKDAY =
196
+ T.let(
197
+ :workday,
198
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
199
+ )
200
+ GCP_MARKETPLACE =
201
+ T.let(
202
+ :gcp_marketplace,
203
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
204
+ )
205
+
206
+ sig do
207
+ override.returns(
208
+ T::Array[
209
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::BillingProvider::TaggedSymbol
210
+ ]
211
+ )
212
+ end
213
+ def self.values
214
+ end
215
+ end
216
+
217
+ # The method to use for delivering invoices to this customer.
218
+ module DeliveryMethod
219
+ extend MetronomeSDK::Internal::Type::Enum
220
+
221
+ TaggedSymbol =
222
+ T.type_alias do
223
+ T.all(
224
+ Symbol,
225
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod
226
+ )
227
+ end
228
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
229
+
230
+ DIRECT_TO_BILLING_PROVIDER =
231
+ T.let(
232
+ :direct_to_billing_provider,
233
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol
234
+ )
235
+ AWS_SQS =
236
+ T.let(
237
+ :aws_sqs,
238
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol
239
+ )
240
+ TACKLE =
241
+ T.let(
242
+ :tackle,
243
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol
244
+ )
245
+ AWS_SNS =
246
+ T.let(
247
+ :aws_sns,
248
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol
249
+ )
250
+
251
+ sig do
252
+ override.returns(
253
+ T::Array[
254
+ MetronomeSDK::Models::V1::CustomerRetrieveBillingConfigurationsResponse::Data::DeliveryMethod::TaggedSymbol
255
+ ]
256
+ )
257
+ end
258
+ def self.values
259
+ end
260
+ end
261
+ end
262
+ end
263
+ end
264
+ end
265
+ end
@@ -0,0 +1,348 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class CustomerSetBillingConfigurationsParams < MetronomeSDK::Internal::Type::BaseModel
7
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
+ include MetronomeSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ returns(
20
+ T::Array[
21
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data
22
+ ]
23
+ )
24
+ end
25
+ attr_accessor :data
26
+
27
+ sig do
28
+ params(
29
+ data:
30
+ T::Array[
31
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::OrHash
32
+ ],
33
+ request_options: MetronomeSDK::RequestOptions::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(data:, request_options: {})
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ data:
43
+ T::Array[
44
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data
45
+ ],
46
+ request_options: MetronomeSDK::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+
53
+ class Data < MetronomeSDK::Internal::Type::BaseModel
54
+ OrHash =
55
+ T.type_alias do
56
+ T.any(
57
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data,
58
+ MetronomeSDK::Internal::AnyHash
59
+ )
60
+ end
61
+
62
+ # The billing provider set for this configuration.
63
+ sig do
64
+ returns(
65
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::OrSymbol
66
+ )
67
+ end
68
+ attr_accessor :billing_provider
69
+
70
+ sig { returns(String) }
71
+ attr_accessor :customer_id
72
+
73
+ # Configuration for the billing provider. The structure of this object is specific
74
+ # to the billing provider and delivery method combination. Defaults to an empty
75
+ # object, however, for most billing provider + delivery method combinations, it
76
+ # will not be a valid configuration. For AWS marketplace configurations, the
77
+ # aws_is_subscription_product flag can be used to indicate a product with
78
+ # usage-based pricing. More information can be found
79
+ # [here](https://docs.metronome.com/invoice-customers/solutions/marketplaces/invoice-aws/#provision-aws-marketplace-customers-in-metronome).
80
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
81
+ attr_reader :configuration
82
+
83
+ sig { params(configuration: T::Hash[Symbol, T.anything]).void }
84
+ attr_writer :configuration
85
+
86
+ # The method to use for delivering invoices to this customer. If not provided, the
87
+ # `delivery_method_id` must be provided.
88
+ sig do
89
+ returns(
90
+ T.nilable(
91
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::OrSymbol
92
+ )
93
+ )
94
+ end
95
+ attr_reader :delivery_method
96
+
97
+ sig do
98
+ params(
99
+ delivery_method:
100
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::OrSymbol
101
+ ).void
102
+ end
103
+ attr_writer :delivery_method
104
+
105
+ # ID of the delivery method to use for this customer. If not provided, the
106
+ # `delivery_method` must be provided.
107
+ sig { returns(T.nilable(String)) }
108
+ attr_reader :delivery_method_id
109
+
110
+ sig { params(delivery_method_id: String).void }
111
+ attr_writer :delivery_method_id
112
+
113
+ # Specifies which tax provider Metronome should use for tax calculation when
114
+ # billing through Stripe. This is only supported for Stripe billing provider
115
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
116
+ # collection methods.
117
+ sig do
118
+ returns(
119
+ T.nilable(
120
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::OrSymbol
121
+ )
122
+ )
123
+ end
124
+ attr_reader :tax_provider
125
+
126
+ sig do
127
+ params(
128
+ tax_provider:
129
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::OrSymbol
130
+ ).void
131
+ end
132
+ attr_writer :tax_provider
133
+
134
+ sig do
135
+ params(
136
+ billing_provider:
137
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::OrSymbol,
138
+ customer_id: String,
139
+ configuration: T::Hash[Symbol, T.anything],
140
+ delivery_method:
141
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::OrSymbol,
142
+ delivery_method_id: String,
143
+ tax_provider:
144
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::OrSymbol
145
+ ).returns(T.attached_class)
146
+ end
147
+ def self.new(
148
+ # The billing provider set for this configuration.
149
+ billing_provider:,
150
+ customer_id:,
151
+ # Configuration for the billing provider. The structure of this object is specific
152
+ # to the billing provider and delivery method combination. Defaults to an empty
153
+ # object, however, for most billing provider + delivery method combinations, it
154
+ # will not be a valid configuration. For AWS marketplace configurations, the
155
+ # aws_is_subscription_product flag can be used to indicate a product with
156
+ # usage-based pricing. More information can be found
157
+ # [here](https://docs.metronome.com/invoice-customers/solutions/marketplaces/invoice-aws/#provision-aws-marketplace-customers-in-metronome).
158
+ configuration: nil,
159
+ # The method to use for delivering invoices to this customer. If not provided, the
160
+ # `delivery_method_id` must be provided.
161
+ delivery_method: nil,
162
+ # ID of the delivery method to use for this customer. If not provided, the
163
+ # `delivery_method` must be provided.
164
+ delivery_method_id: nil,
165
+ # Specifies which tax provider Metronome should use for tax calculation when
166
+ # billing through Stripe. This is only supported for Stripe billing provider
167
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
168
+ # collection methods.
169
+ tax_provider: nil
170
+ )
171
+ end
172
+
173
+ sig do
174
+ override.returns(
175
+ {
176
+ billing_provider:
177
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::OrSymbol,
178
+ customer_id: String,
179
+ configuration: T::Hash[Symbol, T.anything],
180
+ delivery_method:
181
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::OrSymbol,
182
+ delivery_method_id: String,
183
+ tax_provider:
184
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::OrSymbol
185
+ }
186
+ )
187
+ end
188
+ def to_hash
189
+ end
190
+
191
+ # The billing provider set for this configuration.
192
+ module BillingProvider
193
+ extend MetronomeSDK::Internal::Type::Enum
194
+
195
+ TaggedSymbol =
196
+ T.type_alias do
197
+ T.all(
198
+ Symbol,
199
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider
200
+ )
201
+ end
202
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
203
+
204
+ AWS_MARKETPLACE =
205
+ T.let(
206
+ :aws_marketplace,
207
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
208
+ )
209
+ STRIPE =
210
+ T.let(
211
+ :stripe,
212
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
213
+ )
214
+ NETSUITE =
215
+ T.let(
216
+ :netsuite,
217
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
218
+ )
219
+ CUSTOM =
220
+ T.let(
221
+ :custom,
222
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
223
+ )
224
+ AZURE_MARKETPLACE =
225
+ T.let(
226
+ :azure_marketplace,
227
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
228
+ )
229
+ QUICKBOOKS_ONLINE =
230
+ T.let(
231
+ :quickbooks_online,
232
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
233
+ )
234
+ WORKDAY =
235
+ T.let(
236
+ :workday,
237
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
238
+ )
239
+ GCP_MARKETPLACE =
240
+ T.let(
241
+ :gcp_marketplace,
242
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
243
+ )
244
+
245
+ sig do
246
+ override.returns(
247
+ T::Array[
248
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::BillingProvider::TaggedSymbol
249
+ ]
250
+ )
251
+ end
252
+ def self.values
253
+ end
254
+ end
255
+
256
+ # The method to use for delivering invoices to this customer. If not provided, the
257
+ # `delivery_method_id` must be provided.
258
+ module DeliveryMethod
259
+ extend MetronomeSDK::Internal::Type::Enum
260
+
261
+ TaggedSymbol =
262
+ T.type_alias do
263
+ T.all(
264
+ Symbol,
265
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod
266
+ )
267
+ end
268
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
269
+
270
+ DIRECT_TO_BILLING_PROVIDER =
271
+ T.let(
272
+ :direct_to_billing_provider,
273
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::TaggedSymbol
274
+ )
275
+ AWS_SQS =
276
+ T.let(
277
+ :aws_sqs,
278
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::TaggedSymbol
279
+ )
280
+ TACKLE =
281
+ T.let(
282
+ :tackle,
283
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::TaggedSymbol
284
+ )
285
+ AWS_SNS =
286
+ T.let(
287
+ :aws_sns,
288
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::TaggedSymbol
289
+ )
290
+
291
+ sig do
292
+ override.returns(
293
+ T::Array[
294
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::DeliveryMethod::TaggedSymbol
295
+ ]
296
+ )
297
+ end
298
+ def self.values
299
+ end
300
+ end
301
+
302
+ # Specifies which tax provider Metronome should use for tax calculation when
303
+ # billing through Stripe. This is only supported for Stripe billing provider
304
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
305
+ # collection methods.
306
+ module TaxProvider
307
+ extend MetronomeSDK::Internal::Type::Enum
308
+
309
+ TaggedSymbol =
310
+ T.type_alias do
311
+ T.all(
312
+ Symbol,
313
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider
314
+ )
315
+ end
316
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
317
+
318
+ ANROK =
319
+ T.let(
320
+ :anrok,
321
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::TaggedSymbol
322
+ )
323
+ AVALARA =
324
+ T.let(
325
+ :avalara,
326
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::TaggedSymbol
327
+ )
328
+ STRIPE =
329
+ T.let(
330
+ :stripe,
331
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::TaggedSymbol
332
+ )
333
+
334
+ sig do
335
+ override.returns(
336
+ T::Array[
337
+ MetronomeSDK::V1::CustomerSetBillingConfigurationsParams::Data::TaxProvider::TaggedSymbol
338
+ ]
339
+ )
340
+ end
341
+ def self.values
342
+ end
343
+ end
344
+ end
345
+ end
346
+ end
347
+ end
348
+ end
@@ -24,6 +24,29 @@ module MetronomeSDK
24
24
  sig { returns(String) }
25
25
  attr_accessor :customer_id
26
26
 
27
+ # Only present for `spend_threshold_reached` alerts. Retrieve the alert for a
28
+ # specific group key-value pair.
29
+ sig do
30
+ returns(
31
+ T.nilable(
32
+ T::Array[
33
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue
34
+ ]
35
+ )
36
+ )
37
+ end
38
+ attr_reader :group_values
39
+
40
+ sig do
41
+ params(
42
+ group_values:
43
+ T::Array[
44
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue::OrHash
45
+ ]
46
+ ).void
47
+ end
48
+ attr_writer :group_values
49
+
27
50
  # When parallel alerts are enabled during migration, this flag denotes whether to
28
51
  # fetch alerts for plans or contracts.
29
52
  sig do
@@ -47,6 +70,10 @@ module MetronomeSDK
47
70
  params(
48
71
  alert_id: String,
49
72
  customer_id: String,
73
+ group_values:
74
+ T::Array[
75
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue::OrHash
76
+ ],
50
77
  plans_or_contracts:
51
78
  MetronomeSDK::V1::Customers::AlertRetrieveParams::PlansOrContracts::OrSymbol,
52
79
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -57,6 +84,9 @@ module MetronomeSDK
57
84
  alert_id:,
58
85
  # The Metronome ID of the customer
59
86
  customer_id:,
87
+ # Only present for `spend_threshold_reached` alerts. Retrieve the alert for a
88
+ # specific group key-value pair.
89
+ group_values: nil,
60
90
  # When parallel alerts are enabled during migration, this flag denotes whether to
61
91
  # fetch alerts for plans or contracts.
62
92
  plans_or_contracts: nil,
@@ -69,6 +99,10 @@ module MetronomeSDK
69
99
  {
70
100
  alert_id: String,
71
101
  customer_id: String,
102
+ group_values:
103
+ T::Array[
104
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue
105
+ ],
72
106
  plans_or_contracts:
73
107
  MetronomeSDK::V1::Customers::AlertRetrieveParams::PlansOrContracts::OrSymbol,
74
108
  request_options: MetronomeSDK::RequestOptions
@@ -78,6 +112,32 @@ module MetronomeSDK
78
112
  def to_hash
79
113
  end
80
114
 
115
+ class GroupValue < MetronomeSDK::Internal::Type::BaseModel
116
+ OrHash =
117
+ T.type_alias do
118
+ T.any(
119
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue,
120
+ MetronomeSDK::Internal::AnyHash
121
+ )
122
+ end
123
+
124
+ sig { returns(String) }
125
+ attr_accessor :key
126
+
127
+ sig { returns(String) }
128
+ attr_accessor :value
129
+
130
+ # Scopes alert evaluation to a specific presentation group key on individual line
131
+ # items. Only present for spend alerts.
132
+ sig { params(key: String, value: String).returns(T.attached_class) }
133
+ def self.new(key:, value:)
134
+ end
135
+
136
+ sig { override.returns({ key: String, value: String }) }
137
+ def to_hash
138
+ end
139
+ end
140
+
81
141
  # When parallel alerts are enabled during migration, this flag denotes whether to
82
142
  # fetch alerts for plans or contracts.
83
143
  module PlansOrContracts