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
@@ -68,21 +68,15 @@ module MetronomeSDK
68
68
 
69
69
  # Either a **parent** configuration with a list of children or a **child**
70
70
  # configuration with a single parent.
71
- sig do
72
- returns(
73
- T.nilable(
74
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::Variants
75
- )
76
- )
77
- end
71
+ sig { returns(T.nilable(MetronomeSDK::HierarchyConfiguration::Variants)) }
78
72
  attr_reader :hierarchy_configuration
79
73
 
80
74
  sig do
81
75
  params(
82
76
  hierarchy_configuration:
83
77
  T.any(
84
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
85
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::OrHash
78
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
79
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::OrHash
86
80
  )
87
81
  ).void
88
82
  end
@@ -108,18 +102,14 @@ module MetronomeSDK
108
102
  attr_writer :netsuite_sales_order_id
109
103
 
110
104
  sig do
111
- returns(
112
- T.nilable(
113
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration
114
- )
115
- )
105
+ returns(T.nilable(MetronomeSDK::PrepaidBalanceThresholdConfiguration))
116
106
  end
117
107
  attr_reader :prepaid_balance_threshold_configuration
118
108
 
119
109
  sig do
120
110
  params(
121
111
  prepaid_balance_threshold_configuration:
122
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::OrHash
112
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration::OrHash
123
113
  ).void
124
114
  end
125
115
  attr_writer :prepaid_balance_threshold_configuration
@@ -228,19 +218,13 @@ module MetronomeSDK
228
218
  end
229
219
  attr_writer :scheduled_charges_on_usage_invoices
230
220
 
231
- sig do
232
- returns(
233
- T.nilable(
234
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration
235
- )
236
- )
237
- end
221
+ sig { returns(T.nilable(MetronomeSDK::SpendThresholdConfiguration)) }
238
222
  attr_reader :spend_threshold_configuration
239
223
 
240
224
  sig do
241
225
  params(
242
226
  spend_threshold_configuration:
243
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::OrHash
227
+ MetronomeSDK::SpendThresholdConfiguration::OrHash
244
228
  ).void
245
229
  end
246
230
  attr_writer :spend_threshold_configuration
@@ -284,14 +268,14 @@ module MetronomeSDK
284
268
  ending_before: Time,
285
269
  hierarchy_configuration:
286
270
  T.any(
287
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
288
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::OrHash
271
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
272
+ MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::OrHash
289
273
  ),
290
274
  name: String,
291
275
  net_payment_terms_days: Float,
292
276
  netsuite_sales_order_id: String,
293
277
  prepaid_balance_threshold_configuration:
294
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::OrHash,
278
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration::OrHash,
295
279
  professional_services: T::Array[MetronomeSDK::ProService::OrHash],
296
280
  rate_card_id: String,
297
281
  recurring_commits:
@@ -310,7 +294,7 @@ module MetronomeSDK
310
294
  scheduled_charges_on_usage_invoices:
311
295
  MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::OrSymbol,
312
296
  spend_threshold_configuration:
313
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::OrHash,
297
+ MetronomeSDK::SpendThresholdConfiguration::OrHash,
314
298
  total_contract_value: Float,
315
299
  usage_filter:
316
300
  MetronomeSDK::ContractWithoutAmendments::UsageFilter::OrHash
@@ -376,12 +360,12 @@ module MetronomeSDK
376
360
  discounts: T::Array[MetronomeSDK::Discount],
377
361
  ending_before: Time,
378
362
  hierarchy_configuration:
379
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::Variants,
363
+ MetronomeSDK::HierarchyConfiguration::Variants,
380
364
  name: String,
381
365
  net_payment_terms_days: Float,
382
366
  netsuite_sales_order_id: String,
383
367
  prepaid_balance_threshold_configuration:
384
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration,
368
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration,
385
369
  professional_services: T::Array[MetronomeSDK::ProService],
386
370
  rate_card_id: String,
387
371
  recurring_commits:
@@ -400,7 +384,7 @@ module MetronomeSDK
400
384
  scheduled_charges_on_usage_invoices:
401
385
  MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices::TaggedSymbol,
402
386
  spend_threshold_configuration:
403
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration,
387
+ MetronomeSDK::SpendThresholdConfiguration,
404
388
  total_contract_value: Float,
405
389
  usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
406
390
  }
@@ -581,1010 +565,169 @@ module MetronomeSDK
581
565
  end
582
566
  end
583
567
 
584
- # Either a **parent** configuration with a list of children or a **child**
585
- # configuration with a single parent.
586
- module HierarchyConfiguration
587
- extend MetronomeSDK::Internal::Type::Union
588
-
589
- Variants =
568
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
569
+ OrHash =
590
570
  T.type_alias do
591
571
  T.any(
592
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration,
593
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration
572
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit,
573
+ MetronomeSDK::Internal::AnyHash
594
574
  )
595
575
  end
596
576
 
597
- class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
598
- OrHash =
599
- T.type_alias do
600
- T.any(
601
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration,
602
- MetronomeSDK::Internal::AnyHash
603
- )
604
- end
605
-
606
- # List of contracts that belong to this parent.
607
- sig do
608
- returns(
609
- T::Array[
610
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child
611
- ]
612
- )
613
- end
614
- attr_accessor :children
577
+ sig { returns(String) }
578
+ attr_accessor :id
615
579
 
