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
@@ -37,17 +37,12 @@ module MetronomeSDK
37
37
  #
38
38
  # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::Transition>]
39
39
  required :transitions,
40
- -> {
41
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::Transition]
42
- }
40
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::Transition] }
43
41
 
44
42
  # @!attribute usage_statement_schedule
45
43
  #
46
44
  # @return [MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule]
47
- required :usage_statement_schedule,
48
- -> {
49
- MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule
50
- }
45
+ required :usage_statement_schedule, -> { MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule }
51
46
 
52
47
  # @!attribute credits
53
48
  #
@@ -69,9 +64,8 @@ module MetronomeSDK
69
64
  # Either a **parent** configuration with a list of children or a **child**
70
65
  # configuration with a single parent.
71
66
  #
72
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
73
- optional :hierarchy_configuration,
74
- union: -> { MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration }
67
+ # @return [MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
68
+ optional :hierarchy_configuration, union: -> { MetronomeSDK::HierarchyConfiguration }
75
69
 
76
70
  # @!attribute name
77
71
  #
@@ -91,9 +85,9 @@ module MetronomeSDK
91
85
 
92
86
  # @!attribute prepaid_balance_threshold_configuration
93
87
  #
94
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration, nil]
88
+ # @return [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration, nil]
95
89
  optional :prepaid_balance_threshold_configuration,
96
- -> { MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration }
90
+ -> { MetronomeSDK::PrepaidBalanceThresholdConfiguration }
97
91
 
98
92
  # @!attribute professional_services
99
93
  # This field's availability is dependent on your client's configuration.
@@ -110,26 +104,20 @@ module MetronomeSDK
110
104
  #
111
105
  # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit>, nil]
112
106
  optional :recurring_commits,
113
- -> {
114
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCommit]
115
- }
107
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCommit] }
116
108
 
117
109
  # @!attribute recurring_credits
118
110
  #
119
111
  # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit>, nil]
120
112
  optional :recurring_credits,
121
- -> {
122
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCredit]
123
- }
113
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCredit] }
124
114
 
125
115
  # @!attribute reseller_royalties
126
116
  # This field's availability is dependent on your client's configuration.
127
117
  #
128
118
  # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty>, nil]
129
119
  optional :reseller_royalties,
130
- -> {
131
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty]
132
- }
120
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty] }
133
121
 
134
122
  # @!attribute salesforce_opportunity_id
135
123
  # This field's availability is dependent on your client's configuration.
@@ -150,9 +138,8 @@ module MetronomeSDK
150
138
 
151
139
  # @!attribute spend_threshold_configuration
152
140
  #
153
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration, nil]
154
- optional :spend_threshold_configuration,
155
- -> { MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration }
141
+ # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
142
+ optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
156
143
 
157
144
  # @!attribute total_contract_value
158
145
  # This field's availability is dependent on your client's configuration.
@@ -191,7 +178,7 @@ module MetronomeSDK
191
178
  #
192
179
  # @param ending_before [Time]
193
180
  #
194
- # @param hierarchy_configuration [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
181
+ # @param hierarchy_configuration [MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
195
182
  #
196
183
  # @param name [String]
197
184
  #
@@ -199,7 +186,7 @@ module MetronomeSDK
199
186
  #
200
187
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
201
188
  #
202
- # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration]
189
+ # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration]
203
190
  #
204
191
  # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
205
192
  #
@@ -215,7 +202,7 @@ module MetronomeSDK
215
202
  #
216
203
  # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
217
204
  #
218
- # @param spend_threshold_configuration [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration]
205
+ # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
219
206
  #
220
207
  # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
221
208
  #
@@ -287,417 +274,6 @@ module MetronomeSDK
287
274
  end
288
275
  end
289
276
 
