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
@@ -45,9 +45,9 @@ module MetronomeSDK
45
45
 
46
46
  # @!attribute add_prepaid_balance_threshold_configuration
47
47
  #
48
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration, nil]
48
+ # @return [MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2, nil]
49
49
  optional :add_prepaid_balance_threshold_configuration,
50
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration }
50
+ -> { MetronomeSDK::PrepaidBalanceThresholdConfigurationV2 }
51
51
 
52
52
  # @!attribute add_pro_services
53
53
  #
@@ -80,16 +80,14 @@ module MetronomeSDK
80
80
 
81
81
  # @!attribute add_spend_threshold_configuration
82
82
  #
83
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration, nil]
84
- optional :add_spend_threshold_configuration,
85
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration }
83
+ # @return [MetronomeSDK::Models::SpendThresholdConfigurationV2, nil]
84
+ optional :add_spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfigurationV2 }
86
85
 
87
86
  # @!attribute add_subscriptions
88
87
  # List of subscriptions on the contract.
89
88
  #
90
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription>, nil]
91
- optional :add_subscriptions,
92
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription] }
89
+ # @return [Array<MetronomeSDK::Models::Subscription>, nil]
90
+ optional :add_subscriptions, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Subscription] }
93
91
 
94
92
  # @!attribute add_usage_filters
95
93
  #
@@ -126,6 +124,14 @@ module MetronomeSDK
126
124
  # @return [Time, nil]
127
125
  optional :timestamp, Time
128
126
 
127
+ # @!attribute uniqueness_key
128
+ # Prevents the creation of duplicates. If a request to create a record is made
129
+ # with a previously used uniqueness key, a new record will not be created and the
130
+ # request will fail with a 409 error.
131
+ #
132
+ # @return [String, nil]
133
+ optional :uniqueness_key, String
134
+
129
135
  # @!attribute update_commits
130
136
  #
131
137
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit>, nil]
@@ -199,7 +205,7 @@ module MetronomeSDK
199
205
  optional :update_subscriptions,
200
206
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription] }
201
207
 
202
- # @!method initialize(id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_pro_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, add_usage_filters: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, timestamp: nil, update_commits: nil, update_contract_end_date: nil, update_contract_name: nil, update_credits: nil, update_discounts: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_refund_invoices: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil)
208
+ # @!method initialize(id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_pro_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, add_usage_filters: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, timestamp: nil, uniqueness_key: nil, update_commits: nil, update_contract_end_date: nil, update_contract_name: nil, update_credits: nil, update_discounts: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_refund_invoices: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil)
203
209
  # Some parameter documentations has been truncated, see
204
210
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data} for more
205
211
  # details.
@@ -214,7 +220,7 @@ module MetronomeSDK
214
220
  #
215
221
  # @param add_overrides [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride>]
216
222
  #
217
- # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration]
223
+ # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2]
218
224
  #
219
225
  # @param add_pro_services [Array<MetronomeSDK::Models::ProService>]
220
226
  #
@@ -226,9 +232,9 @@ module MetronomeSDK
226
232
  #
227
233
  # @param add_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge>]
228
234
  #
229
- # @param add_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration]
235
+ # @param add_spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfigurationV2]
230
236
  #
231
- # @param add_subscriptions [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription>] List of subscriptions on the contract.
237
+ # @param add_subscriptions [Array<MetronomeSDK::Models::Subscription>] List of subscriptions on the contract.
232
238
  #
233
239
  # @param add_usage_filters [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter>]
234
240
  #
@@ -242,6 +248,8 @@ module MetronomeSDK
242
248
  #
243
249
  # @param timestamp [Time]
244
250
  #
251
+ # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
252
+ #
245
253
  # @param update_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit>]
246
254
  #
247
255
  # @param update_contract_end_date [Time]
@@ -309,9 +317,8 @@ module MetronomeSDK
309
317
  # @!attribute hierarchy_configuration
310
318
  # Optional configuration for commit hierarchy access control
311
319
  #
312
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration, nil]
313
- optional :hierarchy_configuration,
314
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration }
320
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
321
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
315
322
 
316
323
  # @!attribute invoice_schedule
317
324
  # The schedule that the customer will be invoiced for this commit.
@@ -362,9 +369,8 @@ module MetronomeSDK
362
369
  # Instead, to target usage by product or product tag, pass those values in the
363
370
  # body of `specifiers`.
364
371
  #
365
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier>, nil]
366
- optional :specifiers,
367
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier] }
372
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
373
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
368
374
 
369
375
  # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
370
376
  # Some parameter documentations has been truncated, see
@@ -385,7 +391,7 @@ module MetronomeSDK
385
391
  #
386
392
  # @param description [String]
387
393
  #
388
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
394
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for commit hierarchy access control
389
395
  #
390
396
  # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
391
397
  #
@@ -401,7 +407,7 @@ module MetronomeSDK
401
407
  #
402
408
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
403
409
  #
404
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
410
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
405
411
 
406
412
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#product
407
413
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -431,103 +437,6 @@ module MetronomeSDK
431
437
  # @return [Array<Symbol>]
432
438
  end
433
439
 
434
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#hierarchy_configuration
435
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
436
- # @!attribute child_access
437
- #
438
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
439
- required :child_access,
440
- union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess }
441
-
442
- # @!method initialize(child_access:)
443
- # Optional configuration for commit hierarchy access control
444
- #
445
- # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
446
-
447
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration#child_access
448
- module ChildAccess
449
- extend MetronomeSDK::Internal::Type::Union
450
-
451
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
452
-
453
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
454
-
455
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
456
-
457
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
458
- # @!attribute type
459
- #
460
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
461
- required :type,
462
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
463
-
464
- # @!method initialize(type:)
465
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
466
-
467
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
468
- module Type
469
- extend MetronomeSDK::Internal::Type::Enum
470
-
471
- ALL = :ALL
472
-
473
- # @!method self.values
474
- # @return [Array<Symbol>]
475
- end
476
- end
477
-
478
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
479
- # @!attribute type
480
- #
481
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
482
- required :type,
483
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
484
-
485
- # @!method initialize(type:)
486
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
487
-
488
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
489
- module Type
490
- extend MetronomeSDK::Internal::Type::Enum
491
-
492
- NONE = :NONE
493
-
494
- # @!method self.values
495
- # @return [Array<Symbol>]
496
- end
497
- end
498
-
499
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
500
- # @!attribute contract_ids
501
- #
502
- # @return [Array<String>]
503
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
504
-
505
- # @!attribute type
506
- #
507
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
508
- required :type,
509
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
510
-
511
- # @!method initialize(contract_ids:, type:)
512
- # @param contract_ids [Array<String>]
513
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
514
-
515
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
516
- module Type
517
- extend MetronomeSDK::Internal::Type::Enum
518
-
519
- CONTRACT_IDS = :CONTRACT_IDS
520
-
521
- # @!method self.values
522
- # @return [Array<Symbol>]
523
- end
524
- end
525
-
526
- # @!method self.variants
527
- # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
528
- end
529
- end
530
-
531
440
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#rate_type
532
441
  module RateType
533
442
  extend MetronomeSDK::Internal::Type::Enum
@@ -538,44 +447,6 @@ module MetronomeSDK
538
447
  # @!method self.values
539
448
  # @return [Array<Symbol>]
540
449
  end
541
-
542
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
543
- # @!attribute presentation_group_values
544
- #
545
- # @return [Hash{Symbol=>String}, nil]
546
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
547
-
548
- # @!attribute pricing_group_values
549
- #
550
- # @return [Hash{Symbol=>String}, nil]
551
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
552
-
553
- # @!attribute product_id
554
- # If provided, the specifier will only apply to the product with the specified ID.
555
- #
556
- # @return [String, nil]
557
- optional :product_id, String
558
-
559
- # @!attribute product_tags
560
- # If provided, the specifier will only apply to products with all the specified
561
- # tags.
562
- #
563
- # @return [Array<String>, nil]
564
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
565
-
566
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
567
- # Some parameter documentations has been truncated, see
568
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier}
569
- # for more details.
570
- #
571
- # @param presentation_group_values [Hash{Symbol=>String}]
572
- #
573
- # @param pricing_group_values [Hash{Symbol=>String}]
574
- #
575
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
576
- #
577
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
578
- end
579
450
  end
580
451
 
581
452
  class AddCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -620,9 +491,8 @@ module MetronomeSDK
620
491
  # @!attribute hierarchy_configuration
621
492
  # Optional configuration for recurring credit hierarchy access control
622
493
  #
623
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration, nil]
624
- optional :hierarchy_configuration,
625
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration }
494
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
495
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
626
496
 
627
497
  # @!attribute name
628
498
  #
@@ -656,9 +526,8 @@ module MetronomeSDK
656
526
  # Instead, to target usage by product or product tag, pass those values in the
657
527
  # body of `specifiers`.
658
528
  #
659
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier>, nil]
660
- optional :specifiers,
661
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier] }
529
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
530
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
662
531
 
663
532
  # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
664
533
  # Some parameter documentations has been truncated, see
@@ -679,7 +548,7 @@ module MetronomeSDK
679
548
  #
680
549
  # @param description [String]
681
550
  #
682
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
551
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
683
552
  #
684
553
  # @param name [String]
685
554
  #
@@ -689,7 +558,7 @@ module MetronomeSDK
689
558
  #
690
559
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
691
560
  #
692
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
561
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
693
562
 
694
563
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#product
695
564
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -717,141 +586,6 @@ module MetronomeSDK
717
586
  # @!method self.values
718
587
  # @return [Array<Symbol>]
719
588
  end
720
-
721
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#hierarchy_configuration
722
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
723
- # @!attribute child_access
724
- #
725
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
726
- required :child_access,
727
- union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess }
728
-
729
- # @!method initialize(child_access:)
730
- # Optional configuration for recurring credit hierarchy access control
731
- #
732
- # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
733
-
734
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration#child_access
735
- module ChildAccess
736
- extend MetronomeSDK::Internal::Type::Union
737
-
738
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
739
-
740
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
741
-
742
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
743
-
744
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
745
- # @!attribute type
746
- #
747
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
748
- required :type,
749
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
750
-
751
- # @!method initialize(type:)
752
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
753
-
754
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
755
- module Type
756
- extend MetronomeSDK::Internal::Type::Enum
757
-
758
- ALL = :ALL
759
-
760
- # @!method self.values
761
- # @return [Array<Symbol>]
762
- end
763
- end
764
-
765
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
766
- # @!attribute type
767
- #
768
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
769
- required :type,
770
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
771
-
772
- # @!method initialize(type:)
773
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
774
-
775
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
776
- module Type
777
- extend MetronomeSDK::Internal::Type::Enum
778
-
779
- NONE = :NONE
780
-
781
- # @!method self.values
782
- # @return [Array<Symbol>]
783
- end
784
- end
785
-
786
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
787
- # @!attribute contract_ids
788
- #
789
- # @return [Array<String>]
790
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
791
-
792
- # @!attribute type
793
- #
794
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
795
- required :type,
796
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
797
-
798
- # @!method initialize(contract_ids:, type:)
799
- # @param contract_ids [Array<String>]
800
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
801
-
802
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
803
- module Type
804
- extend MetronomeSDK::Internal::Type::Enum
805
-
806
- CONTRACT_IDS = :CONTRACT_IDS
807
-
808
- # @!method self.values
809
- # @return [Array<Symbol>]
810
- end
811
- end
812
-
813
- # @!method self.variants
814
- # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
815
- end
816
- end
817
-
818
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
819
- # @!attribute presentation_group_values
820
- #
821
- # @return [Hash{Symbol=>String}, nil]
822
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
823
-
824
- # @!attribute pricing_group_values
825
- #
826
- # @return [Hash{Symbol=>String}, nil]
827
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
828
-
829
- # @!attribute product_id
830
- # If provided, the specifier will only apply to the product with the specified ID.
831
- #
832
- # @return [String, nil]
833
- optional :product_id, String
834
-
835
- # @!attribute product_tags
836
- # If provided, the specifier will only apply to products with all the specified
837
- # tags.
838
- #
839
- # @return [Array<String>, nil]
840
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
841
-
842
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
843
- # Some parameter documentations has been truncated, see
844
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier}
845
- # for more details.
846
- #
847
- # @param presentation_group_values [Hash{Symbol=>String}]
848
- #
849
- # @param pricing_group_values [Hash{Symbol=>String}]
850
- #
851
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
852
- #
853
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
854
- end
855
589
  end