616
- sig do
617
- params(
618
- children:
619
- T::Array[
620
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child::OrHash
621
- ]
622
- ).returns(T.attached_class)
623
- end
624
- def self.new(
625
- # List of contracts that belong to this parent.
626
- children:
580
+ # The amount of commit to grant.
581
+ sig do
582
+ returns(
583
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount
627
584
  )
628
- end
629
-
630
- sig do
631
- override.returns(
632
- {
633
- children:
634
- T::Array[
635
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child
636
- ]
637
- }
638
- )
639
- end
640
- def to_hash
641
- end
642
-
643
- class Child < MetronomeSDK::Internal::Type::BaseModel
644
- OrHash =
645
- T.type_alias do
646
- T.any(
647
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child,
648
- MetronomeSDK::Internal::AnyHash
649
- )
650
- end
651
-
652
- sig { returns(String) }
653
- attr_accessor :contract_id
654
-
655
- sig { returns(String) }
656
- attr_accessor :customer_id
657
-
658
- sig do
659
- params(contract_id: String, customer_id: String).returns(
660
- T.attached_class
661
- )
662
- end
663
- def self.new(contract_id:, customer_id:)
664
- end
665
-
666
- sig do
667
- override.returns({ contract_id: String, customer_id: String })
668
- end
669
- def to_hash
670
- end
671
- end
672
585
  end
586
+ attr_reader :access_amount
673
587
 
674
- class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
675
- OrHash =
676
- T.type_alias do
677
- T.any(
678
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration,
679
- MetronomeSDK::Internal::AnyHash
680
- )
681
- end
682
-
683
- # The single parent contract/customer for this child.
684
- sig do
685
- returns(
686
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
687
- )
688
- end
689
- attr_reader :parent
690
-
691
- sig do
692
- params(
693
- parent:
694
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
695
- ).void
696
- end
697
- attr_writer :parent
698
-
699
- sig do
700
- params(
701
- parent:
702
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
703
- ).returns(T.attached_class)
704
- end
705
- def self.new(
706
- # The single parent contract/customer for this child.
707
- parent:
708
- )
709
- end
710
-
711
- sig do
712
- override.returns(
713
- {
714
- parent:
715
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
716
- }
717
- )
718
- end
719
- def to_hash
720
- end
721
-
722
- class Parent < MetronomeSDK::Internal::Type::BaseModel
723
- OrHash =
724
- T.type_alias do
725
- T.any(
726
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
727
- MetronomeSDK::Internal::AnyHash
728
- )
729
- end
730
-
731
- sig { returns(String) }
732
- attr_accessor :contract_id
733
-
734
- sig { returns(String) }
735
- attr_accessor :customer_id
736
-
737
- # The single parent contract/customer for this child.
738
- sig do
739
- params(contract_id: String, customer_id: String).returns(
740
- T.attached_class
741
- )
742
- end
743
- def self.new(contract_id:, customer_id:)
744
- end
745
-
746
- sig do
747
- override.returns({ contract_id: String, customer_id: String })
748
- end
749
- def to_hash
750
- end
751
- end
588
+ sig do
589
+ params(
590
+ access_amount:
591
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount::OrHash
592
+ ).void
752
593
  end
594
+ attr_writer :access_amount
753
595
 
596
+ # The amount of time the created commits will be valid for
754
597
  sig do
755
- override.returns(
756
- T::Array[
757
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::Variants
758
- ]
598
+ returns(
599
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration
759
600
  )
760
601
  end
761
- def self.variants
602
+ attr_reader :commit_duration
603
+
604
+ sig do
605
+ params(
606
+ commit_duration:
607
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration::OrHash
608
+ ).void
762
609
  end
763
- end
610
+ attr_writer :commit_duration
764
611
 
765
- class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
766
- OrHash =
767
- T.type_alias do
768
- T.any(
769
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration,
770
- MetronomeSDK::Internal::AnyHash
771
- )
772
- end
612
+ # Will be passed down to the individual commits
613
+ sig { returns(Float) }
614
+ attr_accessor :priority
773
615
 
774
616
  sig do
775
617
  returns(
776
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit
618
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product
777
619
  )
778
620
  end
779
- attr_reader :commit
621
+ attr_reader :product
780
622
 
781
623
  sig do
782
624
  params(
783
- commit:
784
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::OrHash
625
+ product:
626
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product::OrHash
785
627
  ).void
786
628
  end
787
- attr_writer :commit
629
+ attr_writer :product
630
+
631
+ # Whether the created commits will use the commit rate or list rate
632
+ sig do
633
+ returns(
634
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol
635
+ )
636
+ end
637
+ attr_accessor :rate_type
638
+
639
+ # Determines the start time for the first commit
640
+ sig { returns(Time) }
641
+ attr_accessor :starting_at
642
+
643
+ # Will be passed down to the individual commits
644
+ sig { returns(T.nilable(T::Array[String])) }
645
+ attr_reader :applicable_product_ids
646
+
647
+ sig { params(applicable_product_ids: T::Array[String]).void }
648
+ attr_writer :applicable_product_ids
649
+
650
+ # Will be passed down to the individual commits
651
+ sig { returns(T.nilable(T::Array[String])) }
652
+ attr_reader :applicable_product_tags
788
653
 
789
- # When set to false, the contract will not be evaluated against the
790
- # threshold_amount. Toggling to true will result an immediate evaluation,
791
- # regardless of prior state.
792
- sig { returns(T::Boolean) }
793
- attr_accessor :is_enabled
654
+ sig { params(applicable_product_tags: T::Array[String]).void }
655
+ attr_writer :applicable_product_tags
794
656
 
795
657
  sig do
796
658
  returns(
797
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
659
+ T.nilable(
660
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract
661
+ )
798
662
  )
799
663
  end
800
- attr_reader :payment_gate_config
664
+ attr_reader :contract
801
665
 
802
666
  sig do
803
667
  params(
804
- payment_gate_config:
805
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash
668
+ contract:
669
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract::OrHash
806
670
  ).void
807
671
  end
808
- attr_writer :payment_gate_config
672
+ attr_writer :contract
809
673
 
810
- # Specify the amount the balance should be recharged to.
811
- sig { returns(Float) }
812
- attr_accessor :recharge_to_amount
674
+ # Will be passed down to the individual commits
675
+ sig { returns(T.nilable(String)) }
676
+ attr_reader :description
813
677
 
814
- # Specify the threshold amount for the contract. Each time the contract's prepaid
815
- # balance lowers to this amount, a threshold charge will be initiated.
816
- sig { returns(Float) }
817
- attr_accessor :threshold_amount
678
+ sig { params(description: String).void }
679
+ attr_writer :description
818
680
 
819
- # If provided, the threshold, recharge-to amount, and the resulting threshold
820
- # commit amount will be in terms of this credit type instead of the fiat currency.
821
- sig { returns(T.nilable(String)) }
822
- attr_reader :custom_credit_type_id
681
+ # Determines when the contract will stop creating recurring commits. Optional
682
+ sig { returns(T.nilable(Time)) }
683
+ attr_reader :ending_before
684
+
685
+ sig { params(ending_before: Time).void }
686
+ attr_writer :ending_before
823
687
 
824
- sig { params(custom_credit_type_id: String).void }
825
- attr_writer :custom_credit_type_id
688
+ # Optional configuration for recurring commit/credit hierarchy access control
689
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
690
+ attr_reader :hierarchy_configuration
826
691
 
827
692
  sig do
828
693
  params(
829
- commit:
830
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::OrHash,
831
- is_enabled: T::Boolean,
832
- payment_gate_config:
833
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
834
- recharge_to_amount: Float,
835
- threshold_amount: Float,
836
- custom_credit_type_id: String
837
- ).returns(T.attached_class)
838
- end
839
- def self.new(
840
- commit:,
841
- # When set to false, the contract will not be evaluated against the
842
- # threshold_amount. Toggling to true will result an immediate evaluation,
843
- # regardless of prior state.
844
- is_enabled:,
845
- payment_gate_config:,
846
- # Specify the amount the balance should be recharged to.
847
- recharge_to_amount:,
848
- # Specify the threshold amount for the contract. Each time the contract's prepaid
849
- # balance lowers to this amount, a threshold charge will be initiated.
850
- threshold_amount:,
851
- # If provided, the threshold, recharge-to amount, and the resulting threshold
852
- # commit amount will be in terms of this credit type instead of the fiat currency.
853
- custom_credit_type_id: nil
854
- )
694
+ hierarchy_configuration:
695
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
696
+ ).void
855
697
  end
698
+ attr_writer :hierarchy_configuration
856
699
 
700
+ # The amount the customer should be billed for the commit. Not required.
857
701
  sig do
858
- override.returns(
859
- {
860
- commit:
861
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit,
862
- is_enabled: T::Boolean,
863
- payment_gate_config:
864
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
865
- recharge_to_amount: Float,
866
- threshold_amount: Float,
867
- custom_credit_type_id: String
868
- }
702
+ returns(
703
+ T.nilable(
704
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
705
+ )
869
706
  )
870
707
  end
871
- def to_hash
872
- end
873
-
874
- class Commit < MetronomeSDK::Internal::Type::BaseModel
875
- OrHash =
876
- T.type_alias do
877
- T.any(
878
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit,
879
- MetronomeSDK::Internal::AnyHash
880
- )
881
- end
882
-
883
- # The commit product that will be used to generate the line item for commit
884
- # payment.
885
- sig { returns(String) }
886
- attr_accessor :product_id
887
-
888
- # Which products the threshold commit applies to. If applicable_product_ids,
889
- # applicable_product_tags or specifiers are not provided, the commit applies to
890
- # all products.
891
- sig { returns(T.nilable(T::Array[String])) }
892
- attr_reader :applicable_product_ids
893
-
894
- sig { params(applicable_product_ids: T::Array[String]).void }
895
- attr_writer :applicable_product_ids
896
-
897
- # Which tags the threshold commit applies to. If applicable_product_ids,
898
- # applicable_product_tags or specifiers are not provided, the commit applies to
899
- # all products.
900
- sig { returns(T.nilable(T::Array[String])) }
901
- attr_reader :applicable_product_tags
708
+ attr_reader :invoice_amount
902
709
 
903
- sig { params(applicable_product_tags: T::Array[String]).void }
904
- attr_writer :applicable_product_tags
710
+ sig do
711
+ params(
712
+ invoice_amount:
713
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount::OrHash
714
+ ).void
715
+ end
716
+ attr_writer :invoice_amount
905
717
 
906
- sig { returns(T.nilable(String)) }
907
- attr_reader :description
718
+ # Displayed on invoices. Will be passed through to the individual commits
719
+ sig { returns(T.nilable(String)) }
720
+ attr_reader :name
908
721
 
909
- sig { params(description: String).void }
910
- attr_writer :description
722
+ sig { params(name: String).void }
723
+ attr_writer :name
911
724
 
912
- # Specify the name of the line item for the threshold charge. If left blank, it
913
- # will default to the commit product name.
914
- sig { returns(T.nilable(String)) }
915
- attr_reader :name
725
+ # Will be passed down to the individual commits
726
+ sig { returns(T.nilable(String)) }
727
+ attr_reader :netsuite_sales_order_id
916
728
 
917
- sig { params(name: String).void }
918
- attr_writer :name
919
-
920
- # List of filters that determine what kind of customer usage draws down a commit
921
- # or credit. A customer's usage needs to meet the condition of at least one of the
922
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
923
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
924
- sig do
925
- returns(
926
- T.nilable(
927
- T::Array[
928
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier
929
- ]
930
- )
931
- )
932
- end
933
- attr_reader :specifiers
934
-
935
- sig do
936
- params(
937
- specifiers:
938
- T::Array[
939
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
940
- ]
941
- ).void
942
- end
943
- attr_writer :specifiers
944
-
945
- sig do
946
- params(
947
- product_id: String,
948
- applicable_product_ids: T::Array[String],
949
- applicable_product_tags: T::Array[String],
950
- description: String,
951
- name: String,
952
- specifiers:
953
- T::Array[
954
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
955
- ]
956
- ).returns(T.attached_class)
957
- end
958
- def self.new(
959
- # The commit product that will be used to generate the line item for commit
960
- # payment.
961
- product_id:,
962
- # Which products the threshold commit applies to. If applicable_product_ids,
963
- # applicable_product_tags or specifiers are not provided, the commit applies to
964
- # all products.
965
- applicable_product_ids: nil,
966
- # Which tags the threshold commit applies to. If applicable_product_ids,
967
- # applicable_product_tags or specifiers are not provided, the commit applies to
968
- # all products.
969
- applicable_product_tags: nil,
970
- description: nil,
971
- # Specify the name of the line item for the threshold charge. If left blank, it
972
- # will default to the commit product name.
973
- name: nil,
974
- # List of filters that determine what kind of customer usage draws down a commit
975
- # or credit. A customer's usage needs to meet the condition of at least one of the
976
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
977
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
978
- specifiers: nil
979
- )
980
- end
981
-
982
- sig do
983
- override.returns(
984
- {
985
- product_id: String,
986
- applicable_product_ids: T::Array[String],
987
- applicable_product_tags: T::Array[String],
988
- description: String,
989
- name: String,
990
- specifiers:
991
- T::Array[
992
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier
993
- ]
994
- }
995
- )
996
- end
997
- def to_hash
998
- end
999
-
1000
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1001
- OrHash =
1002
- T.type_alias do
1003
- T.any(
1004
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier,
1005
- MetronomeSDK::Internal::AnyHash
1006
- )
1007
- end
1008
-
1009
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1010
- attr_reader :presentation_group_values
1011
-
1012
- sig do
1013
- params(presentation_group_values: T::Hash[Symbol, String]).void
1014
- end
1015
- attr_writer :presentation_group_values
1016
-
1017
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1018
- attr_reader :pricing_group_values
1019
-
1020
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1021
- attr_writer :pricing_group_values
1022
-
1023
- # If provided, the specifier will only apply to the product with the specified ID.
1024
- sig { returns(T.nilable(String)) }
1025
- attr_reader :product_id
1026
-
1027
- sig { params(product_id: String).void }
1028
- attr_writer :product_id
1029
-
1030
- # If provided, the specifier will only apply to products with all the specified
1031
- # tags.
1032
- sig { returns(T.nilable(T::Array[String])) }
1033
- attr_reader :product_tags
1034
-
1035
- sig { params(product_tags: T::Array[String]).void }
1036
- attr_writer :product_tags
1037
-
1038
- sig do
1039
- params(
1040
- presentation_group_values: T::Hash[Symbol, String],
1041
- pricing_group_values: T::Hash[Symbol, String],
1042
- product_id: String,
1043
- product_tags: T::Array[String]
1044
- ).returns(T.attached_class)
1045
- end
1046
- def self.new(
1047
- presentation_group_values: nil,
1048
- pricing_group_values: nil,
1049
- # If provided, the specifier will only apply to the product with the specified ID.
1050
- product_id: nil,
1051
- # If provided, the specifier will only apply to products with all the specified
1052
- # tags.
1053
- product_tags: nil
1054
- )
1055
- end
1056
-
1057
- sig do
1058
- override.returns(
1059
- {
1060
- presentation_group_values: T::Hash[Symbol, String],
1061
- pricing_group_values: T::Hash[Symbol, String],
1062
- product_id: String,
1063
- product_tags: T::Array[String]
1064
- }
1065
- )
1066
- end
1067
- def to_hash
1068
- end
1069
- end
1070
- end
1071
-
1072
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1073
- OrHash =
1074
- T.type_alias do
1075
- T.any(
1076
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1077
- MetronomeSDK::Internal::AnyHash
1078
- )
1079
- end
1080
-
1081
- # Gate access to the commit balance based on successful collection of payment.
1082
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1083
- # facilitate payment using your own payment integration. Select NONE if you do not
1084
- # wish to payment gate the commit balance.
1085
- sig do
1086
- returns(
1087
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1088
- )
1089
- end
1090
- attr_accessor :payment_gate_type
1091
-
1092
- # Only applicable if using PRECALCULATED as your tax type.
1093
- sig do
1094
- returns(
1095
- T.nilable(
1096
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1097
- )
1098
- )
1099
- end
1100
- attr_reader :precalculated_tax_config
1101
-
1102
- sig do
1103
- params(
1104
- precalculated_tax_config:
1105
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1106
- ).void
1107
- end
1108
- attr_writer :precalculated_tax_config
1109
-
1110
- # Only applicable if using STRIPE as your payment gate type.
1111
- sig do
1112
- returns(
1113
- T.nilable(
1114
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
1115
- )
1116
- )
1117
- end
1118
- attr_reader :stripe_config
1119
-
1120
- sig do
1121
- params(
1122
- stripe_config:
1123
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash
1124
- ).void
1125
- end
1126
- attr_writer :stripe_config
1127
-
1128
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1129
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1130
- # will default to NONE.
1131
- sig do
1132
- returns(
1133
- T.nilable(
1134
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1135
- )
1136
- )
1137
- end
1138
- attr_reader :tax_type
1139
-
1140
- sig do
1141
- params(
1142
- tax_type:
1143
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
1144
- ).void
1145
- end
1146
- attr_writer :tax_type
1147
-
1148
- sig do
1149
- params(
1150
- payment_gate_type:
1151
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1152
- precalculated_tax_config:
1153
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1154
- stripe_config:
1155
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1156
- tax_type:
1157
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
1158
- ).returns(T.attached_class)
1159
- end
1160
- def self.new(
1161
- # Gate access to the commit balance based on successful collection of payment.
1162
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1163
- # facilitate payment using your own payment integration. Select NONE if you do not
1164
- # wish to payment gate the commit balance.
1165
- payment_gate_type:,
1166
- # Only applicable if using PRECALCULATED as your tax type.
1167
- precalculated_tax_config: nil,
1168
- # Only applicable if using STRIPE as your payment gate type.
1169
- stripe_config: nil,
1170
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1171
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1172
- # will default to NONE.
1173
- tax_type: nil
1174
- )
1175
- end
1176
-
1177
- sig do
1178
- override.returns(
1179
- {
1180
- payment_gate_type:
1181
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1182
- precalculated_tax_config:
1183
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1184
- stripe_config:
1185
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1186
- tax_type:
1187
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1188
- }
1189
- )
1190
- end
1191
- def to_hash
1192
- end
1193
-
1194
- # Gate access to the commit balance based on successful collection of payment.
1195
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1196
- # facilitate payment using your own payment integration. Select NONE if you do not
1197
- # wish to payment gate the commit balance.
1198
- module PaymentGateType
1199
- extend MetronomeSDK::Internal::Type::Enum
1200
-
1201
- TaggedSymbol =
1202
- T.type_alias do
1203
- T.all(
1204
- Symbol,
1205
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
1206
- )
1207
- end
1208
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1209
-
1210
- NONE =
1211
- T.let(
1212
- :NONE,
1213
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1214
- )
1215
- STRIPE =
1216
- T.let(
1217
- :STRIPE,
1218
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1219
- )
1220
- EXTERNAL =
1221
- T.let(
1222
- :EXTERNAL,
1223
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1224
- )
1225
-
1226
- sig do
1227
- override.returns(
1228
- T::Array[
1229
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1230
- ]
1231
- )
1232
- end
1233
- def self.values
1234
- end
1235
- end
1236
-
1237
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1238
- OrHash =
1239
- T.type_alias do
1240
- T.any(
1241
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1242
- MetronomeSDK::Internal::AnyHash
1243
- )
1244
- end
1245
-
1246
- # Amount of tax to be applied. This should be in the same currency and
1247
- # denomination as the commit's invoice schedule
1248
- sig { returns(Float) }
1249
- attr_accessor :tax_amount
1250
-
1251
- # Name of the tax to be applied. This may be used in an invoice line item
1252
- # description.
1253
- sig { returns(T.nilable(String)) }
1254
- attr_reader :tax_name
1255
-
1256
- sig { params(tax_name: String).void }
1257
- attr_writer :tax_name
1258
-
1259
- # Only applicable if using PRECALCULATED as your tax type.
1260
- sig do
1261
- params(tax_amount: Float, tax_name: String).returns(
1262
- T.attached_class
1263
- )
1264
- end
1265
- def self.new(
1266
- # Amount of tax to be applied. This should be in the same currency and
1267
- # denomination as the commit's invoice schedule
1268
- tax_amount:,
1269
- # Name of the tax to be applied. This may be used in an invoice line item
1270
- # description.
1271
- tax_name: nil
1272
- )
1273
- end
1274
-
1275
- sig { override.returns({ tax_amount: Float, tax_name: String }) }
1276
- def to_hash
1277
- end
1278
- end
1279
-
1280
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1281
- OrHash =
1282
- T.type_alias do
1283
- T.any(
1284
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1285
- MetronomeSDK::Internal::AnyHash
1286
- )
1287
- end
1288
-
1289
- # If left blank, will default to INVOICE
1290
- sig do
1291
- returns(
1292
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1293
- )
1294
- end
1295
- attr_accessor :payment_type
1296
-
1297
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1298
- # your payment type.
1299
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1300
- attr_reader :invoice_metadata
1301
-
1302
- sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1303
- attr_writer :invoice_metadata
1304
-
1305
- # Only applicable if using STRIPE as your payment gate type.
1306
- sig do
1307
- params(
1308
- payment_type:
1309
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1310
- invoice_metadata: T::Hash[Symbol, String]
1311
- ).returns(T.attached_class)
1312
- end
1313
- def self.new(
1314
- # If left blank, will default to INVOICE
1315
- payment_type:,
1316
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1317
- # your payment type.
1318
- invoice_metadata: nil
1319
- )
1320
- end
1321
-
1322
- sig do
1323
- override.returns(
1324
- {
1325
- payment_type:
1326
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
1327
- invoice_metadata: T::Hash[Symbol, String]
1328
- }
1329
- )
1330
- end
1331
- def to_hash
1332
- end
1333
-
1334
- # If left blank, will default to INVOICE
1335
- module PaymentType
1336
- extend MetronomeSDK::Internal::Type::Enum
1337
-
1338
- TaggedSymbol =
1339
- T.type_alias do
1340
- T.all(
1341
- Symbol,
1342
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1343
- )
1344
- end
1345
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1346
-
1347
- INVOICE =
1348
- T.let(
1349
- :INVOICE,
1350
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1351
- )
1352
- PAYMENT_INTENT =
1353
- T.let(
1354
- :PAYMENT_INTENT,
1355
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1356
- )
1357
-
1358
- sig do
1359
- override.returns(
1360
- T::Array[
1361
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1362
- ]
1363
- )
1364
- end
1365
- def self.values
1366
- end
1367
- end
1368
- end
1369
-
1370
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1371
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1372
- # will default to NONE.
1373
- module TaxType
1374
- extend MetronomeSDK::Internal::Type::Enum
1375
-
1376
- TaggedSymbol =
1377
- T.type_alias do
1378
- T.all(
1379
- Symbol,
1380
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
1381
- )
1382
- end
1383
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1384
-
1385
- NONE =
1386
- T.let(
1387
- :NONE,
1388
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1389
- )
1390
- STRIPE =
1391
- T.let(
1392
- :STRIPE,
1393
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1394
- )
1395
- ANROK =
1396
- T.let(
1397
- :ANROK,
1398
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1399
- )
1400
- PRECALCULATED =
1401
- T.let(
1402
- :PRECALCULATED,
1403
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1404
- )
1405
-
1406
- sig do
1407
- override.returns(
1408
- T::Array[
1409
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1410
- ]
1411
- )
1412
- end
1413
- def self.values
1414
- end
1415
- end
1416
- end
1417
- end
1418
-
1419
- class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1420
- OrHash =
1421
- T.type_alias do
1422
- T.any(
1423
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit,
1424
- MetronomeSDK::Internal::AnyHash
1425
- )
1426
- end
1427
-
1428
- sig { returns(String) }
1429
- attr_accessor :id
1430
-
1431
- # The amount of commit to grant.
1432
- sig do
1433
- returns(
1434
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount
1435
- )
1436
- end
1437
- attr_reader :access_amount
1438
-
1439
- sig do
1440
- params(
1441
- access_amount:
1442
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount::OrHash
1443
- ).void
1444
- end
1445
- attr_writer :access_amount
1446
-
1447
- # The amount of time the created commits will be valid for
1448
- sig do
1449
- returns(
1450
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration
1451
- )
1452
- end
1453
- attr_reader :commit_duration
1454
-
1455
- sig do
1456
- params(
1457
- commit_duration:
1458
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration::OrHash
1459
- ).void
1460
- end
1461
- attr_writer :commit_duration
1462
-
1463
- # Will be passed down to the individual commits
1464
- sig { returns(Float) }
1465
- attr_accessor :priority
1466
-
1467
- sig do
1468
- returns(
1469
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product
1470
- )
1471
- end
1472
- attr_reader :product
1473
-
1474
- sig do
1475
- params(
1476
- product:
1477
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product::OrHash
1478
- ).void
1479
- end
1480
- attr_writer :product
1481
-
1482
- # Whether the created commits will use the commit rate or list rate
1483
- sig do
1484
- returns(
1485
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RateType::TaggedSymbol
1486
- )
1487
- end
1488
- attr_accessor :rate_type
1489
-
1490
- # Determines the start time for the first commit
1491
- sig { returns(Time) }
1492
- attr_accessor :starting_at
1493
-
1494
- # Will be passed down to the individual commits
1495
- sig { returns(T.nilable(T::Array[String])) }
1496
- attr_reader :applicable_product_ids
1497
-
1498
- sig { params(applicable_product_ids: T::Array[String]).void }
1499
- attr_writer :applicable_product_ids
1500
-
1501
- # Will be passed down to the individual commits
1502
- sig { returns(T.nilable(T::Array[String])) }
1503
- attr_reader :applicable_product_tags
1504
-
1505
- sig { params(applicable_product_tags: T::Array[String]).void }
1506
- attr_writer :applicable_product_tags
1507
-
1508
- sig do
1509
- returns(
1510
- T.nilable(
1511
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract
1512
- )
1513
- )
1514
- end
1515
- attr_reader :contract
1516
-
1517
- sig do
1518
- params(
1519
- contract:
1520
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract::OrHash
1521
- ).void
1522
- end
1523
- attr_writer :contract
1524
-
1525
- # Will be passed down to the individual commits
1526
- sig { returns(T.nilable(String)) }
1527
- attr_reader :description
1528
-
1529
- sig { params(description: String).void }
1530
- attr_writer :description
1531
-
1532
- # Determines when the contract will stop creating recurring commits. Optional
1533
- sig { returns(T.nilable(Time)) }
1534
- attr_reader :ending_before
1535
-
1536
- sig { params(ending_before: Time).void }
1537
- attr_writer :ending_before
1538
-
1539
- # Optional configuration for recurring commit/credit hierarchy access control
1540
- sig do
1541
- returns(
1542
- T.nilable(
1543
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration
1544
- )
1545
- )
1546
- end
1547
- attr_reader :hierarchy_configuration
1548
-
1549
- sig do
1550
- params(
1551
- hierarchy_configuration:
1552
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::OrHash
1553
- ).void
1554
- end
1555
- attr_writer :hierarchy_configuration
1556
-
1557
- # The amount the customer should be billed for the commit. Not required.
1558
- sig do
1559
- returns(
1560
- T.nilable(
1561
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
1562
- )
1563
- )
1564
- end
1565
- attr_reader :invoice_amount
1566
-
1567
- sig do
1568
- params(
1569
- invoice_amount:
1570
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount::OrHash
1571
- ).void
1572
- end
1573
- attr_writer :invoice_amount
1574
-
1575
- # Displayed on invoices. Will be passed through to the individual commits
1576
- sig { returns(T.nilable(String)) }
1577
- attr_reader :name
1578
-
1579
- sig { params(name: String).void }
1580
- attr_writer :name
1581
-
1582
- # Will be passed down to the individual commits
1583
- sig { returns(T.nilable(String)) }
1584
- attr_reader :netsuite_sales_order_id
1585
-
1586
- sig { params(netsuite_sales_order_id: String).void }
1587
- attr_writer :netsuite_sales_order_id
729
+ sig { params(netsuite_sales_order_id: String).void }
730
+ attr_writer :netsuite_sales_order_id
1588
731
 
1589
732
  # Determines whether the first and last commit will be prorated. If not provided,
1590
733
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
@@ -1639,41 +782,26 @@ module MetronomeSDK
1639
782
  # List of filters that determine what kind of customer usage draws down a commit
1640
783
  # or credit. A customer's usage needs to meet the condition of at least one of the
1641
784
  # specifiers to contribute to a commit's or credit's drawdown.
1642
- sig do
1643
- returns(
1644
- T.nilable(
1645
- T::Array[
1646
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier
1647
- ]
1648
- )
1649
- )
1650
- end
785
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifier])) }
1651
786
  attr_reader :specifiers