290
- # Either a **parent** configuration with a list of children or a **child**
291
- # configuration with a single parent.
292
- #
293
- # @see MetronomeSDK::Models::ContractWithoutAmendments#hierarchy_configuration
294
- module HierarchyConfiguration
295
- extend MetronomeSDK::Internal::Type::Union
296
-
297
- variant -> {
298
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration
299
- }
300
-
301
- variant -> {
302
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration
303
- }
304
-
305
- class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
306
- # @!attribute children
307
- # List of contracts that belong to this parent.
308
- #
309
- # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
310
- required :children,
311
- -> {
312
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
313
- }
314
-
315
- # @!method initialize(children:)
316
- # @param children [Array<MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
317
-
318
- class Child < MetronomeSDK::Internal::Type::BaseModel
319
- # @!attribute contract_id
320
- #
321
- # @return [String]
322
- required :contract_id, String
323
-
324
- # @!attribute customer_id
325
- #
326
- # @return [String]
327
- required :customer_id, String
328
-
329
- # @!method initialize(contract_id:, customer_id:)
330
- # @param contract_id [String]
331
- # @param customer_id [String]
332
- end
333
- end
334
-
335
- class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
336
- # @!attribute parent
337
- # The single parent contract/customer for this child.
338
- #
339
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
340
- required :parent,
341
- -> {
342
- MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
343
- }
344
-
345
- # @!method initialize(parent:)
346
- # @param parent [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
347
-
348
- # @see MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration#parent
349
- class Parent < MetronomeSDK::Internal::Type::BaseModel
350
- # @!attribute contract_id
351
- #
352
- # @return [String]
353
- required :contract_id, String
354
-
355
- # @!attribute customer_id
356
- #
357
- # @return [String]
358
- required :customer_id, String
359
-
360
- # @!method initialize(contract_id:, customer_id:)
361
- # The single parent contract/customer for this child.
362
- #
363
- # @param contract_id [String]
364
- # @param customer_id [String]
365
- end
366
- end
367
-
368
- # @!method self.variants
369
- # @return [Array(MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration)]
370
- end
371
-
372
- # @see MetronomeSDK::Models::ContractWithoutAmendments#prepaid_balance_threshold_configuration
373
- class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
374
- # @!attribute commit
375
- #
376
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit]
377
- required :commit,
378
- -> { MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit }
379
-
380
- # @!attribute is_enabled
381
- # When set to false, the contract will not be evaluated against the
382
- # threshold_amount. Toggling to true will result an immediate evaluation,
383
- # regardless of prior state.
384
- #
385
- # @return [Boolean]
386
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
387
-
388
- # @!attribute payment_gate_config
389
- #
390
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
391
- required :payment_gate_config,
392
- -> {
393
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
394
- }
395
-
396
- # @!attribute recharge_to_amount
397
- # Specify the amount the balance should be recharged to.
398
- #
399
- # @return [Float]
400
- required :recharge_to_amount, Float
401
-
402
- # @!attribute threshold_amount
403
- # Specify the threshold amount for the contract. Each time the contract's prepaid
404
- # balance lowers to this amount, a threshold charge will be initiated.
405
- #
406
- # @return [Float]
407
- required :threshold_amount, Float
408
-
409
- # @!attribute custom_credit_type_id
410
- # If provided, the threshold, recharge-to amount, and the resulting threshold
411
- # commit amount will be in terms of this credit type instead of the fiat currency.
412
- #
413
- # @return [String, nil]
414
- optional :custom_credit_type_id, String
415
-
416
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
417
- # Some parameter documentations has been truncated, see
418
- # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration}
419
- # for more details.
420
- #
421
- # @param commit [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit]
422
- #
423
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
424
- #
425
- # @param payment_gate_config [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
426
- #
427
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
428
- #
429
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's prepaid
430
- #
431
- # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
432
-
433
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration#commit
434
- class Commit < MetronomeSDK::Internal::Type::BaseModel
435
- # @!attribute product_id
436
- # The commit product that will be used to generate the line item for commit
437
- # payment.
438
- #
439
- # @return [String]
440
- required :product_id, String
441
-
442
- # @!attribute applicable_product_ids
443
- # Which products the threshold commit applies to. If applicable_product_ids,
444
- # applicable_product_tags or specifiers are not provided, the commit applies to
445
- # all products.
446
- #
447
- # @return [Array<String>, nil]
448
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
449
-
450
- # @!attribute applicable_product_tags
451
- # Which tags the threshold commit applies to. If applicable_product_ids,
452
- # applicable_product_tags or specifiers are not provided, the commit applies to
453
- # all products.
454
- #
455
- # @return [Array<String>, nil]
456
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
457
-
458
- # @!attribute description
459
- #
460
- # @return [String, nil]
461
- optional :description, String
462
-
463
- # @!attribute name
464
- # Specify the name of the line item for the threshold charge. If left blank, it
465
- # will default to the commit product name.
466
- #
467
- # @return [String, nil]
468
- optional :name, String
469
-
470
- # @!attribute specifiers
471
- # List of filters that determine what kind of customer usage draws down a commit
472
- # or credit. A customer's usage needs to meet the condition of at least one of the
473
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
474
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
475
- #
476
- # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
477
- optional :specifiers,
478
- -> {
479
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
480
- }
481
-
482
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
483
- # Some parameter documentations has been truncated, see
484
- # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit}
485
- # for more details.
486
- #
487
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
488
- #
489
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
490
- #
491
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
492
- #
493
- # @param description [String]
494
- #
495
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
496
- #
497
- # @param specifiers [Array<MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
498
-
499
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
500
- # @!attribute presentation_group_values
501
- #
502
- # @return [Hash{Symbol=>String}, nil]
503
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
504
-
505
- # @!attribute pricing_group_values
506
- #
507
- # @return [Hash{Symbol=>String}, nil]
508
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
509
-
510
- # @!attribute product_id
511
- # If provided, the specifier will only apply to the product with the specified ID.
512
- #
513
- # @return [String, nil]
514
- optional :product_id, String
515
-
516
- # @!attribute product_tags
517
- # If provided, the specifier will only apply to products with all the specified
518
- # tags.
519
- #
520
- # @return [Array<String>, nil]
521
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
522
-
523
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
524
- # Some parameter documentations has been truncated, see
525
- # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
526
- # for more details.
527
- #
528
- # @param presentation_group_values [Hash{Symbol=>String}]
529
- #
530
- # @param pricing_group_values [Hash{Symbol=>String}]
531
- #
532
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
533
- #
534
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
535
- end
536
- end
537
-
538
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration#payment_gate_config
539
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
540
- # @!attribute payment_gate_type
541
- # Gate access to the commit balance based on successful collection of payment.
542
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
543
- # facilitate payment using your own payment integration. Select NONE if you do not
544
- # wish to payment gate the commit balance.
545
- #
546
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
547
- required :payment_gate_type,
548
- enum: -> {
549
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
550
- }
551
-
552
- # @!attribute precalculated_tax_config
553
- # Only applicable if using PRECALCULATED as your tax type.
554
- #
555
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
556
- optional :precalculated_tax_config,
557
- -> {
558
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
559
- }
560
-
561
- # @!attribute stripe_config
562
- # Only applicable if using STRIPE as your payment gate type.
563
- #
564
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
565
- optional :stripe_config,
566
- -> {
567
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
568
- }
569
-
570
- # @!attribute tax_type
571
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
572
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
573
- # will default to NONE.
574
- #
575
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
576
- optional :tax_type,
577
- enum: -> {
578
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
579
- }
580
-
581
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
582
- # Some parameter documentations has been truncated, see
583
- # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
584
- # for more details.
585
- #
586
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
587
- #
588
- # @param precalculated_tax_config [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
589
- #
590
- # @param stripe_config [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
591
- #
592
- # @param tax_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
593
-
594
- # Gate access to the commit balance based on successful collection of payment.
595
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
596
- # facilitate payment using your own payment integration. Select NONE if you do not
597
- # wish to payment gate the commit balance.
598
- #
599
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
600
- module PaymentGateType
601
- extend MetronomeSDK::Internal::Type::Enum
602
-
603
- NONE = :NONE
604
- STRIPE = :STRIPE
605
- EXTERNAL = :EXTERNAL
606
-
607
- # @!method self.values
608
- # @return [Array<Symbol>]
609
- end
610
-
611
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
612
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
613
- # @!attribute tax_amount
614
- # Amount of tax to be applied. This should be in the same currency and
615
- # denomination as the commit's invoice schedule
616
- #
617
- # @return [Float]
618
- required :tax_amount, Float
619
-
620
- # @!attribute tax_name
621
- # Name of the tax to be applied. This may be used in an invoice line item
622
- # description.
623
- #
624
- # @return [String, nil]
625
- optional :tax_name, String
626
-
627
- # @!method initialize(tax_amount:, tax_name: nil)
628
- # Some parameter documentations has been truncated, see
629
- # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
630
- # for more details.
631
- #
632
- # Only applicable if using PRECALCULATED as your tax type.
633
- #
634
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
635
- #
636
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
637
- end
638
-
639
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
640
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
641
- # @!attribute payment_type
642
- # If left blank, will default to INVOICE
643
- #
644
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
645
- required :payment_type,
646
- enum: -> {
647
- MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
648
- }
649
-
650
- # @!attribute invoice_metadata
651
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
652
- # your payment type.
653
- #
654
- # @return [Hash{Symbol=>String}, nil]
655
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
656
-
657
- # @!method initialize(payment_type:, invoice_metadata: nil)
658
- # Some parameter documentations has been truncated, see
659
- # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
660
- # for more details.
661
- #
662
- # Only applicable if using STRIPE as your payment gate type.
663
- #
664
- # @param payment_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
665
- #
666
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
667
-
668
- # If left blank, will default to INVOICE
669
- #
670
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
671
- module PaymentType
672
- extend MetronomeSDK::Internal::Type::Enum
673
-
674
- INVOICE = :INVOICE
675
- PAYMENT_INTENT = :PAYMENT_INTENT
676
-
677
- # @!method self.values
678
- # @return [Array<Symbol>]
679
- end
680
- end
681
-
682
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
683
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
684
- # will default to NONE.
685
- #
686
- # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
687
- module TaxType
688
- extend MetronomeSDK::Internal::Type::Enum
689
-
690
- NONE = :NONE
691
- STRIPE = :STRIPE
692
- ANROK = :ANROK
693
- PRECALCULATED = :PRECALCULATED
694
-
695
- # @!method self.values
696
- # @return [Array<Symbol>]
697
- end
698
- end
699
- end
700
-
701
277
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
702
278
  # @!attribute id