856
590
 
857
591
  class AddOverride < MetronomeSDK::Internal::Type::BaseModel
@@ -898,15 +632,13 @@ module MetronomeSDK
898
632
 
899
633
  # @!attribute override_tiers
900
634
  #
901
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier>, nil]
902
- optional :override_tiers,
903
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier] }
635
+ # @return [Array<MetronomeSDK::Models::OverrideTier>, nil]
636
+ optional :override_tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::OverrideTier] }
904
637
 
905
638
  # @!attribute overwrite_rate
906
639
  #
907
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate, nil]
908
- optional :overwrite_rate,
909
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate }
640
+ # @return [MetronomeSDK::Models::OverwriteRate, nil]
641
+ optional :overwrite_rate, -> { MetronomeSDK::OverwriteRate }
910
642
 
911
643
  # @!attribute priority
912
644
  #
@@ -940,8 +672,8 @@ module MetronomeSDK
940
672
  # @param is_commit_specific [Boolean]
941
673
  # @param multiplier [Float]
942
674
  # @param override_specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier>]
943
- # @param override_tiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier>]
944
- # @param overwrite_rate [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate]
675
+ # @param override_tiers [Array<MetronomeSDK::Models::OverrideTier>]
676
+ # @param overwrite_rate [MetronomeSDK::Models::OverwriteRate]
945
677
  # @param priority [Float]
946
678
  # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Product]
947
679
  # @param target [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Target]
@@ -1013,103 +745,6 @@ module MetronomeSDK
1013
745
  end
1014
746
  end
1015
747
 
1016
- class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
1017
- # @!attribute multiplier
1018
- #
1019
- # @return [Float]
1020
- required :multiplier, Float
1021
-
1022
- # @!attribute size
1023
- #
1024
- # @return [Float, nil]
1025
- optional :size, Float
1026
-
1027
- # @!method initialize(multiplier:, size: nil)
1028
- # @param multiplier [Float]
1029
- # @param size [Float]
1030
- end
1031
-
1032
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#overwrite_rate
1033
- class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1034
- # @!attribute rate_type
1035
- #
1036
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType]
1037
- required :rate_type,
1038
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType }
1039
-
1040
- # @!attribute credit_type
1041
- #
1042
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
1043
- optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1044
-
1045
- # @!attribute custom_rate
1046
- # Only set for CUSTOM rate_type. This field is interpreted by custom rate
1047
- # processors.
1048
- #
1049
- # @return [Hash{Symbol=>Object}, nil]
1050
- optional :custom_rate,
1051
- MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
1052
-
1053
- # @!attribute is_prorated
1054
- # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1055
- # set to true.
1056
- #
1057
- # @return [Boolean, nil]
1058
- optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1059
-
1060
- # @!attribute price
1061
- # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1062
- # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
1063
- #
1064
- # @return [Float, nil]
1065
- optional :price, Float
1066
-
1067
- # @!attribute quantity
1068
- # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1069
- #
1070
- # @return [Float, nil]
1071
- optional :quantity, Float
1072
-
1073
- # @!attribute tiers
1074
- # Only set for TIERED rate_type.
1075
- #
1076
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
1077
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1078
-
1079
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1080
- # Some parameter documentations has been truncated, see
1081
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate}
1082
- # for more details.
1083
- #
1084
- # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType]
1085
- #
1086
- # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1087
- #
1088
- # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1089
- #
1090
- # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1091
- #
1092
- # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1093
- #
1094
- # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1095
- #
1096
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1097
-
1098
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate#rate_type
1099
- module RateType
1100
- extend MetronomeSDK::Internal::Type::Enum
1101
-
1102
- FLAT = :FLAT
1103
- PERCENTAGE = :PERCENTAGE
1104
- SUBSCRIPTION = :SUBSCRIPTION
1105
- TIERED = :TIERED
1106
- CUSTOM = :CUSTOM
1107
-
1108
- # @!method self.values
1109
- # @return [Array<Symbol>]
1110
- end
1111
- end
1112
-
1113
748
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#product
1114
749
  class Product < MetronomeSDK::Internal::Type::BaseModel
1115
750
  # @!attribute id
@@ -1151,408 +786,86 @@ module MetronomeSDK
1151
786
  end
1152
787
  end
1153
788
 
1154
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data#add_prepaid_balance_threshold_configuration
1155
- class AddPrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1156
- # @!attribute commit
789
+ class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
790
+ # @!attribute id
1157
791
  #
1158
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit]
1159
- required :commit,
1160
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit }
792
+ # @return [String]
793
+ required :id, String
1161
794
 
1162
- # @!attribute is_enabled
1163
- # When set to false, the contract will not be evaluated against the
1164
- # threshold_amount. Toggling to true will result an immediate evaluation,
1165
- # regardless of prior state.
795
+ # @!attribute access_amount
796
+ # The amount of commit to grant.
1166
797
  #
1167
- # @return [Boolean]
1168
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
798
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount]
799
+ required :access_amount,
800
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount }
1169
801
 
1170
- # @!attribute payment_gate_config
802
+ # @!attribute commit_duration
803
+ # The amount of time the created commits will be valid for
1171
804
  #
1172
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1173
- required :payment_gate_config,
1174
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig }
805
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration]
806
+ required :commit_duration,
807
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration }
1175
808
 
1176
- # @!attribute recharge_to_amount
1177
- # Specify the amount the balance should be recharged to.
809
+ # @!attribute priority
810
+ # Will be passed down to the individual commits
1178
811
  #
1179
812
  # @return [Float]
1180
- required :recharge_to_amount, Float
813
+ required :priority, Float
1181
814
 
1182
- # @!attribute threshold_amount
1183
- # Specify the threshold amount for the contract. Each time the contract's balance
1184
- # lowers to this amount, a threshold charge will be initiated.
815
+ # @!attribute product
1185
816
  #
1186
- # @return [Float]
1187
- required :threshold_amount, Float
817
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product]
818
+ required :product,
819
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product }
1188
820
 
1189
- # @!attribute custom_credit_type_id
1190
- # If provided, the threshold, recharge-to amount, and the resulting threshold
1191
- # commit amount will be in terms of this credit type instead of the fiat currency.
821
+ # @!attribute rate_type
822
+ # Whether the created commits will use the commit rate or list rate
1192
823
  #
1193
- # @return [String, nil]
1194
- optional :custom_credit_type_id, String
824
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType]
825
+ required :rate_type,
826
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType }
1195
827
 
1196
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
1197
- # Some parameter documentations has been truncated, see
1198
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration}
1199
- # for more details.
1200
- #
1201
- # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit]
828
+ # @!attribute starting_at
829
+ # Determines the start time for the first commit
1202
830
  #
1203
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
831
+ # @return [Time]
832
+ required :starting_at, Time
833
+
834
+ # @!attribute applicable_product_ids
835
+ # Will be passed down to the individual commits
1204
836
  #
1205
- # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
837
+ # @return [Array<String>, nil]
838
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
839
+
840
+ # @!attribute applicable_product_tags
841
+ # Will be passed down to the individual commits
1206
842
  #
1207
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
843
+ # @return [Array<String>, nil]
844
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
845
+
846
+ # @!attribute contract
1208
847
  #
1209
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
848
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract, nil]
849
+ optional :contract,
850
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract }
851
+
852
+ # @!attribute description
853
+ # Will be passed down to the individual commits
1210
854
  #
1211
- # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
855
+ # @return [String, nil]
856
+ optional :description, String
1212
857
 
1213
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration#commit
1214
- class Commit < MetronomeSDK::Internal::Type::BaseModel
1215
- # @!attribute product_id
1216
- # The commit product that will be used to generate the line item for commit
1217
- # payment.
1218
- #
1219
- # @return [String]
1220
- required :product_id, String
858
+ # @!attribute ending_before
859
+ # Determines when the contract will stop creating recurring commits. Optional
860
+ #
861
+ # @return [Time, nil]
862
+ optional :ending_before, Time
1221
863
 