1652
787
 
1653
788
  sig do
1654
789
  params(
1655
- specifiers:
1656
- T::Array[
1657
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier::OrHash
1658
- ]
790
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash]
1659
791
  ).void
1660
792
  end
1661
793
  attr_writer :specifiers
1662
794
 
1663
795
  # Attach a subscription to the recurring commit/credit.
1664
796
  sig do
1665
- returns(
1666
- T.nilable(
1667
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
1668
- )
1669
- )
797
+ returns(T.nilable(MetronomeSDK::RecurringCommitSubscriptionConfig))
1670
798
  end
1671
799
  attr_reader :subscription_config
1672
800
 
1673
801
  sig do
1674
802
  params(
1675
803
  subscription_config:
1676
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::OrHash
804
+ MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
1677
805
  ).void
1678
806
  end
1679
807
  attr_writer :subscription_config
@@ -1698,7 +826,7 @@ module MetronomeSDK
1698
826
  description: String,
1699
827
  ending_before: Time,
1700
828
  hierarchy_configuration:
1701
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::OrHash,
829
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
1702
830
  invoice_amount:
1703
831
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount::OrHash,
1704
832
  name: String,
@@ -1708,12 +836,9 @@ module MetronomeSDK
1708
836
  recurrence_frequency:
