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
@@ -0,0 +1,312 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::PaymentGateConfig,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Gate access to the commit balance based on successful collection of payment.
15
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
16
+ # facilitate payment using your own payment integration. Select NONE if you do not
17
+ # wish to payment gate the commit balance.
18
+ sig do
19
+ returns(MetronomeSDK::PaymentGateConfig::PaymentGateType::OrSymbol)
20
+ end
21
+ attr_accessor :payment_gate_type
22
+
23
+ # Only applicable if using PRECALCULATED as your tax type.
24
+ sig do
25
+ returns(
26
+ T.nilable(MetronomeSDK::PaymentGateConfig::PrecalculatedTaxConfig)
27
+ )
28
+ end
29
+ attr_reader :precalculated_tax_config
30
+
31
+ sig do
32
+ params(
33
+ precalculated_tax_config:
34
+ MetronomeSDK::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
35
+ ).void
36
+ end
37
+ attr_writer :precalculated_tax_config
38
+
39
+ # Only applicable if using STRIPE as your payment gate type.
40
+ sig { returns(T.nilable(MetronomeSDK::PaymentGateConfig::StripeConfig)) }
41
+ attr_reader :stripe_config
42
+
43
+ sig do
44
+ params(
45
+ stripe_config: MetronomeSDK::PaymentGateConfig::StripeConfig::OrHash
46
+ ).void
47
+ end
48
+ attr_writer :stripe_config
49
+
50
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
51
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
52
+ # will default to NONE.
53
+ sig do
54
+ returns(T.nilable(MetronomeSDK::PaymentGateConfig::TaxType::OrSymbol))
55
+ end
56
+ attr_reader :tax_type
57
+
58
+ sig do
59
+ params(
60
+ tax_type: MetronomeSDK::PaymentGateConfig::TaxType::OrSymbol
61
+ ).void
62
+ end
63
+ attr_writer :tax_type
64
+
65
+ sig do
66
+ params(
67
+ payment_gate_type:
68
+ MetronomeSDK::PaymentGateConfig::PaymentGateType::OrSymbol,
69
+ precalculated_tax_config:
70
+ MetronomeSDK::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
71
+ stripe_config: MetronomeSDK::PaymentGateConfig::StripeConfig::OrHash,
72
+ tax_type: MetronomeSDK::PaymentGateConfig::TaxType::OrSymbol
73
+ ).returns(T.attached_class)
74
+ end
75
+ def self.new(
76
+ # Gate access to the commit balance based on successful collection of payment.
77
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
78
+ # facilitate payment using your own payment integration. Select NONE if you do not
79
+ # wish to payment gate the commit balance.
80
+ payment_gate_type:,
81
+ # Only applicable if using PRECALCULATED as your tax type.
82
+ precalculated_tax_config: nil,
83
+ # Only applicable if using STRIPE as your payment gate type.
84
+ stripe_config: nil,
85
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
86
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
87
+ # will default to NONE.
88
+ tax_type: nil
89
+ )
90
+ end
91
+
92
+ sig do
93
+ override.returns(
94
+ {
95
+ payment_gate_type:
96
+ MetronomeSDK::PaymentGateConfig::PaymentGateType::OrSymbol,
97
+ precalculated_tax_config:
98
+ MetronomeSDK::PaymentGateConfig::PrecalculatedTaxConfig,
99
+ stripe_config: MetronomeSDK::PaymentGateConfig::StripeConfig,
100
+ tax_type: MetronomeSDK::PaymentGateConfig::TaxType::OrSymbol
101
+ }
102
+ )
103
+ end
104
+ def to_hash
105
+ end
106
+
107
+ # Gate access to the commit balance based on successful collection of payment.
108
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
109
+ # facilitate payment using your own payment integration. Select NONE if you do not
110
+ # wish to payment gate the commit balance.
111
+ module PaymentGateType
112
+ extend MetronomeSDK::Internal::Type::Enum
113
+
114
+ TaggedSymbol =
115
+ T.type_alias do
116
+ T.all(Symbol, MetronomeSDK::PaymentGateConfig::PaymentGateType)
117
+ end
118
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
119
+
120
+ NONE =
121
+ T.let(
122
+ :NONE,
123
+ MetronomeSDK::PaymentGateConfig::PaymentGateType::TaggedSymbol
124
+ )
125
+ STRIPE =
126
+ T.let(
127
+ :STRIPE,
128
+ MetronomeSDK::PaymentGateConfig::PaymentGateType::TaggedSymbol
129
+ )
130
+ EXTERNAL =
131
+ T.let(
132
+ :EXTERNAL,
133
+ MetronomeSDK::PaymentGateConfig::PaymentGateType::TaggedSymbol
134
+ )
135
+
136
+ sig do
137
+ override.returns(
138
+ T::Array[
139
+ MetronomeSDK::PaymentGateConfig::PaymentGateType::TaggedSymbol
140
+ ]
141
+ )
142
+ end
143
+ def self.values
144
+ end
145
+ end
146
+
147
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
148
+ OrHash =
149
+ T.type_alias do
150
+ T.any(
151
+ MetronomeSDK::PaymentGateConfig::PrecalculatedTaxConfig,
152
+ MetronomeSDK::Internal::AnyHash
153
+ )
154
+ end
155
+
156
+ # Amount of tax to be applied. This should be in the same currency and
157
+ # denomination as the commit's invoice schedule
158
+ sig { returns(Float) }
159
+ attr_accessor :tax_amount
160
+
161
+ # Name of the tax to be applied. This may be used in an invoice line item
162
+ # description.
163
+ sig { returns(T.nilable(String)) }
164
+ attr_reader :tax_name
165
+
166
+ sig { params(tax_name: String).void }
167
+ attr_writer :tax_name
168
+
169
+ # Only applicable if using PRECALCULATED as your tax type.
170
+ sig do
171
+ params(tax_amount: Float, tax_name: String).returns(T.attached_class)
172
+ end
173
+ def self.new(
174
+ # Amount of tax to be applied. This should be in the same currency and
175
+ # denomination as the commit's invoice schedule
176
+ tax_amount:,
177
+ # Name of the tax to be applied. This may be used in an invoice line item
178
+ # description.
179
+ tax_name: nil
180
+ )
181
+ end
182
+
183
+ sig { override.returns({ tax_amount: Float, tax_name: String }) }
184
+ def to_hash
185
+ end
186
+ end
187
+
188
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
189
+ OrHash =
190
+ T.type_alias do
191
+ T.any(
192
+ MetronomeSDK::PaymentGateConfig::StripeConfig,
193
+ MetronomeSDK::Internal::AnyHash
194
+ )
195
+ end
196
+
197
+ # If left blank, will default to INVOICE
198
+ sig do
199
+ returns(
200
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
201
+ )
202
+ end
203
+ attr_accessor :payment_type
204
+
205
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
206
+ # your payment type.
207
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
208
+ attr_reader :invoice_metadata
209
+
210
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
211
+ attr_writer :invoice_metadata
212
+
213
+ # Only applicable if using STRIPE as your payment gate type.
214
+ sig do
215
+ params(
216
+ payment_type:
217
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
218
+ invoice_metadata: T::Hash[Symbol, String]
219
+ ).returns(T.attached_class)
220
+ end
221
+ def self.new(
222
+ # If left blank, will default to INVOICE
223
+ payment_type:,
224
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
225
+ # your payment type.
226
+ invoice_metadata: nil
227
+ )
228
+ end
229
+
230
+ sig do
231
+ override.returns(
232
+ {
233
+ payment_type:
234
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
235
+ invoice_metadata: T::Hash[Symbol, String]
236
+ }
237
+ )
238
+ end
239
+ def to_hash
240
+ end
241
+
242
+ # If left blank, will default to INVOICE
243
+ module PaymentType
244
+ extend MetronomeSDK::Internal::Type::Enum
245
+
246
+ TaggedSymbol =
247
+ T.type_alias do
248
+ T.all(
249
+ Symbol,
250
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType
251
+ )
252
+ end
253
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
254
+
255
+ INVOICE =
256
+ T.let(
257
+ :INVOICE,
258
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
259
+ )
260
+ PAYMENT_INTENT =
261
+ T.let(
262
+ :PAYMENT_INTENT,
263
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
264
+ )
265
+
266
+ sig do
267
+ override.returns(
268
+ T::Array[
269
+ MetronomeSDK::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
270
+ ]
271
+ )
272
+ end
273
+ def self.values
274
+ end
275
+ end
276
+ end
277
+
278
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
279
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
280
+ # will default to NONE.
281
+ module TaxType
282
+ extend MetronomeSDK::Internal::Type::Enum
283
+
284
+ TaggedSymbol =
285
+ T.type_alias do
286
+ T.all(Symbol, MetronomeSDK::PaymentGateConfig::TaxType)
287
+ end
288
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
289
+
290
+ NONE =
291
+ T.let(:NONE, MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol)
292
+ STRIPE =
293
+ T.let(:STRIPE, MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol)
294
+ ANROK =
295
+ T.let(:ANROK, MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol)
296
+ PRECALCULATED =
297
+ T.let(
298
+ :PRECALCULATED,
299
+ MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol
300
+ )
301
+
302
+ sig do
303
+ override.returns(
304
+ T::Array[MetronomeSDK::PaymentGateConfig::TaxType::TaggedSymbol]
305
+ )
306
+ end
307
+ def self.values
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end
@@ -0,0 +1,321 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class PaymentGateConfigV2 < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::PaymentGateConfigV2,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Gate access to the commit balance based on successful collection of payment.
15
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
16
+ # facilitate payment using your own payment integration. Select NONE if you do not
17
+ # wish to payment gate the commit balance.
18
+ sig do
19
+ returns(MetronomeSDK::PaymentGateConfigV2::PaymentGateType::OrSymbol)
20
+ end
21
+ attr_accessor :payment_gate_type
22
+
23
+ # Only applicable if using PRECALCULATED as your tax type.
24
+ sig do
25
+ returns(
26
+ T.nilable(MetronomeSDK::PaymentGateConfigV2::PrecalculatedTaxConfig)
27
+ )
28
+ end
29
+ attr_reader :precalculated_tax_config
30
+
31
+ sig do
32
+ params(
33
+ precalculated_tax_config:
34
+ MetronomeSDK::PaymentGateConfigV2::PrecalculatedTaxConfig::OrHash
35
+ ).void
36
+ end
37
+ attr_writer :precalculated_tax_config
38
+
39
+ # Only applicable if using STRIPE as your payment gateway type.
40
+ sig do
41
+ returns(T.nilable(MetronomeSDK::PaymentGateConfigV2::StripeConfig))
42
+ end
43
+ attr_reader :stripe_config
44
+
45
+ sig do
46
+ params(
47
+ stripe_config: MetronomeSDK::PaymentGateConfigV2::StripeConfig::OrHash
48
+ ).void
49
+ end
50
+ attr_writer :stripe_config
51
+
52
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
53
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
54
+ # will default to NONE.
55
+ sig do
56
+ returns(T.nilable(MetronomeSDK::PaymentGateConfigV2::TaxType::OrSymbol))
57
+ end
58
+ attr_reader :tax_type
59
+
60
+ sig do
61
+ params(
62
+ tax_type: MetronomeSDK::PaymentGateConfigV2::TaxType::OrSymbol
63
+ ).void
64
+ end
65
+ attr_writer :tax_type
66
+
67
+ sig do
68
+ params(
69
+ payment_gate_type:
70
+ MetronomeSDK::PaymentGateConfigV2::PaymentGateType::OrSymbol,
71
+ precalculated_tax_config:
72
+ MetronomeSDK::PaymentGateConfigV2::PrecalculatedTaxConfig::OrHash,
73
+ stripe_config:
74
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::OrHash,
75
+ tax_type: MetronomeSDK::PaymentGateConfigV2::TaxType::OrSymbol
76
+ ).returns(T.attached_class)
77
+ end
78
+ def self.new(
79
+ # Gate access to the commit balance based on successful collection of payment.
80
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
81
+ # facilitate payment using your own payment integration. Select NONE if you do not
82
+ # wish to payment gate the commit balance.
83
+ payment_gate_type:,
84
+ # Only applicable if using PRECALCULATED as your tax type.
85
+ precalculated_tax_config: nil,
86
+ # Only applicable if using STRIPE as your payment gateway type.
87
+ stripe_config: nil,
88
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
89
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
90
+ # will default to NONE.
91
+ tax_type: nil
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ payment_gate_type:
99
+ MetronomeSDK::PaymentGateConfigV2::PaymentGateType::OrSymbol,
100
+ precalculated_tax_config:
101
+ MetronomeSDK::PaymentGateConfigV2::PrecalculatedTaxConfig,
102
+ stripe_config: MetronomeSDK::PaymentGateConfigV2::StripeConfig,
103
+ tax_type: MetronomeSDK::PaymentGateConfigV2::TaxType::OrSymbol
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ # Gate access to the commit balance based on successful collection of payment.
111
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
112
+ # facilitate payment using your own payment integration. Select NONE if you do not
113
+ # wish to payment gate the commit balance.
114
+ module PaymentGateType
115
+ extend MetronomeSDK::Internal::Type::Enum
116
+
117
+ TaggedSymbol =
118
+ T.type_alias do
119
+ T.all(Symbol, MetronomeSDK::PaymentGateConfigV2::PaymentGateType)
120
+ end
121
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
122
+
123
+ NONE =
124
+ T.let(
125
+ :NONE,
126
+ MetronomeSDK::PaymentGateConfigV2::PaymentGateType::TaggedSymbol
127
+ )
128
+ STRIPE =
129
+ T.let(
130
+ :STRIPE,
131
+ MetronomeSDK::PaymentGateConfigV2::PaymentGateType::TaggedSymbol
132
+ )
133
+ EXTERNAL =
134
+ T.let(
135
+ :EXTERNAL,
136
+ MetronomeSDK::PaymentGateConfigV2::PaymentGateType::TaggedSymbol
137
+ )
138
+
139
+ sig do
140
+ override.returns(
141
+ T::Array[
142
+ MetronomeSDK::PaymentGateConfigV2::PaymentGateType::TaggedSymbol
143
+ ]
144
+ )
145
+ end
146
+ def self.values
147
+ end
148
+ end
149
+
150
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
151
+ OrHash =
152
+ T.type_alias do
153
+ T.any(
154
+ MetronomeSDK::PaymentGateConfigV2::PrecalculatedTaxConfig,
155
+ MetronomeSDK::Internal::AnyHash
156
+ )
157
+ end
158
+
159
+ # Amount of tax to be applied. This should be in the same currency and
160
+ # denomination as the commit's invoice schedule
161
+ sig { returns(Float) }
162
+ attr_accessor :tax_amount
163
+
164
+ # Name of the tax to be applied. This may be used in an invoice line item
165
+ # description.
166
+ sig { returns(T.nilable(String)) }
167
+ attr_reader :tax_name
168
+
169
+ sig { params(tax_name: String).void }
170
+ attr_writer :tax_name
171
+
172
+ # Only applicable if using PRECALCULATED as your tax type.
173
+ sig do
174
+ params(tax_amount: Float, tax_name: String).returns(T.attached_class)
175
+ end
176
+ def self.new(
177
+ # Amount of tax to be applied. This should be in the same currency and
178
+ # denomination as the commit's invoice schedule
179
+ tax_amount:,
180
+ # Name of the tax to be applied. This may be used in an invoice line item
181
+ # description.
182
+ tax_name: nil
183
+ )
184
+ end
185
+
186
+ sig { override.returns({ tax_amount: Float, tax_name: String }) }
187
+ def to_hash
188
+ end
189
+ end
190
+
191
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
192
+ OrHash =
193
+ T.type_alias do
194
+ T.any(
195
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig,
196
+ MetronomeSDK::Internal::AnyHash
197
+ )
198
+ end
199
+
200
+ # If left blank, will default to INVOICE
201
+ sig do
202
+ returns(
203
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType::OrSymbol
204
+ )
205
+ end
206
+ attr_accessor :payment_type
207
+
208
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
209
+ # your payment type.
210
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
211
+ attr_reader :invoice_metadata
212
+
213
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
214
+ attr_writer :invoice_metadata
215
+
216
+ # Only applicable if using STRIPE as your payment gateway type.
217
+ sig do
218
+ params(
219
+ payment_type:
220
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType::OrSymbol,
221
+ invoice_metadata: T::Hash[Symbol, String]
222
+ ).returns(T.attached_class)
223
+ end
224
+ def self.new(
225
+ # If left blank, will default to INVOICE
226
+ payment_type:,
227
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
228
+ # your payment type.
229
+ invoice_metadata: nil
230
+ )
231
+ end
232
+
233
+ sig do
234
+ override.returns(
235
+ {
236
+ payment_type:
237
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType::OrSymbol,
238
+ invoice_metadata: T::Hash[Symbol, String]
239
+ }
240
+ )
241
+ end
242
+ def to_hash
243
+ end
244
+
245
+ # If left blank, will default to INVOICE
246
+ module PaymentType
247
+ extend MetronomeSDK::Internal::Type::Enum
248
+
249
+ TaggedSymbol =
250
+ T.type_alias do
251
+ T.all(
252
+ Symbol,
253
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType
254
+ )
255
+ end
256
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
257
+
258
+ INVOICE =
259
+ T.let(
260
+ :INVOICE,
261
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType::TaggedSymbol
262
+ )
263
+ PAYMENT_INTENT =
264
+ T.let(
265
+ :PAYMENT_INTENT,
266
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType::TaggedSymbol
267
+ )
268
+
269
+ sig do
270
+ override.returns(
271
+ T::Array[
272
+ MetronomeSDK::PaymentGateConfigV2::StripeConfig::PaymentType::TaggedSymbol
273
+ ]
274
+ )
275
+ end
276
+ def self.values
277
+ end
278
+ end
279
+ end
280
+
281
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
282
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
283
+ # will default to NONE.
284
+ module TaxType
285
+ extend MetronomeSDK::Internal::Type::Enum
286
+
287
+ TaggedSymbol =
288
+ T.type_alias do
289
+ T.all(Symbol, MetronomeSDK::PaymentGateConfigV2::TaxType)
290
+ end
291
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
292
+
293
+ NONE =
294
+ T.let(:NONE, MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol)
295
+ STRIPE =
296
+ T.let(
297
+ :STRIPE,
298
+ MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol
299
+ )
300
+ ANROK =
301
+ T.let(
302
+ :ANROK,
303
+ MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol
304
+ )
305
+ PRECALCULATED =
306
+ T.let(
307
+ :PRECALCULATED,
308
+ MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol
309
+ )
310
+
311
+ sig do
312
+ override.returns(
313
+ T::Array[MetronomeSDK::PaymentGateConfigV2::TaxType::TaggedSymbol]
314
+ )
315
+ end
316
+ def self.values
317
+ end
318
+ end
319
+ end
320
+ end
321
+ end