1222
- # @!attribute applicable_product_ids
1223
- # Which products the threshold commit applies to. If applicable_product_ids,
1224
- # applicable_product_tags or specifiers are not provided, the commit applies to
1225
- # all products.
1226
- #
1227
- # @return [Array<String>, nil]
1228
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1229
-
1230
- # @!attribute applicable_product_tags
1231
- # Which tags the threshold commit applies to. If applicable_product_ids,
1232
- # applicable_product_tags or specifiers are not provided, the commit applies to
1233
- # all products.
1234
- #
1235
- # @return [Array<String>, nil]
1236
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1237
-
1238
- # @!attribute description
1239
- #
1240
- # @return [String, nil]
1241
- optional :description, String
1242
-
1243
- # @!attribute name
1244
- # Specify the name of the line item for the threshold charge. If left blank, it
1245
- # will default to the commit product name.
1246
- #
1247
- # @return [String, nil]
1248
- optional :name, String
1249
-
1250
- # @!attribute specifiers
1251
- # List of filters that determine what kind of customer usage draws down a commit
1252
- # or credit. A customer's usage needs to meet the condition of at least one of the
1253
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1254
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
1255
- # Instead, to target usage by product or product tag, pass those values in the
1256
- # body of `specifiers`.
1257
- #
1258
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
1259
- optional :specifiers,
1260
- -> do
1261
- MetronomeSDK::Internal::Type::ArrayOf[
1262
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier
1263
- ]
1264
- end
1265
-
1266
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
1267
- # Some parameter documentations has been truncated, see
1268
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit}
1269
- # for more details.
1270
- #
1271
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1272
- #
1273
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
1274
- #
1275
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
1276
- #
1277
- # @param description [String]
1278
- #
1279
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1280
- #
1281
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1282
-
1283
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1284
- # @!attribute presentation_group_values
1285
- #
1286
- # @return [Hash{Symbol=>String}, nil]
1287
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1288
-
1289
- # @!attribute pricing_group_values
1290
- #
1291
- # @return [Hash{Symbol=>String}, nil]
1292
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1293
-
1294
- # @!attribute product_id
1295
- # If provided, the specifier will only apply to the product with the specified ID.
1296
- #
1297
- # @return [String, nil]
1298
- optional :product_id, String
1299
-
1300
- # @!attribute product_tags
1301
- # If provided, the specifier will only apply to products with all the specified
1302
- # tags.
1303
- #
1304
- # @return [Array<String>, nil]
1305
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1306
-
1307
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1308
- # Some parameter documentations has been truncated, see
1309
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier}
1310
- # for more details.
1311
- #
1312
- # @param presentation_group_values [Hash{Symbol=>String}]
1313
- #
1314
- # @param pricing_group_values [Hash{Symbol=>String}]
1315
- #
1316
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1317
- #
1318
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1319
- end
1320
- end
1321
-
1322
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration#payment_gate_config
1323
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1324
- # @!attribute payment_gate_type
1325
- # Gate access to the commit balance based on successful collection of payment.
1326
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1327
- # facilitate payment using your own payment integration. Select NONE if you do not
1328
- # wish to payment gate the commit balance.
1329
- #
1330
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1331
- required :payment_gate_type,
1332
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
1333
-
1334
- # @!attribute precalculated_tax_config
1335
- # Only applicable if using PRECALCULATED as your tax type.
1336
- #
1337
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
1338
- optional :precalculated_tax_config,
1339
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
1340
-
1341
- # @!attribute stripe_config
1342
- # Only applicable if using STRIPE as your payment gateway type.
1343
- #
1344
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1345
- optional :stripe_config,
1346
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
1347
-
1348
- # @!attribute tax_type
1349
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1350
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1351
- # will default to NONE.
1352
- #
1353
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1354
- optional :tax_type,
1355
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
1356
-
1357
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
1358
- # Some parameter documentations has been truncated, see
1359
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1360
- # for more details.
1361
- #
1362
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1363
- #
1364
- # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
1365
- #
1366
- # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
1367
- #
1368
- # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1369
-
1370
- # Gate access to the commit balance based on successful collection of payment.
1371
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1372
- # facilitate payment using your own payment integration. Select NONE if you do not
1373
- # wish to payment gate the commit balance.
1374
- #
1375
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1376
- module PaymentGateType
1377
- extend MetronomeSDK::Internal::Type::Enum
1378
-
1379
- NONE = :NONE
1380
- STRIPE = :STRIPE
1381
- EXTERNAL = :EXTERNAL
1382
-
1383
- # @!method self.values
1384
- # @return [Array<Symbol>]
1385
- end
1386
-
1387
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
1388
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1389
- # @!attribute tax_amount
1390
- # Amount of tax to be applied. This should be in the same currency and
1391
- # denomination as the commit's invoice schedule
1392
- #
1393
- # @return [Float]
1394
- required :tax_amount, Float
1395
-
1396
- # @!attribute tax_name
1397
- # Name of the tax to be applied. This may be used in an invoice line item
1398
- # description.
1399
- #
1400
- # @return [String, nil]
1401
- optional :tax_name, String
1402
-
1403
- # @!method initialize(tax_amount:, tax_name: nil)
1404
- # Some parameter documentations has been truncated, see
1405
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
1406
- # for more details.
1407
- #
1408
- # Only applicable if using PRECALCULATED as your tax type.
1409
- #
1410
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
1411
- #
1412
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
1413
- end
1414
-
1415
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1416
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1417
- # @!attribute payment_type
1418
- # If left blank, will default to INVOICE
1419
- #
1420
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1421
- required :payment_type,
1422
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
1423
-
1424
- # @!attribute invoice_metadata
1425
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1426
- # your payment type.
1427
- #
1428
- # @return [Hash{Symbol=>String}, nil]
1429
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
1430
-
1431
- # @!method initialize(payment_type:, invoice_metadata: nil)
1432
- # Some parameter documentations has been truncated, see
1433
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
1434
- # for more details.
1435
- #
1436
- # Only applicable if using STRIPE as your payment gateway type.
1437
- #
1438
- # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1439
- #
1440
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1441
-
1442
- # If left blank, will default to INVOICE
1443
- #
1444
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1445
- module PaymentType
1446
- extend MetronomeSDK::Internal::Type::Enum
1447
-
1448
- INVOICE = :INVOICE
1449
- PAYMENT_INTENT = :PAYMENT_INTENT
1450
-
1451
- # @!method self.values
1452
- # @return [Array<Symbol>]
1453
- end
1454
- end
1455
-
1456
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1457
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1458
- # will default to NONE.
1459
- #
1460
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1461
- module TaxType
1462
- extend MetronomeSDK::Internal::Type::Enum
1463
-
1464
- NONE = :NONE
1465
- STRIPE = :STRIPE
1466
- ANROK = :ANROK
1467
- PRECALCULATED = :PRECALCULATED
1468
-
1469
- # @!method self.values
1470
- # @return [Array<Symbol>]
1471
- end
1472
- end
1473
- end
1474
-
1475
- class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1476
- # @!attribute id
1477
- #
1478
- # @return [String]
1479
- required :id, String
1480
-
1481
- # @!attribute access_amount
1482
- # The amount of commit to grant.
1483
- #
1484
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount]
1485
- required :access_amount,
1486
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount }
1487
-
1488
- # @!attribute commit_duration
1489
- # The amount of time the created commits will be valid for
1490
- #
1491
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration]
1492
- required :commit_duration,
1493
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration }
1494
-
1495
- # @!attribute priority
1496
- # Will be passed down to the individual commits
1497
- #
1498
- # @return [Float]
1499
- required :priority, Float
1500
-
1501
- # @!attribute product
1502
- #
1503
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product]
1504
- required :product,
1505
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product }
1506
-
1507
- # @!attribute rate_type
1508
- # Whether the created commits will use the commit rate or list rate
1509
- #
1510
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType]
1511
- required :rate_type,
1512
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType }
1513
-
1514
- # @!attribute starting_at
1515
- # Determines the start time for the first commit
1516
- #
1517
- # @return [Time]
1518
- required :starting_at, Time
1519
-
1520
- # @!attribute applicable_product_ids
1521
- # Will be passed down to the individual commits
1522
- #
1523
- # @return [Array<String>, nil]
1524
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1525
-
1526
- # @!attribute applicable_product_tags
1527
- # Will be passed down to the individual commits
1528
- #
1529
- # @return [Array<String>, nil]
1530
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1531
-
1532
- # @!attribute contract
1533
- #
1534
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract, nil]
1535
- optional :contract,
1536
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract }
1537
-
1538
- # @!attribute description
1539
- # Will be passed down to the individual commits
1540
- #
1541
- # @return [String, nil]
1542
- optional :description, String
1543
-
1544
- # @!attribute ending_before
1545
- # Determines when the contract will stop creating recurring commits. Optional
1546
- #
1547
- # @return [Time, nil]
1548
- optional :ending_before, Time
1549
-
1550
- # @!attribute hierarchy_configuration
1551
- # Optional configuration for recurring credit hierarchy access control
1552
- #
1553
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration, nil]
1554
- optional :hierarchy_configuration,
1555
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration }
864
+ # @!attribute hierarchy_configuration
865
+ # Optional configuration for recurring credit hierarchy access control
866
+ #
867
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
868
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
1556
869
 
1557
870
  # @!attribute invoice_amount
1558
871
  # The amount the customer should be billed for the commit. Not required.
@@ -1605,16 +918,14 @@ module MetronomeSDK
1605
918
  # or credit. A customer's usage needs to meet the condition of at least one of the
1606
919
  # specifiers to contribute to a commit's or credit's drawdown.
1607
920
  #
1608
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier>, nil]
1609
- optional :specifiers,
1610
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier] }
921
+ # @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
922
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
1611
923
 
1612
924
  # @!attribute subscription_config
1613
925
  # Attach a subscription to the recurring commit/credit.
1614
926
  #
1615
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig, nil]
1616
- optional :subscription_config,
1617
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig }
927
+ # @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
928
+ optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
1618
929
 
1619
930
  # @!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)
1620
931
  # Some parameter documentations has been truncated, see
@@ -1645,7 +956,7 @@ module MetronomeSDK
1645
956
  #
1646
957
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1647
958
  #
1648
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
959
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
1649
960
  #
1650
961
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
1651
962
  #
@@ -1659,9 +970,9 @@ module MetronomeSDK
1659
970
  #
1660
971
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1661
972
  #
1662
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
973
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
1663
974
  #
1664
- # @param subscription_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
975
+ # @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
1665
976
 
1666
977
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#access_amount
1667
978
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -1759,103 +1070,6 @@ module MetronomeSDK
1759
1070
  # @param id [String]
1760
1071
  end
1761
1072
 
1762
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#hierarchy_configuration
1763
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1764
- # @!attribute child_access
1765
- #
1766
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1767
- required :child_access,
1768
- union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess }
1769
-
1770
- # @!method initialize(child_access:)
1771
- # Optional configuration for recurring credit hierarchy access control
1772
- #
1773
- # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1774
-
1775
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration#child_access
1776
- module ChildAccess
1777
- extend MetronomeSDK::Internal::Type::Union
1778
-
1779
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
1780
-
1781
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
1782
-
1783
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
1784
-
1785
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1786
- # @!attribute type
1787
- #
1788
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1789
- required :type,
1790
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
1791
-
1792
- # @!method initialize(type:)
1793
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1794
-
1795
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1796
- module Type
1797
- extend MetronomeSDK::Internal::Type::Enum
1798
-
1799
- ALL = :ALL
1800
-
1801
- # @!method self.values
1802
- # @return [Array<Symbol>]
1803
- end
1804
- end
1805
-
1806
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1807
- # @!attribute type
1808
- #
1809
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1810
- required :type,
1811
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
1812
-
1813
- # @!method initialize(type:)
1814
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1815
-
1816
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1817
- module Type
1818
- extend MetronomeSDK::Internal::Type::Enum
1819
-
1820
- NONE = :NONE
1821
-
1822
- # @!method self.values
1823
- # @return [Array<Symbol>]
1824
- end
1825
- end
1826
-
1827
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1828
- # @!attribute contract_ids
1829
- #
1830
- # @return [Array<String>]
1831
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1832
-
1833
- # @!attribute type
1834
- #
1835
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1836
- required :type,
1837
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
1838
-
1839
- # @!method initialize(contract_ids:, type:)
1840
- # @param contract_ids [Array<String>]
1841
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1842
-
1843
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1844
- module Type
1845
- extend MetronomeSDK::Internal::Type::Enum
1846
-
1847
- CONTRACT_IDS = :CONTRACT_IDS
1848
-
1849
- # @!method self.values
1850
- # @return [Array<Symbol>]
1851
- end
1852
- end
1853
-
1854
- # @!method self.variants
1855
- # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1856
- end
1857
- end
1858
-
1859
1073
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#invoice_amount
1860
1074
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1861
1075
  # @!attribute credit_type_id
@@ -1915,115 +1129,27 @@ module MetronomeSDK
1915
1129
  # @!method self.values
1916
1130
  # @return [Array<Symbol>]
1917
1131
  end
1132
+ end
1918
1133
 
1919
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1920
- # @!attribute presentation_group_values
1921
- #
1922
- # @return [Hash{Symbol=>String}, nil]
1923
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1924
-
1925
- # @!attribute pricing_group_values
1926
- #
1927
- # @return [Hash{Symbol=>String}, nil]
1928
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1134
+ class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1135
+ # @!attribute id
1136
+ #
1137
+ # @return [String]
1138
+ required :id, String
1929
1139
 
1930
- # @!attribute product_id
1931
- # If provided, the specifier will only apply to the product with the specified ID.
1932
- #
1933
- # @return [String, nil]
1934
- optional :product_id, String
1140
+ # @!attribute access_amount
1141
+ # The amount of commit to grant.
1142
+ #
1143
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount]
1144
+ required :access_amount,
1145
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount }
1935
1146
 
1936
- # @!attribute product_tags
1937
- # If provided, the specifier will only apply to products with all the specified
1938
- # tags.
1939
- #
1940
- # @return [Array<String>, nil]
1941
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1942
-
1943
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1944
- # Some parameter documentations has been truncated, see
1945
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier}
1946
- # for more details.
1947
- #
1948
- # @param presentation_group_values [Hash{Symbol=>String}]
1949
- #
1950
- # @param pricing_group_values [Hash{Symbol=>String}]
1951
- #
1952
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1953
- #
1954
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1955
- end
1956
-
1957
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#subscription_config
1958
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1959
- # @!attribute allocation
1960
- #
1961
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::Allocation]
1962
- required :allocation,
1963
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::Allocation }
1964
-
1965
- # @!attribute apply_seat_increase_config
1966
- #
1967
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
1968
- required :apply_seat_increase_config,
1969
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig }
1970
-
1971
- # @!attribute subscription_id
1972
- #
1973
- # @return [String]
1974
- required :subscription_id, String
1975
-
1976
- # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
1977
- # Attach a subscription to the recurring commit/credit.
1978
- #
1979
- # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::Allocation]
1980
- # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
1981
- # @param subscription_id [String]
1982
-
1983
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig#allocation
1984
- module Allocation
1985
- extend MetronomeSDK::Internal::Type::Enum
1986
-
1987
- INDIVIDUAL = :INDIVIDUAL
1988
- POOLED = :POOLED
1989
-
1990
- # @!method self.values
1991
- # @return [Array<Symbol>]
1992
- end
1993
-
1994
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig#apply_seat_increase_config
1995
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1996
- # @!attribute is_prorated
1997
- # Indicates whether a mid-period seat increase should be prorated.
1998
- #
1999
- # @return [Boolean]
2000
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2001
-
2002
- # @!method initialize(is_prorated:)
2003
- # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
2004
- end
2005
- end
2006
- end
2007
-
2008
- class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
2009
- # @!attribute id
2010
- #
2011
- # @return [String]
2012
- required :id, String
2013
-
2014
- # @!attribute access_amount
2015
- # The amount of commit to grant.
2016
- #
2017
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount]
2018
- required :access_amount,
2019
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount }
2020
-
2021
- # @!attribute commit_duration
2022
- # The amount of time the created commits will be valid for
2023
- #
2024
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration]
2025
- required :commit_duration,
2026
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration }
1147
+ # @!attribute commit_duration
1148
+ # The amount of time the created commits will be valid for
1149
+ #
1150
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration]
1151
+ required :commit_duration,
1152
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration }
2027
1153
 