1709
837
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::OrSymbol,
1710
838
  rollover_fraction: Float,
1711
- specifiers:
1712
- T::Array[
1713
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier::OrHash
1714
- ],
839
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
1715
840
  subscription_config:
1716
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::OrHash
841
+ MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
1717
842
  ).returns(T.attached_class)
1718
843
  end
1719
844
  def self.new(
@@ -1789,7 +914,7 @@ module MetronomeSDK
1789
914
  description: String,
1790
915
  ending_before: Time,
1791
916
  hierarchy_configuration:
1792
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
917
+ MetronomeSDK::CommitHierarchyConfiguration,
1793
918
  invoice_amount:
1794
919
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
1795
920
  name: String,
@@ -1799,12 +924,9 @@ module MetronomeSDK
1799
924
  recurrence_frequency:
1800
925
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol,
1801
926
  rollover_fraction: Float,
1802
- specifiers:
1803
- T::Array[
1804
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier
1805
- ],
927
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier],
1806
928
  subscription_config:
1807
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig
929
+ MetronomeSDK::RecurringCommitSubscriptionConfig
1808
930
  }
1809
931
  )
1810
932
  end
@@ -2014,274 +1136,6 @@ module MetronomeSDK
2014
1136
  end
2015
1137
  end
2016
1138
 