703
279
  #
@@ -714,10 +290,7 @@ module MetronomeSDK
714
290
  # The amount of time the created commits will be valid for
715
291
  #
716
292
  # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration]
717
- required :commit_duration,
718
- -> {
719
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration
720
- }
293
+ required :commit_duration, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration }
721
294
 
722
295
  # @!attribute priority
723
296
  # Will be passed down to the individual commits
@@ -774,18 +347,14 @@ module MetronomeSDK
774
347
  # @!attribute hierarchy_configuration
775
348
  # Optional configuration for recurring commit/credit hierarchy access control
776
349
  #
777
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration, nil]
778
- optional :hierarchy_configuration,
779
- -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration }
350
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
351
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
780
352
 
781
353
  # @!attribute invoice_amount
782
354
  # The amount the customer should be billed for the commit. Not required.
783
355
  #
784
356
  # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount, nil]
785
- optional :invoice_amount,
786
- -> {
787
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
788
- }
357
+ optional :invoice_amount, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount }
789
358
 
790
359
  # @!attribute name
791
360
  # Displayed on invoices. Will be passed through to the individual commits
@@ -830,18 +399,14 @@ module MetronomeSDK
830
399
  # or credit. A customer's usage needs to meet the condition of at least one of the
831
400
  # specifiers to contribute to a commit's or credit's drawdown.