2028
1154
  # @!attribute priority
2029
1155
  # Will be passed down to the individual commits
@@ -2083,9 +1209,8 @@ module MetronomeSDK
2083
1209
  # @!attribute hierarchy_configuration
2084
1210
  # Optional configuration for recurring credit hierarchy access control
2085
1211
  #
2086
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration, nil]
2087
- optional :hierarchy_configuration,
2088
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration }
1212
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
1213
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
2089
1214
 
2090
1215
  # @!attribute name
2091
1216
  # Displayed on invoices. Will be passed through to the individual commits
@@ -2131,16 +1256,14 @@ module MetronomeSDK
2131
1256
  # or credit. A customer's usage needs to meet the condition of at least one of the
2132
1257
  # specifiers to contribute to a commit's or credit's drawdown.
2133
1258
  #
2134
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier>, nil]
2135
- optional :specifiers,
2136
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier] }
1259
+ # @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
1260
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
2137
1261
 
2138
1262
  # @!attribute subscription_config
2139
1263
  # Attach a subscription to the recurring commit/credit.
2140
1264
  #
2141
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig, nil]
2142
- optional :subscription_config,
2143
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig }
1265
+ # @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
1266
+ optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
2144
1267
 
2145
1268
  # @!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)
2146
1269
  # Some parameter documentations has been truncated, see
@@ -2171,7 +1294,7 @@ module MetronomeSDK
2171
1294
  #
2172
1295
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
2173
1296
  #
2174
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
1297
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
2175
1298
  #
2176
1299
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
2177
1300
  #
@@ -2183,9 +1306,9 @@ module MetronomeSDK
2183
1306
  #
2184
1307
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2185
1308
  #
2186
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1309
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
2187
1310
  #
2188
- # @param subscription_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
1311
+ # @param subscription_config [MetronomeSDK::Models::RecurringCommitSubscriptionConfig] Attach a subscription to the recurring commit/credit.
2189
1312
 
2190
1313
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#access_amount
2191
1314
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2283,103 +1406,6 @@ module MetronomeSDK
2283
1406
  # @param id [String]
2284
1407
  end
2285
1408
 
2286
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#hierarchy_configuration
2287
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2288
- # @!attribute child_access
2289
- #
2290
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2291
- required :child_access,
2292
- union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess }
2293
-
2294
- # @!method initialize(child_access:)
2295
- # Optional configuration for recurring credit hierarchy access control
2296
- #
2297
- # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2298
-
2299
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration#child_access
2300
- module ChildAccess
2301
- extend MetronomeSDK::Internal::Type::Union
2302
-
2303
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
2304
-
2305
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
2306
-
2307
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
2308
-
2309
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2310
- # @!attribute type
2311
- #
2312
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2313
- required :type,
2314
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
2315
-
2316
- # @!method initialize(type:)
2317
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2318
-
2319
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
2320
- module Type
2321
- extend MetronomeSDK::Internal::Type::Enum
2322
-
2323
- ALL = :ALL
2324
-
2325
- # @!method self.values
2326
- # @return [Array<Symbol>]
2327
- end
2328
- end
2329
-
2330
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2331
- # @!attribute type
2332
- #
2333
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2334
- required :type,
2335
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
2336
-
2337
- # @!method initialize(type:)
2338
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2339
-
2340
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
2341
- module Type
2342
- extend MetronomeSDK::Internal::Type::Enum
2343
-
2344
- NONE = :NONE
2345
-
2346
- # @!method self.values
2347
- # @return [Array<Symbol>]
2348
- end
2349
- end
2350
-
2351
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2352
- # @!attribute contract_ids
2353
- #
2354
- # @return [Array<String>]
2355
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2356
-
2357
- # @!attribute type
2358
- #
2359
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2360
- required :type,
2361
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
2362
-
2363
- # @!method initialize(contract_ids:, type:)
2364
- # @param contract_ids [Array<String>]
2365
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2366
-
2367
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
2368
- module Type
2369
- extend MetronomeSDK::Internal::Type::Enum
2370
-
2371
- CONTRACT_IDS = :CONTRACT_IDS
2372
-
2373
- # @!method self.values
2374
- # @return [Array<Symbol>]
2375
- end
2376
- end
2377
-
2378
- # @!method self.variants
2379
- # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
2380
- end
2381
- end
2382
-
2383
1409
  # Determines whether the first and last commit will be prorated. If not provided,
2384
1410
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2385
1411
  #
@@ -2391,699 +1417,182 @@ module MetronomeSDK
2391
1417
  FIRST = :FIRST
2392
1418
  LAST = :LAST
2393
1419
  FIRST_AND_LAST = :FIRST_AND_LAST