2017
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2018
- OrHash =
2019
- T.type_alias do
2020
- T.any(
2021
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
2022
- MetronomeSDK::Internal::AnyHash
2023
- )
2024
- end
2025
-
2026
- sig do
2027
- returns(
2028
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
2029
- )
2030
- end
2031
- attr_accessor :child_access
2032
-
2033
- # Optional configuration for recurring commit/credit hierarchy access control
2034
- sig do
2035
- params(
2036
- child_access:
2037
- T.any(
2038
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
2039
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
2040
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
2041
- )
2042
- ).returns(T.attached_class)
2043
- end
2044
- def self.new(child_access:)
2045
- end
2046
-
2047
- sig do
2048
- override.returns(
2049
- {
2050
- child_access:
2051
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
2052
- }
2053
- )
2054
- end
2055
- def to_hash
2056
- end
2057
-
2058
- module ChildAccess
2059
- extend MetronomeSDK::Internal::Type::Union
2060
-
2061
- Variants =
2062
- T.type_alias do
2063
- T.any(
2064
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2065
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2066
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2067
- )
2068
- end
2069
-
2070
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2071
- OrHash =
2072
- T.type_alias do
2073
- T.any(
2074
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2075
- MetronomeSDK::Internal::AnyHash
2076
- )
2077
- end
2078
-
2079
- sig do
2080
- returns(
2081
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2082
- )
2083
- end
2084
- attr_accessor :type
2085
-
2086
- sig do
2087
- params(
2088
- type:
2089
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2090
- ).returns(T.attached_class)
2091
- end
2092
- def self.new(type:)
2093
- end
2094
-
2095
- sig do
2096
- override.returns(
2097
- {
2098
- type:
2099
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2100
- }
2101
- )
2102
- end
2103
- def to_hash
2104
- end
2105
-
2106
- module Type
2107
- extend MetronomeSDK::Internal::Type::Enum
2108
-
2109
- TaggedSymbol =
2110
- T.type_alias do
2111
- T.all(
2112
- Symbol,
2113
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2114
- )
2115
- end
2116
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2117
-
2118
- ALL =
2119
- T.let(
2120
- :ALL,
2121
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2122
- )
2123
-
2124
- sig do
2125
- override.returns(
2126
- T::Array[
2127
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2128
- ]
2129
- )
2130
- end
2131
- def self.values
2132
- end
2133
- end
2134
- end
2135
-
2136
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2137
- OrHash =
2138
- T.type_alias do
2139
- T.any(
2140
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2141
- MetronomeSDK::Internal::AnyHash
2142
- )
2143
- end
2144
-
2145
- sig do
2146
- returns(
2147
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2148
- )
2149
- end
2150
- attr_accessor :type
2151
-
2152
- sig do
2153
- params(
2154
- type:
2155
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2156
- ).returns(T.attached_class)
2157
- end
2158
- def self.new(type:)
2159
- end
2160
-
2161
- sig do
2162
- override.returns(
2163
- {
2164
- type:
2165
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2166
- }
2167
- )
2168
- end
2169
- def to_hash
2170
- end
2171
-
2172
- module Type
2173
- extend MetronomeSDK::Internal::Type::Enum
2174
-
2175
- TaggedSymbol =
2176
- T.type_alias do
2177
- T.all(
2178
- Symbol,
2179
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2180
- )
2181
- end
2182
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2183
-
2184
- NONE =
2185
- T.let(
2186
- :NONE,
2187
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2188
- )
2189
-
2190
- sig do
2191
- override.returns(
2192
- T::Array[
2193
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2194
- ]
2195
- )
2196
- end
2197
- def self.values
2198
- end
2199
- end
2200
- end
2201
-
2202
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2203
- OrHash =
2204
- T.type_alias do
2205
- T.any(
2206
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
2207
- MetronomeSDK::Internal::AnyHash
2208
- )
2209
- end
2210
-
2211
- sig { returns(T::Array[String]) }
2212
- attr_accessor :contract_ids
2213
-
2214
- sig do
2215
- returns(
2216
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2217
- )
2218
- end
2219
- attr_accessor :type
2220
-
2221
- sig do
2222
- params(
2223
- contract_ids: T::Array[String],
2224
- type:
2225
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2226
- ).returns(T.attached_class)
2227
- end
2228
- def self.new(contract_ids:, type:)
2229
- end
2230
-
2231
- sig do
2232
- override.returns(
2233
- {
2234
- contract_ids: T::Array[String],
2235
- type:
2236
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2237
- }
2238
- )
2239
- end
2240
- def to_hash
2241
- end
2242
-
2243
- module Type
2244
- extend MetronomeSDK::Internal::Type::Enum
2245
-
2246
- TaggedSymbol =
2247
- T.type_alias do
2248
- T.all(
2249
- Symbol,
2250
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2251
- )
2252
- end
2253
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2254
-
2255
- CONTRACT_IDS =
2256
- T.let(
2257
- :CONTRACT_IDS,
2258
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2259
- )
2260
-
2261
- sig do
2262
- override.returns(
2263
- T::Array[
2264
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2265
- ]
2266
- )
2267
- end
2268
- def self.values
2269
- end
2270
- end
2271
- end
2272
-
2273
- sig do
2274
- override.returns(
2275
- T::Array[
2276
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
2277
- ]
2278
- )
2279
- end
2280
- def self.variants
2281
- end
2282
- end
2283
- end
2284
-
2285
1139
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
2286
1140
  OrHash =
2287
1141
  T.type_alias do
@@ -2380,234 +1234,38 @@ module MetronomeSDK
2380
1234
  Symbol,
2381
1235
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency
2382
1236
  )
2383
- end
2384
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2385
-
2386
- MONTHLY =
2387
- T.let(
2388
- :MONTHLY,
2389
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
2390
- )
2391
- QUARTERLY =
2392
- T.let(
2393
- :QUARTERLY,
2394
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
2395
- )
2396
- ANNUAL =
2397
- T.let(
2398
- :ANNUAL,
2399
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
2400
- )
2401
- WEEKLY =
2402
- T.let(
2403
- :WEEKLY,
2404
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
2405
- )
2406
-
2407
- sig do
2408
- override.returns(
2409
- T::Array[
2410
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
2411
- ]
2412
- )
2413
- end
2414
- def self.values
2415
- end
2416
- end
2417
-
2418
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2419
- OrHash =
2420
- T.type_alias do
2421
- T.any(
2422
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier,
2423
- MetronomeSDK::Internal::AnyHash
2424
- )
2425
- end
2426
-
2427
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2428
- attr_reader :presentation_group_values
2429
-
2430
- sig do
2431
- params(presentation_group_values: T::Hash[Symbol, String]).void
2432
- end
2433
- attr_writer :presentation_group_values
2434
-
2435
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2436
- attr_reader :pricing_group_values
2437
-
2438
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2439
- attr_writer :pricing_group_values
2440
-
2441
- # If provided, the specifier will only apply to the product with the specified ID.
2442
- sig { returns(T.nilable(String)) }
2443
- attr_reader :product_id
2444
-
2445
- sig { params(product_id: String).void }
2446
- attr_writer :product_id
2447
-
2448
- # If provided, the specifier will only apply to products with all the specified
2449
- # tags.
2450
- sig { returns(T.nilable(T::Array[String])) }
2451
- attr_reader :product_tags
2452
-
2453
- sig { params(product_tags: T::Array[String]).void }
2454
- attr_writer :product_tags
2455
-
2456
- sig do
2457
- params(
2458
- presentation_group_values: T::Hash[Symbol, String],
2459
- pricing_group_values: T::Hash[Symbol, String],
2460
- product_id: String,
2461
- product_tags: T::Array[String]
2462
- ).returns(T.attached_class)
2463
- end
2464
- def self.new(
2465
- presentation_group_values: nil,
2466
- pricing_group_values: nil,
2467
- # If provided, the specifier will only apply to the product with the specified ID.
2468
- product_id: nil,
2469
- # If provided, the specifier will only apply to products with all the specified
2470
- # tags.
2471
- product_tags: nil
2472
- )
2473
- end
2474
-
2475
- sig do
2476
- override.returns(
2477
- {
2478
- presentation_group_values: T::Hash[Symbol, String],
2479
- pricing_group_values: T::Hash[Symbol, String],
2480
- product_id: String,
2481
- product_tags: T::Array[String]
2482
- }
2483
- )
2484
- end
2485
- def to_hash
2486
- end
2487
- end
2488
-
2489
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
2490
- OrHash =
2491
- T.type_alias do
2492
- T.any(
2493
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig,
2494
- MetronomeSDK::Internal::AnyHash
2495
- )
2496
- end
2497
-
2498
- sig do
2499
- returns(
2500
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
2501
- )
2502
- end
2503
- attr_accessor :allocation
2504
-
2505
- sig do
2506
- returns(
2507
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
2508
- )
2509
- end
2510
- attr_reader :apply_seat_increase_config
2511
-
2512
- sig do
2513
- params(
2514
- apply_seat_increase_config:
2515
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
2516
- ).void
2517
- end
2518
- attr_writer :apply_seat_increase_config
2519
-
2520
- sig { returns(String) }
2521
- attr_accessor :subscription_id
2522
-
2523
- # Attach a subscription to the recurring commit/credit.
2524
- sig do
2525
- params(
2526
- allocation:
2527
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation::OrSymbol,
2528
- apply_seat_increase_config:
2529
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
2530
- subscription_id: String
2531
- ).returns(T.attached_class)
2532
- end
2533
- def self.new(
2534
- allocation:,
2535
- apply_seat_increase_config:,
2536
- subscription_id:
2537
- )
2538
- end
2539
-
2540
- sig do
2541
- override.returns(
2542
- {
2543
- allocation:
2544
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol,
2545
- apply_seat_increase_config:
2546
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
2547
- subscription_id: String
2548
- }
2549
- )
2550
- end
2551
- def to_hash
2552
- end
2553
-
2554
- module Allocation
2555
- extend MetronomeSDK::Internal::Type::Enum
2556
-
2557
- TaggedSymbol =
2558
- T.type_alias do
2559
- T.all(
2560
- Symbol,
2561
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation
2562
- )
2563
- end
2564
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2565
-
2566
- INDIVIDUAL =
2567
- T.let(
2568
- :INDIVIDUAL,
2569
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
2570
- )
2571
- POOLED =
2572
- T.let(
2573
- :POOLED,
2574
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
2575
- )
2576
-
2577
- sig do
2578
- override.returns(
2579
- T::Array[
2580
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation::TaggedSymbol
2581
- ]
2582
- )
2583
- end
2584
- def self.values
2585
- end
2586
- end
2587
-
2588
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
2589
- OrHash =
2590
- T.type_alias do
2591
- T.any(
2592
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig,
2593
- MetronomeSDK::Internal::AnyHash
2594
- )
2595
- end
2596
-
2597
- # Indicates whether a mid-period seat increase should be prorated.
2598
- sig { returns(T::Boolean) }
2599
- attr_accessor :is_prorated
1237
+ end
1238
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2600
1239
 