832
401
  #
833
- # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Specifier>, nil]
834
- optional :specifiers,
835
- -> {
836
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
837
- }
402
+ # @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
403
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
838
404
 
839
405
  # @!attribute subscription_config
840
406
  # Attach a subscription to the recurring commit/credit.
841
407
  #
842
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig, nil]
843
- optional :subscription_config,
844
- -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig }
408
+ # @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
409
+ optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
845
410
 
846
411
  # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
847
412
  # Some parameter documentations has been truncated, see
@@ -872,7 +437,7 @@ module MetronomeSDK
872
437
  #
873
438
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
874
439
  #
875
- # @param hierarchy_configuration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
440
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
876
441
  #
877
442
  # @param invoice_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
878
443
  #
@@ -886,9 +451,9 @@ module MetronomeSDK
886
451
  #
887
452
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
888
453
  #
889
- # @param specifiers [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
454
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
890
455
  #
891
- # @param subscription_config [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
456
+ # @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
892
457
 
893
458
  # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#access_amount
894
459
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -986,117 +551,6 @@ module MetronomeSDK
986
551
  # @param id [String]
987
552
  end
988
553
 
989
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#hierarchy_configuration
990
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
991
- # @!attribute child_access
992
- #
993
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
994
- required :child_access,
995
- union: -> {
996
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess
997
- }
998
-
999
- # @!method initialize(child_access:)
1000
- # Optional configuration for recurring commit/credit hierarchy access control
1001
- #
1002
- # @param child_access [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1003
-
1004
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration#child_access
1005
- module ChildAccess
1006
- extend MetronomeSDK::Internal::Type::Union
1007
-
1008
- variant -> {
1009
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1010
- }
1011
-
1012
- variant -> {
1013
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1014
- }
1015
-
1016
- variant -> {
1017
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1018
- }
1019
-
1020
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1021
- # @!attribute type
1022
- #
1023
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1024
- required :type,
1025
- enum: -> {
1026
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1027
- }
1028
-
1029
- # @!method initialize(type:)
1030
- # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1031
-
1032
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1033
- module Type
1034
- extend MetronomeSDK::Internal::Type::Enum
1035
-
1036
- ALL = :ALL
1037
-
1038
- # @!method self.values
1039
- # @return [Array<Symbol>]
1040
- end
1041
- end
1042
-
1043
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1044
- # @!attribute type
1045
- #
1046
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1047
- required :type,
1048
- enum: -> {
1049
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1050
- }
1051
-
1052
- # @!method initialize(type:)
1053
- # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1054
-
1055
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1056
- module Type
1057
- extend MetronomeSDK::Internal::Type::Enum
1058
-
1059
- NONE = :NONE
1060
-
1061
- # @!method self.values
1062
- # @return [Array<Symbol>]
1063
- end
1064
- end
1065
-
1066
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1067
- # @!attribute contract_ids
1068
- #
1069
- # @return [Array<String>]
1070
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1071
-
1072
- # @!attribute type
1073
- #
1074
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1075
- required :type,
1076
- enum: -> {
1077
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1078
- }
1079
-
1080
- # @!method initialize(contract_ids:, type:)
1081
- # @param contract_ids [Array<String>]
1082
- # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1083
-
1084
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1085
- module Type
1086
- extend MetronomeSDK::Internal::Type::Enum
1087
-
1088
- CONTRACT_IDS = :CONTRACT_IDS
1089
-
1090
- # @!method self.values
1091
- # @return [Array<Symbol>]
1092
- end
1093
- end
1094
-
1095
- # @!method self.variants
1096
- # @return [Array(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1097
- end
1098
- end
1099
-
1100
554
  # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#invoice_amount