2394
-
2395
- # @!method self.values
2396
- # @return [Array<Symbol>]
2397
- end
2398
-
2399
- # The frequency at which the recurring commits will be created. If not provided: -
2400
- # The commits will be created on the usage invoice frequency. If provided: - The
2401
- # period defined in the duration will correspond to this frequency. - Commits will
2402
- # be created aligned with the recurring commit's starting_at rather than the usage
2403
- # invoice dates.
2404
- #
2405
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#recurrence_frequency
2406
- module RecurrenceFrequency
2407
- extend MetronomeSDK::Internal::Type::Enum
2408
-
2409
- MONTHLY = :MONTHLY
2410
- QUARTERLY = :QUARTERLY
2411
- ANNUAL = :ANNUAL
2412
- WEEKLY = :WEEKLY
2413
-
2414
- # @!method self.values
2415
- # @return [Array<Symbol>]
2416
- end
2417
-
2418
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2419
- # @!attribute presentation_group_values
2420
- #
2421
- # @return [Hash{Symbol=>String}, nil]
2422
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2423
-
2424
- # @!attribute pricing_group_values
2425
- #
2426
- # @return [Hash{Symbol=>String}, nil]
2427
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2428
-
2429
- # @!attribute product_id
2430
- # If provided, the specifier will only apply to the product with the specified ID.
2431
- #
2432
- # @return [String, nil]
2433
- optional :product_id, String
2434
-
2435
- # @!attribute product_tags
2436
- # If provided, the specifier will only apply to products with all the specified
2437
- # tags.
2438
- #
2439
- # @return [Array<String>, nil]
2440
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2441
-
2442
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2443
- # Some parameter documentations has been truncated, see
2444
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier}
2445
- # for more details.
2446
- #
2447
- # @param presentation_group_values [Hash{Symbol=>String}]
2448
- #
2449
- # @param pricing_group_values [Hash{Symbol=>String}]
2450
- #
2451
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2452
- #
2453
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2454
- end
2455
-
2456
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#subscription_config
2457
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
2458
- # @!attribute allocation
2459
- #
2460
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::Allocation]
2461
- required :allocation,
2462
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::Allocation }
2463
-
2464
- # @!attribute apply_seat_increase_config
2465
- #
2466
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
2467
- required :apply_seat_increase_config,
2468
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig }
2469
-
2470
- # @!attribute subscription_id
2471
- #
2472
- # @return [String]
2473
- required :subscription_id, String
2474
-
2475
- # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
2476
- # Attach a subscription to the recurring commit/credit.
2477
- #
2478
- # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::Allocation]
2479
- # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
2480
- # @param subscription_id [String]
2481
-
2482
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig#allocation
2483
- module Allocation
2484
- extend MetronomeSDK::Internal::Type::Enum
2485
-
2486
- INDIVIDUAL = :INDIVIDUAL
2487
- POOLED = :POOLED
2488
-
2489
- # @!method self.values
2490
- # @return [Array<Symbol>]
2491
- end
2492
-
2493
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig#apply_seat_increase_config
2494
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
2495
- # @!attribute is_prorated
2496
- # Indicates whether a mid-period seat increase should be prorated.
2497
- #
2498
- # @return [Boolean]
2499
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2500
-
2501
- # @!method initialize(is_prorated:)
2502
- # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
2503
- end
2504
- end
2505
- end
2506
-
2507
- class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
2508
- # @!attribute reseller_type
2509
- #
2510
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType]
2511
- required :reseller_type,
2512
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType }
2513
-
2514
- # @!attribute applicable_product_ids
2515
- #
2516
- # @return [Array<String>, nil]
2517
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2518
-
2519
- # @!attribute applicable_product_tags
2520
- #
2521
- # @return [Array<String>, nil]
2522
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2523
-
2524
- # @!attribute aws_account_number
2525
- #
2526
- # @return [String, nil]
2527
- optional :aws_account_number, String
2528
-
2529
- # @!attribute aws_offer_id
2530
- #
2531
- # @return [String, nil]
2532
- optional :aws_offer_id, String
2533
-
2534
- # @!attribute aws_payer_reference_id
2535
- #
2536
- # @return [String, nil]
2537
- optional :aws_payer_reference_id, String
2538
-
2539
- # @!attribute ending_before
2540
- #
2541
- # @return [Time, nil]
2542
- optional :ending_before, Time, nil?: true
2543
-
2544
- # @!attribute fraction
2545
- #
2546
- # @return [Float, nil]
2547
- optional :fraction, Float
2548
-
2549
- # @!attribute gcp_account_id
2550
- #
2551
- # @return [String, nil]
2552
- optional :gcp_account_id, String
2553
-
2554
- # @!attribute gcp_offer_id
2555
- #
2556
- # @return [String, nil]
2557
- optional :gcp_offer_id, String
2558
-
2559
- # @!attribute netsuite_reseller_id
2560
- #
2561
- # @return [String, nil]
2562
- optional :netsuite_reseller_id, String
2563
-
2564
- # @!attribute reseller_contract_value
2565
- #
2566
- # @return [Float, nil]
2567
- optional :reseller_contract_value, Float
2568
-
2569
- # @!attribute starting_at
2570
- #
2571
- # @return [Time, nil]
2572
- optional :starting_at, Time
2573
-
2574
- # @!method initialize(reseller_type:, applicable_product_ids: nil, applicable_product_tags: nil, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, fraction: nil, gcp_account_id: nil, gcp_offer_id: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
2575
- # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType]
2576
- # @param applicable_product_ids [Array<String>]
2577
- # @param applicable_product_tags [Array<String>]
2578
- # @param aws_account_number [String]
2579
- # @param aws_offer_id [String]
2580
- # @param aws_payer_reference_id [String]
2581
- # @param ending_before [Time, nil]
2582
- # @param fraction [Float]
2583
- # @param gcp_account_id [String]
2584
- # @param gcp_offer_id [String]
2585
- # @param netsuite_reseller_id [String]
2586
- # @param reseller_contract_value [Float]
2587
- # @param starting_at [Time]
2588
-
2589
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty#reseller_type
2590
- module ResellerType
2591
- extend MetronomeSDK::Internal::Type::Enum
2592
-
2593
- AWS = :AWS
2594
- AWS_PRO_SERVICE = :AWS_PRO_SERVICE
2595
- GCP = :GCP
2596
- GCP_PRO_SERVICE = :GCP_PRO_SERVICE
2597
-
2598
- # @!method self.values
2599
- # @return [Array<Symbol>]
2600
- end
2601
- end
2602
-
2603
- class AddScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
2604
- # @!attribute id
2605
- #
2606
- # @return [String]
2607
- required :id, String
2608
-
2609
- # @!attribute product
2610
- #
2611
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
2612
- required :product,
2613
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product }
2614
-
2615
- # @!attribute schedule
2616
- #
2617
- # @return [MetronomeSDK::Models::SchedulePointInTime]
2618
- required :schedule, -> { MetronomeSDK::SchedulePointInTime }
2619
-
2620
- # @!attribute name
2621
- # displayed on invoices
2622
- #
2623
- # @return [String, nil]
2624
- optional :name, String
2625
-
2626
- # @!attribute netsuite_sales_order_id
2627
- # This field's availability is dependent on your client's configuration.
2628
- #
2629
- # @return [String, nil]
2630
- optional :netsuite_sales_order_id, String
2631
-
2632
- # @!method initialize(id:, product:, schedule:, name: nil, netsuite_sales_order_id: nil)
2633
- # @param id [String]
2634
- #
2635
- # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
2636
- #
2637
- # @param schedule [MetronomeSDK::Models::SchedulePointInTime]
2638
- #
2639
- # @param name [String] displayed on invoices
2640
- #
2641
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2642
-
2643
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge#product
2644
- class Product < MetronomeSDK::Internal::Type::BaseModel
2645
- # @!attribute id
2646
- #
2647
- # @return [String]
2648
- required :id, String
2649
-
2650
- # @!attribute name
2651
- #
2652
- # @return [String]
2653
- required :name, String
2654
-
2655
- # @!method initialize(id:, name:)
2656
- # @param id [String]
2657
- # @param name [String]
2658
- end
2659
- end
2660
-
2661
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data#add_spend_threshold_configuration
2662
- class AddSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2663
- # @!attribute commit
2664
- #
2665
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit]
2666
- required :commit,
2667
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit }
2668
-
2669
- # @!attribute is_enabled
2670
- # When set to false, the contract will not be evaluated against the
2671
- # threshold_amount. Toggling to true will result an immediate evaluation,
2672
- # regardless of prior state.
2673
- #
2674
- # @return [Boolean]
2675
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
2676
-
2677
- # @!attribute payment_gate_config
2678
- #
2679
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig]
2680
- required :payment_gate_config,
2681
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig }
2682
-
2683
- # @!attribute threshold_amount
2684
- # Specify the threshold amount for the contract. Each time the contract's usage
2685
- # hits this amount, a threshold charge will be initiated.
2686
- #
2687
- # @return [Float]
2688
- required :threshold_amount, Float
2689
-
2690
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
2691
- # Some parameter documentations has been truncated, see
2692
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration}
2693
- # for more details.
2694
- #
2695
- # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit]
2696
- #
2697
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2698
- #
2699
- # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig]
2700
- #
2701
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2702
-
2703
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration#commit
2704
- class Commit < MetronomeSDK::Internal::Type::BaseModel
2705
- # @!attribute product_id
2706
- # The commit product that will be used to generate the line item for commit
2707
- # payment.
2708
- #
2709
- # @return [String]
2710
- required :product_id, String
2711
-
2712
- # @!attribute description
2713
- #
2714
- # @return [String, nil]
2715
- optional :description, String
2716
-
2717
- # @!attribute name
2718
- # Specify the name of the line item for the threshold charge. If left blank, it
2719
- # will default to the commit product name.
2720
- #
2721
- # @return [String, nil]
2722
- optional :name, String
2723
-
2724
- # @!method initialize(product_id:, description: nil, name: nil)
2725
- # Some parameter documentations has been truncated, see
2726
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit}
2727
- # for more details.
2728
- #
2729
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2730
- #
2731
- # @param description [String]
2732
- #
2733
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2734
- end
2735
-
2736
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration#payment_gate_config
2737
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2738
- # @!attribute payment_gate_type
2739
- # Gate access to the commit balance based on successful collection of payment.
2740
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2741
- # facilitate payment using your own payment integration. Select NONE if you do not
2742
- # wish to payment gate the commit balance.
2743
- #
2744
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2745
- required :payment_gate_type,
2746
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2747
-
2748
- # @!attribute precalculated_tax_config
2749
- # Only applicable if using PRECALCULATED as your tax type.
2750
- #
2751
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2752
- optional :precalculated_tax_config,
2753
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
2754
-
2755
- # @!attribute stripe_config
2756
- # Only applicable if using STRIPE as your payment gateway type.
2757
- #
2758
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2759
- optional :stripe_config,
2760
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
2761
-
2762
- # @!attribute tax_type
2763
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2764
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2765
- # will default to NONE.
2766
- #
2767
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2768
- optional :tax_type,
2769
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType }
2770
-
2771
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2772
- # Some parameter documentations has been truncated, see
2773
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig}
2774
- # for more details.
2775
- #
2776
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2777
- #
2778
- # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2779
- #
2780
- # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
2781
- #
2782
- # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2783
-
2784
- # Gate access to the commit balance based on successful collection of payment.
2785
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2786
- # facilitate payment using your own payment integration. Select NONE if you do not
2787
- # wish to payment gate the commit balance.
2788
- #
2789
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
2790
- module PaymentGateType
2791
- extend MetronomeSDK::Internal::Type::Enum
2792
-
2793
- NONE = :NONE
2794
- STRIPE = :STRIPE
2795
- EXTERNAL = :EXTERNAL
2796
-
2797
- # @!method self.values
2798
- # @return [Array<Symbol>]
2799
- end
2800
-
2801
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2802
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2803
- # @!attribute tax_amount
2804
- # Amount of tax to be applied. This should be in the same currency and
2805
- # denomination as the commit's invoice schedule
2806
- #
2807
- # @return [Float]
2808
- required :tax_amount, Float
2809
-
2810
- # @!attribute tax_name
2811
- # Name of the tax to be applied. This may be used in an invoice line item
2812
- # description.
2813
- #
2814
- # @return [String, nil]
2815
- optional :tax_name, String
2816
-
2817
- # @!method initialize(tax_amount:, tax_name: nil)
2818
- # Some parameter documentations has been truncated, see
2819
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2820
- # for more details.
2821
- #
2822
- # Only applicable if using PRECALCULATED as your tax type.
2823
- #
2824
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2825
- #
2826
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2827
- end
2828
-
2829
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#stripe_config
2830
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2831
- # @!attribute payment_type
2832
- # If left blank, will default to INVOICE
2833
- #
2834
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2835
- required :payment_type,
2836
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2837
-
2838
- # @!attribute invoice_metadata
2839
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2840
- # your payment type.
2841
- #
2842
- # @return [Hash{Symbol=>String}, nil]
2843
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2844
-
2845
- # @!method initialize(payment_type:, invoice_metadata: nil)
2846
- # Some parameter documentations has been truncated, see
2847
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
2848
- # for more details.
2849
- #
2850
- # Only applicable if using STRIPE as your payment gateway type.
2851
- #
2852
- # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2853
- #
2854
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2855
-
2856
- # If left blank, will default to INVOICE
2857
- #
2858
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2859
- module PaymentType
2860
- extend MetronomeSDK::Internal::Type::Enum
2861
-
2862
- INVOICE = :INVOICE
2863
- PAYMENT_INTENT = :PAYMENT_INTENT
2864
-
2865
- # @!method self.values
2866
- # @return [Array<Symbol>]
2867
- end
2868
- end
2869
-
2870
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2871
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2872
- # will default to NONE.
2873
- #
2874
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#tax_type
2875
- module TaxType
2876
- extend MetronomeSDK::Internal::Type::Enum
2877
-
2878
- NONE = :NONE
2879
- STRIPE = :STRIPE
2880
- ANROK = :ANROK
2881
- PRECALCULATED = :PRECALCULATED
2882
-
2883
- # @!method self.values
2884
- # @return [Array<Symbol>]
2885
- end
1420
+
1421
+ # @!method self.values
1422
+ # @return [Array<Symbol>]
2886
1423
  end
2887
- end
2888
1424
 
2889
- class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
2890
- # @!attribute collection_schedule
1425
+ # The frequency at which the recurring commits will be created. If not provided: -
1426
+ # The commits will be created on the usage invoice frequency. If provided: - The
1427
+ # period defined in the duration will correspond to this frequency. - Commits will
1428
+ # be created aligned with the recurring commit's starting_at rather than the usage
1429
+ # invoice dates.
2891
1430
  #
2892
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::CollectionSchedule]
2893
- required :collection_schedule,
2894
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::CollectionSchedule }
1431
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#recurrence_frequency
1432
+ module RecurrenceFrequency
1433
+ extend MetronomeSDK::Internal::Type::Enum
2895
1434
 
2896
- # @!attribute proration
2897
- #
2898
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration]
2899
- required :proration,
2900
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration }
1435
+ MONTHLY = :MONTHLY
1436
+ QUARTERLY = :QUARTERLY
1437
+ ANNUAL = :ANNUAL
1438
+ WEEKLY = :WEEKLY
1439
+
1440
+ # @!method self.values
1441
+ # @return [Array<Symbol>]
1442
+ end
1443
+ end
2901
1444
 
2902
- # @!attribute quantity_schedule
2903
- # List of quantity schedule items for the subscription. Only includes the current
2904
- # quantity and future quantity changes.
1445
+ class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1446
+ # @!attribute reseller_type
2905
1447
  #
2906
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule>]
2907
- required :quantity_schedule,
2908
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule] }
1448
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType]
1449
+ required :reseller_type,
1450
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType }
2909
1451
 
2910
- # @!attribute starting_at
1452
+ # @!attribute applicable_product_ids
2911
1453
  #
2912
- # @return [Time]
2913
- required :starting_at, Time
1454
+ # @return [Array<String>, nil]
1455
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2914
1456
 
2915
- # @!attribute subscription_rate
1457
+ # @!attribute applicable_product_tags
2916
1458
  #
2917
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate]
2918
- required :subscription_rate,
2919
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate }
1459
+ # @return [Array<String>, nil]
1460
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2920
1461
 
2921
- # @!attribute id
1462
+ # @!attribute aws_account_number
2922
1463
  #
2923
1464
  # @return [String, nil]
2924
- optional :id, String
1465
+ optional :aws_account_number, String
2925
1466
 
2926
- # @!attribute custom_fields
1467
+ # @!attribute aws_offer_id
2927
1468
  #
2928
- # @return [Hash{Symbol=>String}, nil]
2929
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1469
+ # @return [String, nil]
1470
+ optional :aws_offer_id, String
2930
1471
 
2931
- # @!attribute description
1472
+ # @!attribute aws_payer_reference_id
2932
1473
  #
2933
1474
  # @return [String, nil]
2934
- optional :description, String
1475
+ optional :aws_payer_reference_id, String
2935
1476
 
2936
1477
  # @!attribute ending_before
2937
1478
  #
2938
1479
  # @return [Time, nil]
2939
- optional :ending_before, Time
1480
+ optional :ending_before, Time, nil?: true
2940
1481
 
2941
- # @!attribute fiat_credit_type_id
1482
+ # @!attribute fraction
2942
1483
  #
2943
- # @return [String, nil]
2944
- optional :fiat_credit_type_id, String
1484
+ # @return [Float, nil]
1485
+ optional :fraction, Float
2945
1486
 
2946
- # @!attribute name
1487
+ # @!attribute gcp_account_id
2947
1488
  #
2948
1489
  # @return [String, nil]
2949
- optional :name, String
1490
+ optional :gcp_account_id, String
2950
1491
 
2951
- # @!method initialize(collection_schedule:, proration:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil)
2952
- # Some parameter documentations has been truncated, see
2953
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription}
2954
- # for more details.
1492
+ # @!attribute gcp_offer_id
2955
1493
  #
2956
- # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::CollectionSchedule]
1494
+ # @return [String, nil]
1495
+ optional :gcp_offer_id, String
1496
+
1497
+ # @!attribute netsuite_reseller_id
2957
1498
  #
2958
- # @param proration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration]
1499
+ # @return [String, nil]
1500
+ optional :netsuite_reseller_id, String
1501
+
1502
+ # @!attribute reseller_contract_value
2959
1503
  #
2960
- # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
1504
+ # @return [Float, nil]
1505
+ optional :reseller_contract_value, Float
1506
+
1507
+ # @!attribute starting_at
2961
1508
  #