2601
- sig { params(is_prorated: T::Boolean).returns(T.attached_class) }
2602
- def self.new(
2603
- # Indicates whether a mid-period seat increase should be prorated.
2604
- is_prorated:
1240
+ MONTHLY =
1241
+ T.let(
1242
+ :MONTHLY,
1243
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
1244
+ )
1245
+ QUARTERLY =
1246
+ T.let(
1247
+ :QUARTERLY,
1248
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
1249
+ )
1250
+ ANNUAL =
1251
+ T.let(
1252
+ :ANNUAL,
1253
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
1254
+ )
1255
+ WEEKLY =
1256
+ T.let(
1257
+ :WEEKLY,
1258
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
2605
1259
  )
2606
- end
2607
1260
 
2608
- sig { override.returns({ is_prorated: T::Boolean }) }
2609
- def to_hash
2610
- end
1261
+ sig do
1262
+ override.returns(
1263
+ T::Array[
1264
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency::TaggedSymbol
1265
+ ]
1266
+ )
1267
+ end
1268
+ def self.values
2611
1269
  end
2612
1270
  end
2613
1271
  end
@@ -2733,19 +1391,13 @@ module MetronomeSDK
2733
1391
  attr_writer :ending_before
2734
1392
 
2735
1393
  # Optional configuration for recurring commit/credit hierarchy access control
2736
- sig do
2737
- returns(
2738
- T.nilable(
2739
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration
2740
- )
2741
- )
2742
- end
1394
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
2743
1395
  attr_reader :hierarchy_configuration
2744
1396
 
2745
1397
  sig do
2746
1398
  params(
2747
1399
  hierarchy_configuration:
2748
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::OrHash
1400
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
2749
1401
  ).void
2750
1402
  end
2751
1403
  attr_writer :hierarchy_configuration
@@ -2817,41 +1469,26 @@ module MetronomeSDK
2817
1469
  # List of filters that determine what kind of customer usage draws down a commit
2818
1470
  # or credit. A customer's usage needs to meet the condition of at least one of the
2819
1471
  # specifiers to contribute to a commit's or credit's drawdown.
2820
- sig do
2821
- returns(
2822
- T.nilable(
2823
- T::Array[
2824
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier
2825
- ]
2826
- )
2827
- )
2828
- end
1472
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifier])) }
2829
1473
  attr_reader :specifiers
2830
1474
 
2831
1475
  sig do
2832
1476
  params(
2833
- specifiers:
2834
- T::Array[
2835
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier::OrHash
2836
- ]
1477
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash]
2837
1478
  ).void
2838
1479
  end
2839
1480
  attr_writer :specifiers
2840
1481
 
2841
1482
  # Attach a subscription to the recurring commit/credit.
2842
1483
  sig do
2843
- returns(
2844
- T.nilable(
2845
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
2846
- )
2847
- )
1484
+ returns(T.nilable(MetronomeSDK::RecurringCommitSubscriptionConfig))
2848
1485
  end
2849
1486
  attr_reader :subscription_config
2850
1487
 
2851
1488
  sig do
2852
1489
  params(
2853
1490
  subscription_config:
2854
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::OrHash
1491
+ MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
2855
1492
  ).void
2856
1493
  end
2857
1494
  attr_writer :subscription_config
@@ -2876,7 +1513,7 @@ module MetronomeSDK
2876
1513
  description: String,
2877
1514
  ending_before: Time,
2878
1515
  hierarchy_configuration:
2879
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::OrHash,
1516
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
2880
1517
  name: String,
2881
1518
  netsuite_sales_order_id: String,
2882
1519
  proration:
@@ -2884,12 +1521,9 @@ module MetronomeSDK
2884
1521
  recurrence_frequency:
2885
1522
  MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::OrSymbol,
2886
1523
  rollover_fraction: Float,
2887
- specifiers:
2888
- T::Array[
2889
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier::OrHash
2890
- ],
1524
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
2891
1525
  subscription_config:
2892
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::OrHash
1526
+ MetronomeSDK::RecurringCommitSubscriptionConfig::OrHash
2893
1527
  ).returns(T.attached_class)
2894
1528
  end
2895
1529
  def self.new(
@@ -2963,7 +1597,7 @@ module MetronomeSDK
2963
1597
  description: String,
2964
1598
  ending_before: Time,
2965
1599
  hierarchy_configuration:
2966
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
1600
+ MetronomeSDK::CommitHierarchyConfiguration,
2967
1601
  name: String,
2968
1602
  netsuite_sales_order_id: String,
2969
1603
  proration:
@@ -2971,12 +1605,9 @@ module MetronomeSDK
2971
1605
  recurrence_frequency:
2972
1606
  MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol,
2973
1607
  rollover_fraction: Float,
2974
- specifiers:
2975
- T::Array[
2976
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier
2977
- ],
1608
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier],
2978
1609
  subscription_config:
2979
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig
1610
+ MetronomeSDK::RecurringCommitSubscriptionConfig
2980
1611
  }
2981
1612
  )
2982
1613
  end
@@ -3186,274 +1817,6 @@ module MetronomeSDK
3186
1817
  end
3187
1818
  end
3188
1819
 
3189
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3190
- OrHash =
3191
- T.type_alias do
3192
- T.any(
3193
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
3194
- MetronomeSDK::Internal::AnyHash
3195
- )
3196
- end
3197
-
3198
- sig do
3199
- returns(
3200
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
3201
- )
3202
- end
3203
- attr_accessor :child_access
3204
-
3205
- # Optional configuration for recurring commit/credit hierarchy access control
3206
- sig do
3207
- params(
3208
- child_access:
3209
- T.any(
3210
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
3211
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
3212
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
3213
- )
3214
- ).returns(T.attached_class)
3215
- end
3216
- def self.new(child_access:)
3217
- end
3218
-
3219
- sig do
3220
- override.returns(
3221
- {
3222
- child_access:
3223
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
3224
- }
3225
- )
3226
- end
3227
- def to_hash
3228
- end
3229
-
3230
- module ChildAccess
3231
- extend MetronomeSDK::Internal::Type::Union
3232
-
3233
- Variants =
3234
- T.type_alias do
3235
- T.any(
3236
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
3237
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
3238
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3239
- )
3240
- end
3241
-
3242
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3243
- OrHash =
3244
- T.type_alias do
3245
- T.any(
3246
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
3247
- MetronomeSDK::Internal::AnyHash
3248
- )
3249
- end
3250
-
3251
- sig do
3252
- returns(
3253
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3254
- )
3255
- end
3256
- attr_accessor :type
3257
-
3258
- sig do
3259
- params(
3260
- type:
3261
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
3262
- ).returns(T.attached_class)
3263
- end
3264
- def self.new(type:)
3265
- end
3266
-
3267
- sig do
3268
- override.returns(
3269
- {
3270
- type:
3271
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3272
- }
3273
- )
3274
- end
3275
- def to_hash
3276
- end
3277
-
3278
- module Type
3279
- extend MetronomeSDK::Internal::Type::Enum
3280
-
3281
- TaggedSymbol =
3282
- T.type_alias do
3283
- T.all(
3284
- Symbol,
3285
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
3286
- )
3287
- end
3288
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3289
-
3290
- ALL =
3291
- T.let(
3292
- :ALL,
3293
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3294
- )
3295
-
3296
- sig do
3297
- override.returns(
3298
- T::Array[
3299
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3300
- ]
3301
- )
3302
- end
3303
- def self.values
3304
- end
3305
- end
3306
- end
3307
-
3308
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3309
- OrHash =
3310
- T.type_alias do
3311
- T.any(
3312
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
3313
- MetronomeSDK::Internal::AnyHash
3314
- )
3315
- end
3316
-
3317
- sig do
3318
- returns(
3319
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3320
- )
3321
- end
3322
- attr_accessor :type
3323
-
3324
- sig do
3325
- params(
3326
- type:
3327
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
3328
- ).returns(T.attached_class)
3329
- end
3330
- def self.new(type:)
3331
- end
3332
-
3333
- sig do
3334
- override.returns(
3335
- {
3336
- type:
3337
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3338
- }
3339
- )
3340
- end
3341
- def to_hash
3342
- end
3343
-
3344
- module Type
3345
- extend MetronomeSDK::Internal::Type::Enum
3346
-
3347
- TaggedSymbol =
3348
- T.type_alias do
3349
- T.all(
3350
- Symbol,
3351
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
3352
- )
3353
- end
3354
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3355
-
3356
- NONE =
3357
- T.let(
3358
- :NONE,
3359
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3360
- )
3361
-
3362
- sig do
3363
- override.returns(
3364
- T::Array[
3365
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3366
- ]
3367
- )
3368
- end
3369
- def self.values
3370
- end
3371
- end
3372
- end
3373
-
3374
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3375
- OrHash =
3376
- T.type_alias do
3377
- T.any(
3378
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
3379
- MetronomeSDK::Internal::AnyHash
3380
- )
3381
- end
3382
-
3383
- sig { returns(T::Array[String]) }
3384
- attr_accessor :contract_ids
3385
-
3386
- sig do
3387
- returns(
3388
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3389
- )
3390
- end
3391
- attr_accessor :type
3392
-
3393
- sig do
3394
- params(
3395
- contract_ids: T::Array[String],
3396
- type:
3397
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
3398
- ).returns(T.attached_class)
3399
- end
3400
- def self.new(contract_ids:, type:)
3401
- end
3402
-
3403
- sig do
3404
- override.returns(
3405
- {
3406
- contract_ids: T::Array[String],
3407
- type:
3408
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3409
- }
3410
- )
3411
- end
3412
- def to_hash
3413
- end
3414
-
3415
- module Type
3416
- extend MetronomeSDK::Internal::Type::Enum
3417
-
3418
- TaggedSymbol =
3419
- T.type_alias do
3420
- T.all(
3421
- Symbol,
3422
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
3423
- )
3424
- end
3425
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3426
-
3427
- CONTRACT_IDS =
3428
- T.let(
3429
- :CONTRACT_IDS,
3430
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3431
- )
3432
-
3433
- sig do
3434
- override.returns(
3435
- T::Array[
3436
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3437
- ]
3438
- )
3439
- end
3440
- def self.values
3441
- end
3442
- end
3443
- end
3444
-
3445
- sig do
3446
- override.returns(
3447
- T::Array[
3448
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
3449
- ]
3450
- )
3451
- end
3452
- def self.variants
3453
- end
3454
- end
3455
- end
3456
-
3457
1820
  # Determines whether the first and last commit will be prorated. If not provided,