1101
555
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1102
556
  # @!attribute credit_type_id
@@ -1156,98 +610,6 @@ module MetronomeSDK
1156
610
  # @!method self.values
1157
611
  # @return [Array<Symbol>]
1158
612
  end
1159
-
1160
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1161
- # @!attribute presentation_group_values
1162
- #
1163
- # @return [Hash{Symbol=>String}, nil]
1164
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1165
-
1166
- # @!attribute pricing_group_values
1167
- #
1168
- # @return [Hash{Symbol=>String}, nil]
1169
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1170
-
1171
- # @!attribute product_id
1172
- # If provided, the specifier will only apply to the product with the specified ID.
1173
- #
1174
- # @return [String, nil]
1175
- optional :product_id, String
1176
-
1177
- # @!attribute product_tags
1178
- # If provided, the specifier will only apply to products with all the specified
1179
- # tags.
1180
- #
1181
- # @return [Array<String>, nil]
1182
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1183
-
1184
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1185
- # Some parameter documentations has been truncated, see
1186
- # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Specifier}
1187
- # for more details.
1188
- #
1189
- # @param presentation_group_values [Hash{Symbol=>String}]
1190
- #
1191
- # @param pricing_group_values [Hash{Symbol=>String}]
1192
- #
1193
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1194
- #
1195
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1196
- end
1197
-
1198
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#subscription_config
1199
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1200
- # @!attribute allocation
1201
- #
1202
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation]
1203
- required :allocation,
1204
- enum: -> {
1205
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation
1206
- }
1207
-
1208
- # @!attribute apply_seat_increase_config
1209
- #
1210
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
1211
- required :apply_seat_increase_config,
1212
- -> {
1213
- MetronomeSDK::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig
1214
- }
1215
-
1216
- # @!attribute subscription_id
1217
- #
1218
- # @return [String]
1219
- required :subscription_id, String
1220
-
1221
- # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
1222
- # Attach a subscription to the recurring commit/credit.
1223
- #
1224
- # @param allocation [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::Allocation]
1225
- # @param apply_seat_increase_config [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
1226
- # @param subscription_id [String]
1227
-
1228
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig#allocation
1229
- module Allocation
1230
- extend MetronomeSDK::Internal::Type::Enum
1231
-
1232
- INDIVIDUAL = :INDIVIDUAL
1233
- POOLED = :POOLED
1234
-
1235
- # @!method self.values
1236
- # @return [Array<Symbol>]
1237
- end
1238
-
1239
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::SubscriptionConfig#apply_seat_increase_config
1240
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1241
- # @!attribute is_prorated
1242
- # Indicates whether a mid-period seat increase should be prorated.
1243
- #
1244
- # @return [Boolean]
1245
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
1246
-
1247
- # @!method initialize(is_prorated:)
1248
- # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
1249
- end
1250
- end
1251
613
  end
1252
614
 
1253
615
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -1266,10 +628,7 @@ module MetronomeSDK
1266
628
  # The amount of time the created commits will be valid for
1267
629
  #
1268
630
  # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration]
1269
- required :commit_duration,
1270
- -> {
1271
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration
1272
- }
631
+ required :commit_duration, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration }
1273
632
 
1274
633
  # @!attribute priority
1275
634
  # Will be passed down to the individual commits
@@ -1326,9 +685,8 @@ module MetronomeSDK
1326
685
  # @!attribute hierarchy_configuration
1327
686
  # Optional configuration for recurring commit/credit hierarchy access control
1328
687
  #
1329
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration, nil]
1330
- optional :hierarchy_configuration,
1331
- -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration }
688
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
689
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
1332
690
 
1333
691
  # @!attribute name
1334
692
  # Displayed on invoices. Will be passed through to the individual commits
@@ -1373,18 +731,14 @@ module MetronomeSDK
1373
731
  # or credit. A customer's usage needs to meet the condition of at least one of the
1374
732
  # specifiers to contribute to a commit's or credit's drawdown.