1509
+ # @return [Time, nil]
1510
+ optional :starting_at, Time
1511
+
1512
+ # @!method initialize(reseller_type:, applicable_product_ids: nil, applicable_product_tags: nil, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, fraction: nil, gcp_account_id: nil, gcp_offer_id: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
1513
+ # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType]
1514
+ # @param applicable_product_ids [Array<String>]
1515
+ # @param applicable_product_tags [Array<String>]
1516
+ # @param aws_account_number [String]
1517
+ # @param aws_offer_id [String]
1518
+ # @param aws_payer_reference_id [String]
1519
+ # @param ending_before [Time, nil]
1520
+ # @param fraction [Float]
1521
+ # @param gcp_account_id [String]
1522
+ # @param gcp_offer_id [String]
1523
+ # @param netsuite_reseller_id [String]
1524
+ # @param reseller_contract_value [Float]
2962
1525
  # @param starting_at [Time]
2963
- #
2964
- # @param subscription_rate [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate]
2965
- #
2966
- # @param id [String]
2967
- #
2968
- # @param custom_fields [Hash{Symbol=>String}]
2969
- #
2970
- # @param description [String]
2971
- #
2972
- # @param ending_before [Time]
2973
- #
2974
- # @param fiat_credit_type_id [String]
2975
- #
2976
- # @param name [String]
2977
1526
 
2978
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#collection_schedule
2979
- module CollectionSchedule
1527
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty#reseller_type
1528
+ module ResellerType
2980
1529
  extend MetronomeSDK::Internal::Type::Enum
2981
1530
 
2982
- ADVANCE = :ADVANCE
2983
- ARREARS = :ARREARS
1531
+ AWS = :AWS
1532
+ AWS_PRO_SERVICE = :AWS_PRO_SERVICE
1533
+ GCP = :GCP
1534
+ GCP_PRO_SERVICE = :GCP_PRO_SERVICE
2984
1535
 
2985
1536
  # @!method self.values
2986
1537
  # @return [Array<Symbol>]
2987
1538
  end
1539
+ end
2988
1540
 
2989
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#proration
2990
- class Proration < MetronomeSDK::Internal::Type::BaseModel
2991
- # @!attribute invoice_behavior
2992
- #
2993
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior]
2994
- required :invoice_behavior,
2995
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior }
2996
-
2997
- # @!attribute is_prorated
2998
- #
2999
- # @return [Boolean]
3000
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3001
-
3002
- # @!method initialize(invoice_behavior:, is_prorated:)
3003
- # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior]
3004
- # @param is_prorated [Boolean]
3005
-
3006
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration#invoice_behavior
3007
- module InvoiceBehavior
3008
- extend MetronomeSDK::Internal::Type::Enum
3009
-
3010
- BILL_IMMEDIATELY = :BILL_IMMEDIATELY
3011
- BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
1541
+ class AddScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1542
+ # @!attribute id
1543
+ #
1544
+ # @return [String]
1545
+ required :id, String
3012
1546
 
3013
- # @!method self.values
3014
- # @return [Array<Symbol>]
3015
- end
3016
- end
1547
+ # @!attribute product
1548
+ #
1549
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
1550
+ required :product,
1551
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product }
3017
1552
 
3018
- class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
3019
- # @!attribute quantity
3020
- #
3021
- # @return [Float]
3022
- required :quantity, Float
1553
+ # @!attribute schedule
1554
+ #
1555
+ # @return [MetronomeSDK::Models::SchedulePointInTime]
1556
+ required :schedule, -> { MetronomeSDK::SchedulePointInTime }
3023
1557
 
3024
- # @!attribute starting_at
3025
- #
3026
- # @return [Time]
3027
- required :starting_at, Time
1558
+ # @!attribute name
1559
+ # displayed on invoices
1560
+ #
1561
+ # @return [String, nil]
1562
+ optional :name, String
3028
1563
 
3029
- # @!attribute ending_before
3030
- #
3031
- # @return [Time, nil]
3032
- optional :ending_before, Time
1564
+ # @!attribute netsuite_sales_order_id
1565
+ # This field's availability is dependent on your client's configuration.
1566
+ #
1567
+ # @return [String, nil]
1568
+ optional :netsuite_sales_order_id, String
3033
1569
 
3034
- # @!method initialize(quantity:, starting_at:, ending_before: nil)
3035
- # @param quantity [Float]
3036
- # @param starting_at [Time]
3037
- # @param ending_before [Time]
3038
- end
1570
+ # @!method initialize(id:, product:, schedule:, name: nil, netsuite_sales_order_id: nil)
1571
+ # @param id [String]
1572
+ #
1573
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
1574
+ #
1575
+ # @param schedule [MetronomeSDK::Models::SchedulePointInTime]
1576
+ #
1577
+ # @param name [String] displayed on invoices
1578
+ #
1579
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
3039
1580
 
3040
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#subscription_rate
3041
- class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3042
- # @!attribute billing_frequency
1581
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge#product
1582
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1583
+ # @!attribute id
3043
1584
  #
3044
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::BillingFrequency]
3045
- required :billing_frequency,
3046
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::BillingFrequency }
1585
+ # @return [String]
1586
+ required :id, String
3047
1587
 
3048
- # @!attribute product
1588
+ # @!attribute name
3049
1589
  #
3050
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product]
3051
- required :product,
3052
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product }
3053
-
3054
- # @!method initialize(billing_frequency:, product:)
3055
- # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::BillingFrequency]
3056
- # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product]
3057
-
3058
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate#billing_frequency
3059
- module BillingFrequency
3060
- extend MetronomeSDK::Internal::Type::Enum
3061
-
3062
- MONTHLY = :MONTHLY
3063
- QUARTERLY = :QUARTERLY
3064
- ANNUAL = :ANNUAL
3065
- WEEKLY = :WEEKLY
3066
-
3067
- # @!method self.values
3068
- # @return [Array<Symbol>]
3069
- end
3070
-
3071
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate#product
3072
- class Product < MetronomeSDK::Internal::Type::BaseModel
3073
- # @!attribute id
3074
- #
3075
- # @return [String]
3076
- required :id, String
3077
-
3078
- # @!attribute name
3079
- #
3080
- # @return [String]
3081
- required :name, String
1590
+ # @return [String]
1591
+ required :name, String
3082
1592
 
3083
- # @!method initialize(id:, name:)
3084
- # @param id [String]
3085
- # @param name [String]
3086
- end
1593
+ # @!method initialize(id:, name:)
1594
+ # @param id [String]
1595
+ # @param name [String]
3087
1596
  end
3088
1597
  end
3089
1598
 
@@ -3197,9 +1706,8 @@ module MetronomeSDK
3197
1706
  # @!attribute hierarchy_configuration
3198
1707
  # Optional configuration for commit hierarchy access control
3199
1708
  #
3200
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration, nil]
3201
- optional :hierarchy_configuration,
3202
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration }
1709
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
1710
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
3203
1711
 
3204
1712
  # @!attribute invoice_schedule
3205
1713
  #
@@ -3217,11 +1725,25 @@ module MetronomeSDK
3217
1725
  # @return [String, nil]
3218
1726
  optional :netsuite_sales_order_id, String, nil?: true
3219
1727
 
1728
+ # @!attribute priority
1729
+ # If multiple commits are applicable, the one with the lower priority will apply
1730
+ # first.
1731
+ #
1732
+ # @return [Float, nil]
1733
+ optional :priority, Float, nil?: true
1734
+
3220
1735
  # @!attribute product_id
3221
1736
  #
3222
1737
  # @return [String, nil]
3223
1738
  optional :product_id, String
3224
1739
 
1740
+ # @!attribute rate_type
1741
+ # If set, the commit's rate type was updated to the specified value.
1742
+ #
1743
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::RateType, nil]
1744
+ optional :rate_type,
1745
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::RateType }
1746
+
3225
1747
  # @!attribute rollover_fraction
3226
1748
  #
3227
1749
  # @return [Float, nil]
@@ -3235,12 +1757,12 @@ module MetronomeSDK
3235
1757
  # Instead, to target usage by product or product tag, pass those values in the
3236
1758
  # body of `specifiers`.
3237
1759
  #
3238
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier>, nil]
1760
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
3239
1761
  optional :specifiers,
3240
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier] },
1762
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
3241
1763
  nil?: true
3242
1764
 
3243
- # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil, specifiers: nil)
1765
+ # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, product_id: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil)
3244
1766
  # Some parameter documentations has been truncated, see
3245
1767
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit}
3246
1768
  # for more details.
@@ -3253,7 +1775,7 @@ module MetronomeSDK
3253
1775
  #
3254
1776
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
3255
1777
  #
3256
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
1778
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for commit hierarchy access control
3257
1779
  #
3258
1780
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule]
3259
1781
  #
@@ -3261,11 +1783,15 @@ module MetronomeSDK
3261
1783
  #
3262
1784
  # @param netsuite_sales_order_id [String, nil]
3263
1785
  #
1786
+ # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
1787
+ #
3264
1788
  # @param product_id [String]
3265
1789
  #
1790
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::RateType] If set, the commit's rate type was updated to the specified value.
1791
+ #
3266
1792
  # @param rollover_fraction [Float, nil]
3267
1793
  #
3268
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
1794
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil] List of filters that determine what kind of customer usage draws down a commit o
3269
1795
 
3270
1796
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#access_schedule
3271
1797
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
@@ -3374,103 +1900,6 @@ module MetronomeSDK
3374
1900
  end
3375
1901
  end
3376
1902
 
3377
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#hierarchy_configuration
3378
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3379
- # @!attribute child_access
3380
- #
3381
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3382
- required :child_access,
3383
- union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess }
3384
-
3385
- # @!method initialize(child_access:)
3386
- # Optional configuration for commit hierarchy access control
3387
- #
3388
- # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3389
-
3390
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration#child_access
3391
- module ChildAccess
3392
- extend MetronomeSDK::Internal::Type::Union
3393
-
3394
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3395
-
3396
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3397
-
3398
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3399
-
3400
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3401
- # @!attribute type
3402
- #
3403
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3404
- required :type,
3405
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3406
-
3407
- # @!method initialize(type:)
3408
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3409
-
3410
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3411
- module Type
3412
- extend MetronomeSDK::Internal::Type::Enum
3413
-
3414
- ALL = :ALL
3415
-
3416
- # @!method self.values
3417
- # @return [Array<Symbol>]
3418
- end
3419
- end
3420
-
3421
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3422
- # @!attribute type
3423
- #
3424
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3425
- required :type,
3426
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3427
-
3428
- # @!method initialize(type:)
3429
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3430
-
3431
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3432
- module Type
3433
- extend MetronomeSDK::Internal::Type::Enum
3434
-
3435
- NONE = :NONE
3436
-
3437
- # @!method self.values
3438
- # @return [Array<Symbol>]
3439
- end
3440
- end
3441
-
3442
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3443
- # @!attribute contract_ids
3444
- #
3445
- # @return [Array<String>]
3446
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3447
-
3448
- # @!attribute type
3449
- #
3450
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3451
- required :type,
3452
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3453
-
3454
- # @!method initialize(contract_ids:, type:)
3455
- # @param contract_ids [Array<String>]
3456
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3457
-
3458
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3459
- module Type
3460
- extend MetronomeSDK::Internal::Type::Enum
3461
-
3462
- CONTRACT_IDS = :CONTRACT_IDS
3463
-
3464
- # @!method self.values
3465
- # @return [Array<Symbol>]
3466
- end
3467
- end
3468
-
3469
- # @!method self.variants
3470
- # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3471
- end
3472
- end
3473
-
3474
1903
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#invoice_schedule
3475
1904
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3476
1905
  # @!attribute add_schedule_items
@@ -3574,49 +2003,24 @@ module MetronomeSDK
3574
2003
 
3575
2004
  # @!method initialize(id:, amount: nil, quantity: nil, timestamp: nil, unit_price: nil)
3576
2005
  # @param id [String]