3458
1821
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3459
1822
  module Proration
@@ -3534,214 +1897,18 @@ module MetronomeSDK
3534
1897
  )
3535
1898
  WEEKLY =
3536
1899
  T.let(
3537
- :WEEKLY,
3538
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
3539
- )
3540
-
3541
- sig do
3542
- override.returns(
3543
- T::Array[
3544
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
3545
- ]
3546
- )
3547
- end
3548
- def self.values
3549
- end
3550
- end
3551
-
3552
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
3553
- OrHash =
3554
- T.type_alias do
3555
- T.any(
3556
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier,
3557
- MetronomeSDK::Internal::AnyHash
3558
- )
3559
- end
3560
-
3561
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3562
- attr_reader :presentation_group_values
3563
-
3564
- sig do
3565
- params(presentation_group_values: T::Hash[Symbol, String]).void
3566
- end
3567
- attr_writer :presentation_group_values
3568
-
3569
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3570
- attr_reader :pricing_group_values
3571
-
3572
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
3573
- attr_writer :pricing_group_values
3574
-
3575
- # If provided, the specifier will only apply to the product with the specified ID.
3576
- sig { returns(T.nilable(String)) }
3577
- attr_reader :product_id
3578
-
3579
- sig { params(product_id: String).void }
3580
- attr_writer :product_id
3581
-
3582
- # If provided, the specifier will only apply to products with all the specified
3583
- # tags.
3584
- sig { returns(T.nilable(T::Array[String])) }
3585
- attr_reader :product_tags
3586
-
3587
- sig { params(product_tags: T::Array[String]).void }
3588
- attr_writer :product_tags
3589
-
3590
- sig do
3591
- params(
3592
- presentation_group_values: T::Hash[Symbol, String],
3593
- pricing_group_values: T::Hash[Symbol, String],
3594
- product_id: String,
3595
- product_tags: T::Array[String]
3596
- ).returns(T.attached_class)
3597
- end
3598
- def self.new(
3599
- presentation_group_values: nil,
3600
- pricing_group_values: nil,
3601
- # If provided, the specifier will only apply to the product with the specified ID.
3602
- product_id: nil,
3603
- # If provided, the specifier will only apply to products with all the specified
3604
- # tags.
3605
- product_tags: nil
3606
- )
3607
- end
3608
-
3609
- sig do
3610
- override.returns(
3611
- {
3612
- presentation_group_values: T::Hash[Symbol, String],
3613
- pricing_group_values: T::Hash[Symbol, String],
3614
- product_id: String,
3615
- product_tags: T::Array[String]
3616
- }
3617
- )
3618
- end
3619
- def to_hash
3620
- end
3621
- end
3622
-
3623
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3624
- OrHash =
3625
- T.type_alias do
3626
- T.any(
3627
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig,
3628
- MetronomeSDK::Internal::AnyHash
3629
- )
3630
- end
3631
-
3632
- sig do
3633
- returns(
3634
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
3635
- )
3636
- end
3637
- attr_accessor :allocation
3638
-
3639
- sig do
3640
- returns(
3641
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
3642
- )
3643
- end
3644
- attr_reader :apply_seat_increase_config
3645
-
3646
- sig do
3647
- params(
3648
- apply_seat_increase_config:
3649
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash
3650
- ).void
3651
- end
3652
- attr_writer :apply_seat_increase_config
3653
-
3654
- sig { returns(String) }
3655
- attr_accessor :subscription_id
3656
-
3657
- # Attach a subscription to the recurring commit/credit.
3658
- sig do
3659
- params(
3660
- allocation:
3661
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation::OrSymbol,
3662
- apply_seat_increase_config:
3663
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
3664
- subscription_id: String
3665
- ).returns(T.attached_class)
3666
- end
3667
- def self.new(
3668
- allocation:,
3669
- apply_seat_increase_config:,
3670
- subscription_id:
3671
- )
3672
- end
3673
-
3674
- sig do
3675
- override.returns(
3676
- {
3677
- allocation:
3678
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol,
3679
- apply_seat_increase_config:
3680
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
3681
- subscription_id: String
3682
- }
3683
- )
3684
- end
3685
- def to_hash
3686
- end
3687
-
3688
- module Allocation
3689
- extend MetronomeSDK::Internal::Type::Enum
3690
-
3691
- TaggedSymbol =
3692
- T.type_alias do
3693
- T.all(
3694
- Symbol,
3695
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation
3696
- )
3697
- end
3698
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3699
-
3700
- INDIVIDUAL =
3701
- T.let(
3702
- :INDIVIDUAL,
3703
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
3704
- )
3705
- POOLED =
3706
- T.let(
3707
- :POOLED,
3708
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
3709
- )
3710
-
3711
- sig do
3712
- override.returns(
3713
- T::Array[
3714
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation::TaggedSymbol
3715
- ]
3716
- )
3717
- end
3718
- def self.values
3719
- end
3720
- end
3721
-
3722
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3723
- OrHash =
3724
- T.type_alias do
3725
- T.any(
3726
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig,
3727
- MetronomeSDK::Internal::AnyHash
3728
- )
3729
- end
3730
-
3731
- # Indicates whether a mid-period seat increase should be prorated.
3732
- sig { returns(T::Boolean) }
3733
- attr_accessor :is_prorated
3734
-
3735
- sig { params(is_prorated: T::Boolean).returns(T.attached_class) }
3736
- def self.new(
3737
- # Indicates whether a mid-period seat increase should be prorated.
3738
- is_prorated:
1900
+ :WEEKLY,
1901
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
3739
1902
  )
3740
- end
3741
1903
 
3742
- sig { override.returns({ is_prorated: T::Boolean }) }
3743
- def to_hash
3744
- end
1904
+ sig do
1905
+ override.returns(
1906
+ T::Array[
1907
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency::TaggedSymbol
1908
+ ]
1909
+ )
1910
+ end
1911
+ def self.values
3745
1912
  end
3746
1913
  end
3747
1914
  end
@@ -3962,496 +2129,6 @@ module MetronomeSDK
3962
2129
  end
3963
2130
  end
3964
2131
 
3965
- class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3966
- OrHash =
3967
- T.type_alias do
3968
- T.any(
3969
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration,
3970
- MetronomeSDK::Internal::AnyHash
3971
- )
3972
- end
3973
-
3974
- sig do
3975
- returns(
3976
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit
3977
- )
3978
- end
3979
- attr_reader :commit
3980
-
3981
- sig do
3982
- params(
3983
- commit:
3984
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit::OrHash
3985
- ).void
3986
- end
3987
- attr_writer :commit
3988
-
3989
- # When set to false, the contract will not be evaluated against the
3990
- # threshold_amount. Toggling to true will result an immediate evaluation,
3991
- # regardless of prior state.
3992
- sig { returns(T::Boolean) }
3993
- attr_accessor :is_enabled
3994
-
3995
- sig do
3996
- returns(
3997
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig
3998
- )
3999
- end
4000
- attr_reader :payment_gate_config
4001
-
4002
- sig do
4003
- params(
4004
- payment_gate_config:
4005
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::OrHash
4006
- ).void
4007
- end
4008
- attr_writer :payment_gate_config
4009
-
4010
- # Specify the threshold amount for the contract. Each time the contract's usage
4011
- # hits this amount, a threshold charge will be initiated.
4012
- sig { returns(Float) }
4013
- attr_accessor :threshold_amount
4014
-
4015
- sig do
4016
- params(
4017
- commit:
4018
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit::OrHash,
4019
- is_enabled: T::Boolean,
4020
- payment_gate_config:
4021
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::OrHash,
4022
- threshold_amount: Float
4023
- ).returns(T.attached_class)
4024
- end
4025
- def self.new(
4026
- commit:,
4027
- # When set to false, the contract will not be evaluated against the
4028
- # threshold_amount. Toggling to true will result an immediate evaluation,
4029
- # regardless of prior state.
4030
- is_enabled:,
4031
- payment_gate_config:,
4032
- # Specify the threshold amount for the contract. Each time the contract's usage
4033
- # hits this amount, a threshold charge will be initiated.
4034
- threshold_amount:
4035
- )
4036
- end
4037
-
4038
- sig do
4039
- override.returns(
4040
- {
4041
- commit:
4042
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
4043
- is_enabled: T::Boolean,
4044
- payment_gate_config:
4045
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
4046
- threshold_amount: Float
4047
- }
4048
- )
4049
- end
4050
- def to_hash
4051
- end
4052
-
4053
- class Commit < MetronomeSDK::Internal::Type::BaseModel
4054
- OrHash =
4055
- T.type_alias do
4056
- T.any(
4057
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
4058
- MetronomeSDK::Internal::AnyHash
4059
- )
4060
- end
4061
-
4062
- # The commit product that will be used to generate the line item for commit
4063
- # payment.
4064
- sig { returns(String) }
4065
- attr_accessor :product_id
4066
-
4067
- sig { returns(T.nilable(String)) }
4068
- attr_reader :description
4069
-
4070
- sig { params(description: String).void }
4071
- attr_writer :description
4072
-
4073
- # Specify the name of the line item for the threshold charge. If left blank, it
4074
- # will default to the commit product name.
4075
- sig { returns(T.nilable(String)) }
4076
- attr_reader :name
4077
-
4078
- sig { params(name: String).void }
4079
- attr_writer :name
4080
-
4081
- sig do
4082
- params(
4083
- product_id: String,
4084
- description: String,
4085
- name: String
4086
- ).returns(T.attached_class)
4087
- end
4088
- def self.new(
4089
- # The commit product that will be used to generate the line item for commit
4090
- # payment.
4091
- product_id:,
4092
- description: nil,
4093
- # Specify the name of the line item for the threshold charge. If left blank, it
4094
- # will default to the commit product name.
4095
- name: nil
4096
- )
4097
- end
4098
-
4099
- sig do
4100
- override.returns(
4101
- { product_id: String, description: String, name: String }
4102
- )
4103
- end
4104
- def to_hash
4105
- end
4106
- end
4107
-
4108
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
4109
- OrHash =
4110
- T.type_alias do
4111
- T.any(
4112
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
4113
- MetronomeSDK::Internal::AnyHash
4114
- )
4115
- end
4116
-
4117
- # Gate access to the commit balance based on successful collection of payment.
4118
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4119
- # facilitate payment using your own payment integration. Select NONE if you do not
4120
- # wish to payment gate the commit balance.
4121
- sig do
4122
- returns(
4123
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
4124
- )
4125
- end
4126
- attr_accessor :payment_gate_type
4127
-
4128
- # Only applicable if using PRECALCULATED as your tax type.
4129
- sig do
4130
- returns(
4131
- T.nilable(
4132
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
4133
- )
4134
- )
4135
- end
4136
- attr_reader :precalculated_tax_config
4137
-
4138
- sig do
4139
- params(
4140
- precalculated_tax_config:
4141
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
4142
- ).void
4143
- end
4144
- attr_writer :precalculated_tax_config
4145
-
4146
- # Only applicable if using STRIPE as your payment gate type.
4147
- sig do
4148
- returns(
4149
- T.nilable(
4150
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
4151
- )
4152
- )
4153
- end
4154
- attr_reader :stripe_config
4155
-
4156
- sig do
4157
- params(
4158
- stripe_config:
4159
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash
4160
- ).void
4161
- end
4162
- attr_writer :stripe_config
4163
-
4164
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4165
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4166
- # will default to NONE.
4167
- sig do
4168
- returns(
4169
- T.nilable(
4170
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4171
- )
4172
- )
4173
- end
4174
- attr_reader :tax_type
4175
-
4176
- sig do
4177
- params(
4178
- tax_type:
4179
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
4180
- ).void
4181
- end
4182
- attr_writer :tax_type
4183
-
4184
- sig do
4185
- params(
4186
- payment_gate_type:
4187
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
4188
- precalculated_tax_config:
4189
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
4190
- stripe_config:
4191
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
4192
- tax_type:
4193
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
4194
- ).returns(T.attached_class)
4195
- end
4196
- def self.new(
4197
- # Gate access to the commit balance based on successful collection of payment.
4198
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4199
- # facilitate payment using your own payment integration. Select NONE if you do not
4200
- # wish to payment gate the commit balance.
4201
- payment_gate_type:,
4202
- # Only applicable if using PRECALCULATED as your tax type.
4203
- precalculated_tax_config: nil,
4204
- # Only applicable if using STRIPE as your payment gate type.
4205
- stripe_config: nil,
4206
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4207
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4208
- # will default to NONE.
4209
- tax_type: nil
4210
- )
4211
- end
4212
-
4213
- sig do
4214
- override.returns(
4215
- {
4216
- payment_gate_type:
4217
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
4218
- precalculated_tax_config:
4219
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
4220
- stripe_config:
4221
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
4222
- tax_type:
4223
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4224
- }
4225
- )
4226
- end
4227
- def to_hash
4228
- end
4229
-
4230
- # Gate access to the commit balance based on successful collection of payment.
4231
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4232
- # facilitate payment using your own payment integration. Select NONE if you do not
4233
- # wish to payment gate the commit balance.
4234
- module PaymentGateType
4235
- extend MetronomeSDK::Internal::Type::Enum
4236
-
4237
- TaggedSymbol =
4238
- T.type_alias do
4239
- T.all(
4240
- Symbol,
4241
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
4242
- )
4243
- end
4244
- OrSymbol = T.type_alias { T.any(Symbol, String) }
4245
-
4246
- NONE =
4247
- T.let(
4248
- :NONE,
4249
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
4250
- )
4251
- STRIPE =
4252
- T.let(
4253
- :STRIPE,
4254
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
4255
- )
4256
- EXTERNAL =
4257
- T.let(
4258
- :EXTERNAL,
4259
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
4260
- )
4261
-
4262
- sig do
4263
- override.returns(
4264
- T::Array[
4265
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
4266
- ]
4267
- )
4268
- end
4269
- def self.values
4270
- end
4271
- end
4272
-
4273
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4274
- OrHash =
4275
- T.type_alias do
4276
- T.any(
4277
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
4278
- MetronomeSDK::Internal::AnyHash
4279
- )
4280
- end
4281
-
4282
- # Amount of tax to be applied. This should be in the same currency and
4283
- # denomination as the commit's invoice schedule
4284
- sig { returns(Float) }
4285
- attr_accessor :tax_amount
4286
-
4287
- # Name of the tax to be applied. This may be used in an invoice line item
4288
- # description.
4289
- sig { returns(T.nilable(String)) }
4290
- attr_reader :tax_name
4291
-
4292
- sig { params(tax_name: String).void }
4293
- attr_writer :tax_name
4294
-
4295
- # Only applicable if using PRECALCULATED as your tax type.
4296
- sig do
4297
- params(tax_amount: Float, tax_name: String).returns(
4298
- T.attached_class
4299
- )
4300
- end
4301
- def self.new(
4302
- # Amount of tax to be applied. This should be in the same currency and
4303
- # denomination as the commit's invoice schedule
4304
- tax_amount:,
4305
- # Name of the tax to be applied. This may be used in an invoice line item
4306
- # description.
4307
- tax_name: nil
4308
- )
4309
- end
4310
-
4311
- sig { override.returns({ tax_amount: Float, tax_name: String }) }
4312
- def to_hash
4313
- end
4314
- end
4315
-
4316
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4317
- OrHash =
4318
- T.type_alias do
4319
- T.any(
4320
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
4321
- MetronomeSDK::Internal::AnyHash
4322
- )
4323
- end
4324
-
4325
- # If left blank, will default to INVOICE
4326
- sig do
4327
- returns(
4328
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
4329
- )
4330
- end
4331
- attr_accessor :payment_type
4332
-
4333
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4334
- # your payment type.
4335
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
4336
- attr_reader :invoice_metadata
4337
-
4338
- sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
4339
- attr_writer :invoice_metadata
4340
-
4341
- # Only applicable if using STRIPE as your payment gate type.
4342
- sig do
4343
- params(
4344
- payment_type:
4345
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
4346
- invoice_metadata: T::Hash[Symbol, String]
4347
- ).returns(T.attached_class)
4348
- end
4349
- def self.new(
4350
- # If left blank, will default to INVOICE
4351
- payment_type:,
4352
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4353
- # your payment type.
4354
- invoice_metadata: nil
4355
- )
4356
- end
4357
-
4358
- sig do
4359
- override.returns(
4360
- {
4361
- payment_type:
4362
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
4363
- invoice_metadata: T::Hash[Symbol, String]
4364
- }
4365
- )
4366
- end
4367
- def to_hash
4368
- end
4369
-
4370
- # If left blank, will default to INVOICE
4371
- module PaymentType
4372
- extend MetronomeSDK::Internal::Type::Enum
4373
-
4374
- TaggedSymbol =
4375
- T.type_alias do
4376
- T.all(
4377
- Symbol,
4378
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
4379
- )
4380
- end
4381
- OrSymbol = T.type_alias { T.any(Symbol, String) }
4382
-
4383
- INVOICE =
4384
- T.let(
4385
- :INVOICE,
4386
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
4387
- )
4388
- PAYMENT_INTENT =
4389
- T.let(
4390
- :PAYMENT_INTENT,
4391
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
4392
- )
4393
-
4394
- sig do
4395
- override.returns(
4396
- T::Array[
4397
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
4398
- ]
4399
- )
4400
- end
4401
- def self.values
4402
- end
4403
- end
4404
- end
4405
-
4406
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4407
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4408
- # will default to NONE.
4409
- module TaxType
4410
- extend MetronomeSDK::Internal::Type::Enum
4411
-
4412
- TaggedSymbol =
4413
- T.type_alias do
4414
- T.all(
4415
- Symbol,
4416
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType
4417
- )
4418
- end
4419
- OrSymbol = T.type_alias { T.any(Symbol, String) }
4420
-
4421
- NONE =
4422
- T.let(
4423
- :NONE,
4424
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4425
- )
4426
- STRIPE =
4427
- T.let(
4428
- :STRIPE,
4429
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4430
- )
4431
- ANROK =
4432
- T.let(
4433
- :ANROK,
4434
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4435
- )
4436
- PRECALCULATED =
4437
- T.let(
4438
- :PRECALCULATED,
4439
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4440
- )
4441
-
4442
- sig do
4443
- override.returns(
4444
- T::Array[
4445
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
4446
- ]
4447
- )
4448
- end
4449
- def self.values
4450
- end
4451
- end
4452
- end
4453
- end
4454
-
4455
2132
  class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
4456
2133
  OrHash =
4457
2134
  T.type_alias do