1375
733
  #
1376
- # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Specifier>, nil]
1377
- optional :specifiers,
1378
- -> {
1379
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1380
- }
734
+ # @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
735
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
1381
736
 
1382
737
  # @!attribute subscription_config
1383
738
  # Attach a subscription to the recurring commit/credit.
1384
739
  #
1385
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig, nil]
1386
- optional :subscription_config,
1387
- -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig }
740
+ # @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
741
+ optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
1388
742
 
1389
743
  # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1390
744
  # Some parameter documentations has been truncated, see
@@ -1415,7 +769,7 @@ module MetronomeSDK
1415
769
  #
1416
770
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1417
771
  #
1418
- # @param hierarchy_configuration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
772
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
1419
773
  #
1420
774
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
1421
775
  #
@@ -1427,9 +781,9 @@ module MetronomeSDK
1427
781
  #
1428
782
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1429
783
  #
1430
- # @param specifiers [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
784
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
1431
785
  #
1432
- # @param subscription_config [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
786
+ # @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
1433
787
 
1434
788
  # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#access_amount
1435
789
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -1527,117 +881,6 @@ module MetronomeSDK
1527
881
  # @param id [String]
1528
882
  end
1529
883
 
1530
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#hierarchy_configuration
1531
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1532
- # @!attribute child_access
1533
- #
1534
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1535
- required :child_access,
1536
- union: -> {
1537
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess
1538
- }
1539
-
1540
- # @!method initialize(child_access:)
1541
- # Optional configuration for recurring commit/credit hierarchy access control
1542
- #
1543
- # @param child_access [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1544
-
1545
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration#child_access
1546
- module ChildAccess
1547
- extend MetronomeSDK::Internal::Type::Union
1548
-
1549
- variant -> {
1550
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1551
- }
1552
-
1553
- variant -> {
1554
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1555
- }
1556
-
1557
- variant -> {
1558
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1559
- }
1560
-
1561
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1562
- # @!attribute type
1563
- #
1564
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1565
- required :type,
1566
- enum: -> {
1567
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1568
- }
1569
-
1570
- # @!method initialize(type:)
1571
- # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1572
-
1573
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1574
- module Type
1575
- extend MetronomeSDK::Internal::Type::Enum
1576
-
1577
- ALL = :ALL
1578
-
1579
- # @!method self.values
1580
- # @return [Array<Symbol>]
1581
- end
1582
- end
1583
-
1584
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1585
- # @!attribute type
1586
- #
1587
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1588
- required :type,
1589
- enum: -> {
1590
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1591
- }
1592
-
1593
- # @!method initialize(type:)
1594
- # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1595
-
1596
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1597
- module Type
1598
- extend MetronomeSDK::Internal::Type::Enum
1599
-
1600
- NONE = :NONE
1601
-
1602
- # @!method self.values
1603
- # @return [Array<Symbol>]
1604
- end
1605
- end
1606
-
1607
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1608
- # @!attribute contract_ids
1609
- #
1610
- # @return [Array<String>]
1611
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1612
-
1613
- # @!attribute type
1614
- #
1615
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1616
- required :type,
1617
- enum: -> {
1618
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1619
- }
1620
-
1621
- # @!method initialize(contract_ids:, type:)
1622
- # @param contract_ids [Array<String>]
1623
- # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1624
-
1625
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1626
- module Type
1627
- extend MetronomeSDK::Internal::Type::Enum
1628
-
1629
- CONTRACT_IDS = :CONTRACT_IDS
1630
-
1631
- # @!method self.values
1632
- # @return [Array<Symbol>]
1633
- end
1634
- end
1635
-
1636
- # @!method self.variants
1637
- # @return [Array(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1638
- end
1639
- end
1640
-
1641
884
  # Determines whether the first and last commit will be prorated. If not provided,
1642
885
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1643
886
  #
@@ -1672,98 +915,6 @@ module MetronomeSDK
1672
915
  # @!method self.values
1673
916
  # @return [Array<Symbol>]
1674
917
  end
1675
-
1676
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1677
- # @!attribute presentation_group_values
1678
- #
1679
- # @return [Hash{Symbol=>String}, nil]
1680
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1681
-
1682
- # @!attribute pricing_group_values
1683
- #
1684
- # @return [Hash{Symbol=>String}, nil]
1685
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1686
-
1687
- # @!attribute product_id
1688
- # If provided, the specifier will only apply to the product with the specified ID.
1689
- #
1690
- # @return [String, nil]
1691
- optional :product_id, String
1692
-
1693
- # @!attribute product_tags
1694
- # If provided, the specifier will only apply to products with all the specified
1695
- # tags.
1696
- #
1697
- # @return [Array<String>, nil]
1698
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1699
-
1700
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1701
- # Some parameter documentations has been truncated, see
1702
- # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Specifier}
1703
- # for more details.
1704
- #
1705
- # @param presentation_group_values [Hash{Symbol=>String}]
1706
- #
1707
- # @param pricing_group_values [Hash{Symbol=>String}]
1708
- #
1709
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1710
- #
1711
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1712
- end
1713
-
1714
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#subscription_config
1715
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1716
- # @!attribute allocation
1717
- #
1718
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation]
1719
- required :allocation,
1720
- enum: -> {
1721
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation
1722
- }
1723
-
1724
- # @!attribute apply_seat_increase_config
1725
- #
1726
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
1727
- required :apply_seat_increase_config,
1728
- -> {
1729
- MetronomeSDK::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig
1730
- }
1731
-
1732
- # @!attribute subscription_id
1733
- #
1734
- # @return [String]
1735
- required :subscription_id, String
1736
-
1737
- # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
1738
- # Attach a subscription to the recurring commit/credit.
1739
- #
1740
- # @param allocation [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::Allocation]
1741
- # @param apply_seat_increase_config [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
1742
- # @param subscription_id [String]
1743
-
1744
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig#allocation
1745
- module Allocation
1746
- extend MetronomeSDK::Internal::Type::Enum
1747
-
1748
- INDIVIDUAL = :INDIVIDUAL
1749
- POOLED = :POOLED
1750
-
1751
- # @!method self.values
1752
- # @return [Array<Symbol>]
1753
- end
1754
-
1755
- # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::SubscriptionConfig#apply_seat_increase_config
1756
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1757
- # @!attribute is_prorated
1758
- # Indicates whether a mid-period seat increase should be prorated.
1759
- #
1760
- # @return [Boolean]
1761
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
1762
-
1763
- # @!method initialize(is_prorated:)
1764
- # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
1765
- end
1766
- end
1767
918
  end
1768
919
 
1769
920
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -1878,245 +1029,6 @@ module MetronomeSDK
1878
1029
  # @return [Array<Symbol>]
1879
1030
  end
1880
1031
 