3577
- # @param amount [Float]
3578
- # @param quantity [Float]
3579
- # @param timestamp [Time]
3580
- # @param unit_price [Float]
3581
- end
3582
- end
3583
-
3584
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
3585
- # @!attribute presentation_group_values
3586
- #
3587
- # @return [Hash{Symbol=>String}, nil]
3588
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3589
-
3590
- # @!attribute pricing_group_values
3591
- #
3592
- # @return [Hash{Symbol=>String}, nil]
3593
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2006
+ # @param amount [Float]
2007
+ # @param quantity [Float]
2008
+ # @param timestamp [Time]
2009
+ # @param unit_price [Float]
2010
+ end
2011
+ end
3594
2012
 
3595
- # @!attribute product_id
3596
- # If provided, the specifier will only apply to the product with the specified ID.
3597
- #
3598
- # @return [String, nil]
3599
- optional :product_id, String
2013
+ # If set, the commit's rate type was updated to the specified value.
2014
+ #
2015
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#rate_type
2016
+ module RateType
2017
+ extend MetronomeSDK::Internal::Type::Enum
3600
2018
 
3601
- # @!attribute product_tags
3602
- # If provided, the specifier will only apply to products with all the specified
3603
- # tags.
3604
- #
3605
- # @return [Array<String>, nil]
3606
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2019
+ COMMIT_RATE = :COMMIT_RATE
2020
+ LIST_RATE = :LIST_RATE
3607
2021
 
3608
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3609
- # Some parameter documentations has been truncated, see
3610
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier}
3611
- # for more details.
3612
- #
3613
- # @param presentation_group_values [Hash{Symbol=>String}]
3614
- #
3615
- # @param pricing_group_values [Hash{Symbol=>String}]
3616
- #
3617
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3618
- #
3619
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2022
+ # @!method self.values
2023
+ # @return [Array<Symbol>]
3620
2024
  end
3621
2025
  end
3622
2026
 
@@ -3635,9 +2039,8 @@ module MetronomeSDK
3635
2039
  # @!attribute hierarchy_configuration
3636
2040
  # Optional configuration for credit hierarchy access control
3637
2041
  #
3638
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration, nil]
3639
- optional :hierarchy_configuration,
3640
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration }
2042
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
2043
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
3641
2044
 
3642
2045
  # @!attribute name
3643
2046
  #
@@ -3649,22 +2052,44 @@ module MetronomeSDK
3649
2052
  # @return [String, nil]
3650
2053
  optional :netsuite_sales_order_id, String, nil?: true
3651
2054
 
2055
+ # @!attribute priority
2056
+ # If multiple credits are applicable, the one with the lower priority will apply
2057
+ # first.
2058
+ #
2059
+ # @return [Float, nil]
2060
+ optional :priority, Float, nil?: true
2061
+
2062
+ # @!attribute rate_type
2063
+ # If set, the credit's rate type was updated to the specified value.
2064
+ #
2065
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::RateType, nil]
2066
+ optional :rate_type,
2067
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::RateType }
2068
+
3652
2069
  # @!attribute rollover_fraction
3653
2070
  #
3654
2071
  # @return [Float, nil]
3655
2072
  optional :rollover_fraction, Float, nil?: true
3656
2073
 
3657
- # @!method initialize(id:, access_schedule: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, rollover_fraction: nil)
2074
+ # @!method initialize(id:, access_schedule: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil)
2075
+ # Some parameter documentations has been truncated, see
2076
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit}
2077
+ # for more details.
2078
+ #
3658
2079
  # @param id [String]
3659
2080
  #
3660
2081
  # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule]
3661
2082
  #
3662
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
2083
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for credit hierarchy access control
3663
2084
  #
3664
2085
  # @param name [String]
3665
2086
  #
3666
2087
  # @param netsuite_sales_order_id [String, nil]
3667
2088
  #
2089
+ # @param priority [Float, nil] If multiple credits are applicable, the one with the lower priority will apply f
2090
+ #
2091
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::RateType] If set, the credit's rate type was updated to the specified value.
2092
+ #
3668
2093
  # @param rollover_fraction [Float, nil]
3669
2094
 
3670
2095
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#access_schedule
@@ -3774,101 +2199,17 @@ module MetronomeSDK
3774
2199
  end
3775
2200
  end
3776
2201
 
3777
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#hierarchy_configuration
3778
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3779
- # @!attribute child_access
3780
- #
3781
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3782
- required :child_access,
3783
- union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess }
3784
-
3785
- # @!method initialize(child_access:)
3786
- # Optional configuration for credit hierarchy access control
3787
- #
3788
- # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3789
-
3790
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration#child_access
3791
- module ChildAccess
3792
- extend MetronomeSDK::Internal::Type::Union
3793
-
3794
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3795
-
3796
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3797
-
3798
- variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3799
-
3800
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3801
- # @!attribute type
3802
- #
3803
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3804
- required :type,
3805
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3806
-
3807
- # @!method initialize(type:)
3808
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3809
-
3810
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3811
- module Type
3812
- extend MetronomeSDK::Internal::Type::Enum
3813
-
3814
- ALL = :ALL
3815
-
3816
- # @!method self.values
3817
- # @return [Array<Symbol>]
3818
- end
3819
- end
3820
-
3821
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3822
- # @!attribute type
3823
- #
3824
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3825
- required :type,
3826
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3827
-
3828
- # @!method initialize(type:)
3829
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3830
-
3831
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3832
- module Type
3833
- extend MetronomeSDK::Internal::Type::Enum
3834
-
3835
- NONE = :NONE
3836
-
3837
- # @!method self.values
3838
- # @return [Array<Symbol>]
3839
- end
3840
- end
3841
-
3842
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3843
- # @!attribute contract_ids
3844
- #
3845
- # @return [Array<String>]
3846
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3847
-
3848
- # @!attribute type
3849
- #
3850
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3851
- required :type,
3852
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3853
-
3854
- # @!method initialize(contract_ids:, type:)
3855
- # @param contract_ids [Array<String>]
3856
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3857
-
3858
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3859
- module Type
3860
- extend MetronomeSDK::Internal::Type::Enum
3861
-
3862
- CONTRACT_IDS = :CONTRACT_IDS
2202
+ # If set, the credit's rate type was updated to the specified value.
2203
+ #
2204
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#rate_type
2205
+ module RateType
2206
+ extend MetronomeSDK::Internal::Type::Enum
3863
2207
 
3864
- # @!method self.values
3865
- # @return [Array<Symbol>]
3866
- end
3867
- end
2208
+ LIST_RATE = :LIST_RATE
2209
+ COMMIT_RATE = :COMMIT_RATE
3868
2210
 
3869
- # @!method self.variants
3870
- # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3871
- end
2211
+ # @!method self.values
2212
+ # @return [Array<Symbol>]
3872
2213
  end
3873
2214
  end
3874
2215
 
@@ -3879,6 +2220,7 @@ module MetronomeSDK
3879
2220
  required :id, String
3880
2221
 
3881
2222
  # @!attribute custom_fields
2223
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3882
2224
  #
3883
2225
  # @return [Hash{Symbol=>String}, nil]
3884
2226
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -3903,7 +2245,7 @@ module MetronomeSDK
3903
2245
  # @!method initialize(id:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil, schedule: nil)
3904
2246
  # @param id [String]
3905
2247
  #
3906
- # @param custom_fields [Hash{Symbol=>String}]
2248
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3907
2249
  #
3908
2250
  # @param name [String]
3909
2251
  #
@@ -3919,6 +2261,13 @@ module MetronomeSDK
3919
2261
  # @return [String, nil]
3920
2262
  optional :credit_type_id, String
3921
2263
 
2264
+ # @!attribute do_not_invoice
2265
+ # This field is only applicable to commit invoice schedules. If true, this
2266
+ # schedule will not generate an invoice.
2267
+ #
2268
+ # @return [Boolean, nil]
2269
+ optional :do_not_invoice, MetronomeSDK::Internal::Type::Boolean
2270
+
3922
2271
  # @!attribute recurring_schedule
3923
2272
  # Enter the unit price and quantity for the charge or instead only send the
3924
2273
  # amount. If amount is sent, the unit price is assumed to be the amount and
@@ -3935,7 +2284,7 @@ module MetronomeSDK
3935
2284
  optional :schedule_items,
3936
2285
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem] }
3937
2286
 
3938
- # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
2287
+ # @!method initialize(credit_type_id: nil, do_not_invoice: nil, recurring_schedule: nil, schedule_items: nil)
3939
2288
  # Some parameter documentations has been truncated, see
3940
2289
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule}
3941
2290
  # for more details.
@@ -3944,6 +2293,8 @@ module MetronomeSDK
3944
2293
  #
3945
2294
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
3946
2295
  #
2296
+ # @param do_not_invoice [Boolean] This field is only applicable to commit invoice schedules. If true, this schedul
2297
+ #
3947
2298
  # @param recurring_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
3948
2299
  #
3949
2300
  # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
@@ -4120,9 +2471,8 @@ module MetronomeSDK
4120
2471
 
4121
2472
  # @!attribute payment_gate_config
4122
2473
  #
4123
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig, nil]
4124
- optional :payment_gate_config,
4125
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig }
2474
+ # @return [MetronomeSDK::Models::PaymentGateConfigV2, nil]
2475
+ optional :payment_gate_config, -> { MetronomeSDK::PaymentGateConfigV2 }
4126
2476
 
4127
2477
  # @!attribute recharge_to_amount
4128
2478
  # Specify the amount the balance should be recharged to.
@@ -4148,14 +2498,14 @@ module MetronomeSDK
4148
2498
  #
4149
2499
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
4150
2500
  #
4151
- # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2501
+ # @param payment_gate_config [MetronomeSDK::Models::PaymentGateConfigV2]
4152
2502
  #
4153
2503
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
4154
2504
  #
4155
2505
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
4156
2506
 
4157
2507
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration#commit
4158
- class Commit < MetronomeSDK::Internal::Type::BaseModel
2508
+ class Commit < MetronomeSDK::Models::UpdateBaseThresholdCommit
4159
2509
  # @!attribute applicable_product_ids
4160
2510
  # Which products the threshold commit applies to. If both applicable_product_ids
4161
2511
  # and applicable_product_tags are not provided, the commit applies to all
@@ -4171,25 +2521,6 @@ module MetronomeSDK
4171
2521
  # @return [Array<String>, nil]
4172
2522
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
4173
2523
 
4174
- # @!attribute description
4175
- #
4176
- # @return [String, nil]
4177
- optional :description, String
4178
-
4179
- # @!attribute name
4180
- # Specify the name of the line item for the threshold charge. If left blank, it
4181
- # will default to the commit product name.
4182
- #
4183
- # @return [String, nil]
4184
- optional :name, String
4185
-
4186
- # @!attribute product_id
4187
- # The commit product that will be used to generate the line item for commit
4188
- # payment.
4189
- #
4190
- # @return [String, nil]
4191
- optional :product_id, String
4192
-
4193
2524
  # @!attribute specifiers
4194
2525
  # List of filters that determine what kind of customer usage draws down a commit
4195
2526
  # or credit. A customer's usage needs to meet the condition of at least one of the
@@ -4198,16 +2529,12 @@ module MetronomeSDK
4198
2529
  # Instead, to target usage by product or product tag, pass those values in the
4199
2530
  # body of `specifiers`.
4200
2531
  #
4201
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2532
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
4202
2533
  optional :specifiers,
4203
- -> do
4204
- MetronomeSDK::Internal::Type::ArrayOf[
4205
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier
4206
- ]
4207
- end,
2534
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] },
4208
2535
  nil?: true
4209
2536
 
4210
- # @!method initialize(applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, product_id: nil, specifiers: nil)
2537
+ # @!method initialize(applicable_product_ids: nil, applicable_product_tags: nil, specifiers: nil)
4211
2538
  # Some parameter documentations has been truncated, see
4212
2539
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit}
4213
2540
  # for more details.
@@ -4216,203 +2543,7 @@ module MetronomeSDK
4216
2543
  #
4217
2544
  # @param applicable_product_tags [Array<String>, nil] Which tags the threshold commit applies to. If both applicable_product_ids and a
4218
2545
  #