1881
- # @see MetronomeSDK::Models::ContractWithoutAmendments#spend_threshold_configuration
1882
- class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1883
- # @!attribute commit
1884
- #
1885
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1886
- required :commit, -> { MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit }
1887
-
1888
- # @!attribute is_enabled
1889
- # When set to false, the contract will not be evaluated against the
1890
- # threshold_amount. Toggling to true will result an immediate evaluation,
1891
- # regardless of prior state.
1892
- #
1893
- # @return [Boolean]
1894
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
1895
-
1896
- # @!attribute payment_gate_config
1897
- #
1898
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1899
- required :payment_gate_config,
1900
- -> {
1901
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig
1902
- }
1903
-
1904
- # @!attribute threshold_amount
1905
- # Specify the threshold amount for the contract. Each time the contract's usage
1906
- # hits this amount, a threshold charge will be initiated.
1907
- #
1908
- # @return [Float]
1909
- required :threshold_amount, Float
1910
-
1911
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
1912
- # Some parameter documentations has been truncated, see
1913
- # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration}
1914
- # for more details.
1915
- #
1916
- # @param commit [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1917
- #
1918
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1919
- #
1920
- # @param payment_gate_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1921
- #
1922
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
1923
-
1924
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration#commit
1925
- class Commit < MetronomeSDK::Internal::Type::BaseModel
1926
- # @!attribute product_id
1927
- # The commit product that will be used to generate the line item for commit
1928
- # payment.
1929
- #
1930
- # @return [String]
1931
- required :product_id, String
1932
-
1933
- # @!attribute description
1934
- #
1935
- # @return [String, nil]
1936
- optional :description, String
1937
-
1938
- # @!attribute name
1939
- # Specify the name of the line item for the threshold charge. If left blank, it
1940
- # will default to the commit product name.
1941
- #
1942
- # @return [String, nil]
1943
- optional :name, String
1944
-
1945
- # @!method initialize(product_id:, description: nil, name: nil)
1946
- # Some parameter documentations has been truncated, see
1947
- # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit}
1948
- # for more details.
1949
- #
1950
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1951
- #
1952
- # @param description [String]
1953
- #
1954
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1955
- end
1956
-
1957
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration#payment_gate_config
1958
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1959
- # @!attribute payment_gate_type
1960
- # Gate access to the commit balance based on successful collection of payment.
1961
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1962
- # facilitate payment using your own payment integration. Select NONE if you do not
1963
- # wish to payment gate the commit balance.
1964
- #
1965
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1966
- required :payment_gate_type,
1967
- enum: -> {
1968
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
1969
- }
1970
-
1971
- # @!attribute precalculated_tax_config
1972
- # Only applicable if using PRECALCULATED as your tax type.
1973
- #
1974
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
1975
- optional :precalculated_tax_config,
1976
- -> {
1977
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1978
- }
1979
-
1980
- # @!attribute stripe_config
1981
- # Only applicable if using STRIPE as your payment gate type.
1982
- #
1983
- # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1984
- optional :stripe_config,
1985
- -> {
1986
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
1987
- }
1988
-
1989
- # @!attribute tax_type
1990
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1991
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1992
- # will default to NONE.
1993
- #
1994
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1995
- optional :tax_type,
1996
- enum: -> {
1997
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType
1998
- }
1999
-
2000
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2001
- # Some parameter documentations has been truncated, see
2002
- # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig}
2003
- # for more details.
2004
- #
2005
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2006
- #
2007
- # @param precalculated_tax_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2008
- #
2009
- # @param stripe_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
2010
- #
2011
- # @param tax_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2012
-
2013
- # Gate access to the commit balance based on successful collection of payment.
2014
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2015
- # facilitate payment using your own payment integration. Select NONE if you do not
2016
- # wish to payment gate the commit balance.
2017
- #
2018
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
2019
- module PaymentGateType
2020
- extend MetronomeSDK::Internal::Type::Enum
2021
-
2022
- NONE = :NONE
2023
- STRIPE = :STRIPE
2024
- EXTERNAL = :EXTERNAL
2025
-
2026
- # @!method self.values
2027
- # @return [Array<Symbol>]
2028
- end
2029
-
2030
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2031
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2032
- # @!attribute tax_amount
2033
- # Amount of tax to be applied. This should be in the same currency and
2034
- # denomination as the commit's invoice schedule
2035
- #
2036
- # @return [Float]
2037
- required :tax_amount, Float
2038
-
2039
- # @!attribute tax_name
2040
- # Name of the tax to be applied. This may be used in an invoice line item
2041
- # description.
2042
- #
2043
- # @return [String, nil]
2044
- optional :tax_name, String
2045
-
2046
- # @!method initialize(tax_amount:, tax_name: nil)
2047
- # Some parameter documentations has been truncated, see
2048
- # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2049
- # for more details.
2050
- #
2051
- # Only applicable if using PRECALCULATED as your tax type.
2052
- #
2053
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2054
- #
2055
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2056
- end
2057
-
2058
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
2059
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2060
- # @!attribute payment_type
2061
- # If left blank, will default to INVOICE
2062
- #
2063
- # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2064
- required :payment_type,
2065
- enum: -> {
2066
- MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
2067
- }
2068
-
2069
- # @!attribute invoice_metadata
2070
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2071
- # your payment type.
2072
- #
2073
- # @return [Hash{Symbol=>String}, nil]
2074
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2075
-
2076
- # @!method initialize(payment_type:, invoice_metadata: nil)
2077
- # Some parameter documentations has been truncated, see
2078
- # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
2079
- # for more details.
2080
- #
2081
- # Only applicable if using STRIPE as your payment gate type.
2082
- #
2083
- # @param payment_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2084
- #
2085
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2086
-
2087
- # If left blank, will default to INVOICE
2088
- #
2089
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2090
- module PaymentType
2091
- extend MetronomeSDK::Internal::Type::Enum
2092
-
2093
- INVOICE = :INVOICE
2094
- PAYMENT_INTENT = :PAYMENT_INTENT
2095
-
2096
- # @!method self.values
2097
- # @return [Array<Symbol>]
2098
- end
2099
- end
2100
-
2101
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2102
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2103
- # will default to NONE.
2104
- #
2105
- # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#tax_type
2106
- module TaxType
2107
- extend MetronomeSDK::Internal::Type::Enum
2108
-
2109
- NONE = :NONE
2110
- STRIPE = :STRIPE
2111
- ANROK = :ANROK
2112
- PRECALCULATED = :PRECALCULATED
2113
-
2114
- # @!method self.values
2115
- # @return [Array<Symbol>]
2116
- end
2117
- end
2118
- end
2119
-
2120
1032
  # @see MetronomeSDK::Models::ContractWithoutAmendments#usage_filter
2121
1033
  class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
2122
1034
  # @!attribute current
@@ -2133,9 +1045,7 @@ module MetronomeSDK
2133
1045
  #
2134
1046
  # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update>]
2135
1047
  required :updates,
2136
- -> {
2137
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
2138
- }
1048
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update] }
2139
1049
 
2140
1050
  # @!method initialize(current:, initial:, updates:)
2141
1051
  # @param current [MetronomeSDK::Models::BaseUsageFilter, nil]