4219
- # @param description [String]
4220
- #
4221
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
4222
- #
4223
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
4224
- #
4225
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
4226
-
4227
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
4228
- # @!attribute presentation_group_values
4229
- #
4230
- # @return [Hash{Symbol=>String}, nil]
4231
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
4232
-
4233
- # @!attribute pricing_group_values
4234
- #
4235
- # @return [Hash{Symbol=>String}, nil]
4236
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
4237
-
4238
- # @!attribute product_id
4239
- # If provided, the specifier will only apply to the product with the specified ID.
4240
- #
4241
- # @return [String, nil]
4242
- optional :product_id, String
4243
-
4244
- # @!attribute product_tags
4245
- # If provided, the specifier will only apply to products with all the specified
4246
- # tags.
4247
- #
4248
- # @return [Array<String>, nil]
4249
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
4250
-
4251
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
4252
- # Some parameter documentations has been truncated, see
4253
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier}
4254
- # for more details.
4255
- #
4256
- # @param presentation_group_values [Hash{Symbol=>String}]
4257
- #
4258
- # @param pricing_group_values [Hash{Symbol=>String}]
4259
- #
4260
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
4261
- #
4262
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
4263
- end
4264
- end
4265
-
4266
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration#payment_gate_config
4267
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
4268
- # @!attribute payment_gate_type
4269
- # Gate access to the commit balance based on successful collection of payment.
4270
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4271
- # facilitate payment using your own payment integration. Select NONE if you do not
4272
- # wish to payment gate the commit balance.
4273
- #
4274
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
4275
- required :payment_gate_type,
4276
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
4277
-
4278
- # @!attribute precalculated_tax_config
4279
- # Only applicable if using PRECALCULATED as your tax type.
4280
- #
4281
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
4282
- optional :precalculated_tax_config,
4283
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
4284
-
4285
- # @!attribute stripe_config
4286
- # Only applicable if using STRIPE as your payment gateway type.
4287
- #
4288
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
4289
- optional :stripe_config,
4290
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
4291
-
4292
- # @!attribute tax_type
4293
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4294
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4295
- # will default to NONE.
4296
- #
4297
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
4298
- optional :tax_type,
4299
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
4300
-
4301
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
4302
- # Some parameter documentations has been truncated, see
4303
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig}
4304
- # for more details.
4305
- #
4306
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4307
- #
4308
- # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
4309
- #
4310
- # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
4311
- #
4312
- # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4313
-
4314
- # Gate access to the commit balance based on successful collection of payment.
4315
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4316
- # facilitate payment using your own payment integration. Select NONE if you do not
4317
- # wish to payment gate the commit balance.
4318
- #
4319
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
4320
- module PaymentGateType
4321
- extend MetronomeSDK::Internal::Type::Enum
4322
-
4323
- NONE = :NONE
4324
- STRIPE = :STRIPE
4325
- EXTERNAL = :EXTERNAL
4326
-
4327
- # @!method self.values
4328
- # @return [Array<Symbol>]
4329
- end
4330
-
4331
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
4332
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4333
- # @!attribute tax_amount
4334
- # Amount of tax to be applied. This should be in the same currency and
4335
- # denomination as the commit's invoice schedule
4336
- #
4337
- # @return [Float]
4338
- required :tax_amount, Float
4339
-
4340
- # @!attribute tax_name
4341
- # Name of the tax to be applied. This may be used in an invoice line item
4342
- # description.
4343
- #
4344
- # @return [String, nil]
4345
- optional :tax_name, String
4346
-
4347
- # @!method initialize(tax_amount:, tax_name: nil)
4348
- # Some parameter documentations has been truncated, see
4349
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
4350
- # for more details.
4351
- #
4352
- # Only applicable if using PRECALCULATED as your tax type.
4353
- #
4354
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
4355
- #
4356
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
4357
- end
4358
-
4359
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
4360
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4361
- # @!attribute payment_type
4362
- # If left blank, will default to INVOICE
4363
- #
4364
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
4365
- required :payment_type,
4366
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
4367
-
4368
- # @!attribute invoice_metadata
4369
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4370
- # your payment type.
4371
- #
4372
- # @return [Hash{Symbol=>String}, nil]
4373
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
4374
-
4375
- # @!method initialize(payment_type:, invoice_metadata: nil)
4376
- # Some parameter documentations has been truncated, see
4377
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
4378
- # for more details.
4379
- #
4380
- # Only applicable if using STRIPE as your payment gateway type.
4381
- #
4382
- # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4383
- #
4384
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4385
-
4386
- # If left blank, will default to INVOICE
4387
- #
4388
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
4389
- module PaymentType
4390
- extend MetronomeSDK::Internal::Type::Enum
4391
-
4392
- INVOICE = :INVOICE
4393
- PAYMENT_INTENT = :PAYMENT_INTENT
4394
-
4395
- # @!method self.values
4396
- # @return [Array<Symbol>]
4397
- end
4398
- end
4399
-
4400
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4401
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4402
- # will default to NONE.
4403
- #
4404
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
4405
- module TaxType
4406
- extend MetronomeSDK::Internal::Type::Enum
4407
-
4408
- NONE = :NONE
4409
- STRIPE = :STRIPE
4410
- ANROK = :ANROK
4411
- PRECALCULATED = :PRECALCULATED
4412
-
4413
- # @!method self.values
4414
- # @return [Array<Symbol>]
4415
- end
2546
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil] List of filters that determine what kind of customer usage draws down a commit o
4416
2547
  end
4417
2548
  end
4418
2549
 
@@ -4679,9 +2810,8 @@ module MetronomeSDK
4679
2810
  class UpdateSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
4680
2811
  # @!attribute commit
4681
2812
  #
4682
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit, nil]
4683
- optional :commit,
4684
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit }
2813
+ # @return [MetronomeSDK::Models::UpdateBaseThresholdCommit, nil]
2814
+ optional :commit, -> { MetronomeSDK::UpdateBaseThresholdCommit }
4685
2815
 
4686
2816
  # @!attribute is_enabled
4687
2817
  # When set to false, the contract will not be evaluated against the
@@ -4693,9 +2823,8 @@ module MetronomeSDK
4693
2823
 
4694
2824
  # @!attribute payment_gate_config
4695
2825
  #
4696
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig, nil]
4697
- optional :payment_gate_config,
4698
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig }
2826
+ # @return [MetronomeSDK::Models::PaymentGateConfigV2, nil]
2827
+ optional :payment_gate_config, -> { MetronomeSDK::PaymentGateConfigV2 }
4699
2828
 
4700
2829
  # @!attribute threshold_amount
4701
2830
  # Specify the threshold amount for the contract. Each time the contract's usage
@@ -4709,198 +2838,13 @@ module MetronomeSDK
4709
2838
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration}
4710
2839
  # for more details.
4711
2840
  #
4712
- # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit]
2841
+ # @param commit [MetronomeSDK::Models::UpdateBaseThresholdCommit]
4713
2842
  #
4714
2843
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
4715
2844
  #
4716
- # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig]
2845
+ # @param payment_gate_config [MetronomeSDK::Models::PaymentGateConfigV2]
4717
2846
  #
4718
2847
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
4719
-
4720
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration#commit
4721
- class Commit < MetronomeSDK::Internal::Type::BaseModel
4722
- # @!attribute description
4723
- #
4724
- # @return [String, nil]
4725
- optional :description, String
4726
-
4727
- # @!attribute name
4728
- # Specify the name of the line item for the threshold charge. If left blank, it
4729
- # will default to the commit product name.
4730
- #
4731
- # @return [String, nil]
4732
- optional :name, String
4733
-
4734
- # @!attribute product_id
4735
- # The commit product that will be used to generate the line item for commit
4736
- # payment.
4737
- #
4738
- # @return [String, nil]
4739
- optional :product_id, String
4740
-
4741
- # @!method initialize(description: nil, name: nil, product_id: nil)
4742
- # Some parameter documentations has been truncated, see
4743
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit}
4744
- # for more details.
4745
- #
4746
- # @param description [String]
4747
- #
4748
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
4749
- #
4750
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
4751
- end
4752
-
4753
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration#payment_gate_config
4754
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
4755
- # @!attribute payment_gate_type
4756
- # Gate access to the commit balance based on successful collection of payment.
4757
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4758
- # facilitate payment using your own payment integration. Select NONE if you do not
4759
- # wish to payment gate the commit balance.
4760
- #
4761
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
4762
- required :payment_gate_type,
4763
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
4764
-
4765
- # @!attribute precalculated_tax_config
4766
- # Only applicable if using PRECALCULATED as your tax type.
4767
- #
4768
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
4769
- optional :precalculated_tax_config,
4770
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
4771
-
4772
- # @!attribute stripe_config
4773
- # Only applicable if using STRIPE as your payment gateway type.
4774
- #
4775
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
4776
- optional :stripe_config,
4777
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
4778
-
4779
- # @!attribute tax_type
4780
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4781
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4782
- # will default to NONE.
4783
- #
4784
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
4785
- optional :tax_type,
4786
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType }
4787
-
4788
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
4789
- # Some parameter documentations has been truncated, see
4790
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig}
4791
- # for more details.
4792
- #
4793
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4794
- #
4795
- # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
4796
- #
4797
- # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
4798
- #
4799
- # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4800
-
4801
- # Gate access to the commit balance based on successful collection of payment.
4802
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4803
- # facilitate payment using your own payment integration. Select NONE if you do not
4804
- # wish to payment gate the commit balance.
4805
- #
4806
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
4807
- module PaymentGateType
4808
- extend MetronomeSDK::Internal::Type::Enum
4809
-
4810
- NONE = :NONE
4811
- STRIPE = :STRIPE
4812
- EXTERNAL = :EXTERNAL
4813
-
4814
- # @!method self.values
4815
- # @return [Array<Symbol>]
4816
- end
4817
-
4818
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
4819
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4820
- # @!attribute tax_amount
4821
- # Amount of tax to be applied. This should be in the same currency and
4822
- # denomination as the commit's invoice schedule
4823
- #
4824
- # @return [Float]
4825
- required :tax_amount, Float
4826
-
4827
- # @!attribute tax_name
4828
- # Name of the tax to be applied. This may be used in an invoice line item
4829
- # description.
4830
- #
4831
- # @return [String, nil]
4832
- optional :tax_name, String
4833
-
4834
- # @!method initialize(tax_amount:, tax_name: nil)
4835
- # Some parameter documentations has been truncated, see
4836
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
4837
- # for more details.
4838
- #
4839
- # Only applicable if using PRECALCULATED as your tax type.
4840
- #
4841
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
4842
- #
4843
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
4844
- end
4845
-
4846
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#stripe_config
4847
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4848
- # @!attribute payment_type
4849
- # If left blank, will default to INVOICE
4850
- #
4851
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
4852
- required :payment_type,
4853
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
4854
-
4855
- # @!attribute invoice_metadata
4856
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4857
- # your payment type.
4858
- #
4859
- # @return [Hash{Symbol=>String}, nil]
4860
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
4861
-
4862
- # @!method initialize(payment_type:, invoice_metadata: nil)
4863
- # Some parameter documentations has been truncated, see
4864
- # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
4865
- # for more details.
4866
- #
4867
- # Only applicable if using STRIPE as your payment gateway type.
4868
- #
4869
- # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4870
- #
4871
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4872
-
4873
- # If left blank, will default to INVOICE
4874
- #
4875
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
4876
- module PaymentType
4877
- extend MetronomeSDK::Internal::Type::Enum
4878
-
4879
- INVOICE = :INVOICE
4880
- PAYMENT_INTENT = :PAYMENT_INTENT
4881
-
4882
- # @!method self.values
4883
- # @return [Array<Symbol>]
4884
- end
4885
- end
4886
-
4887
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4888
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4889
- # will default to NONE.
4890
- #
4891
- # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#tax_type
4892
- module TaxType
4893
- extend MetronomeSDK::Internal::Type::Enum
4894
-
4895
- NONE = :NONE
4896
- STRIPE = :STRIPE
4897
- ANROK = :ANROK
4898
- PRECALCULATED = :PRECALCULATED
4899
-
4900
- # @!method self.values
4901
- # @return [Array<Symbol>]
4902
- end
4903
- end
4904
2848
  end
4905
2849
 
4906
2850
  class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel