metronome-sdk 0.1.0.pre.alpha.2 → 0.1.0.pre.alpha.4

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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +85 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +22 -0
  7. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  8. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  9. data/lib/metronome_sdk/internal/type/array_of.rb +14 -1
  10. data/lib/metronome_sdk/internal/type/base_model.rb +92 -23
  11. data/lib/metronome_sdk/internal/type/boolean.rb +15 -1
  12. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -2
  14. data/lib/metronome_sdk/internal/type/file_input.rb +13 -1
  15. data/lib/metronome_sdk/internal/type/hash_of.rb +14 -1
  16. data/lib/metronome_sdk/internal/type/union.rb +27 -7
  17. data/lib/metronome_sdk/internal/type/unknown.rb +15 -1
  18. data/lib/metronome_sdk/internal/util.rb +62 -10
  19. data/lib/metronome_sdk/internal.rb +3 -0
  20. data/lib/metronome_sdk/models/commit.rb +230 -87
  21. data/lib/metronome_sdk/models/contract_without_amendments.rb +551 -185
  22. data/lib/metronome_sdk/models/credit.rb +201 -51
  23. data/lib/metronome_sdk/models/discount.rb +5 -5
  24. data/lib/metronome_sdk/models/event_type_filter.rb +1 -1
  25. data/lib/metronome_sdk/models/override.rb +53 -34
  26. data/lib/metronome_sdk/models/pro_service.rb +2 -2
  27. data/lib/metronome_sdk/models/property_filter.rb +1 -1
  28. data/lib/metronome_sdk/models/rate.rb +9 -9
  29. data/lib/metronome_sdk/models/schedule_duration.rb +4 -4
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +11 -11
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +5 -5
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +2 -2
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +15 -12
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +2 -2
  35. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +2 -2
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +2 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +4 -4
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -4
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +577 -152
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +2 -2
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +2 -2
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +2 -2
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +1317 -341
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +2 -2
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +3 -7
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +421 -36
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +28 -7
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +422 -36
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  55. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +2 -2
  57. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +2 -2
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +2 -2
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -6
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +2 -2
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +5 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  63. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -8
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -8
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +4 -4
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +2 -2
  67. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +3 -3
  68. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +3 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +2 -2
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +2 -2
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +4 -4
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +26 -5
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +4 -4
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +2 -2
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +2 -2
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +46 -18
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +36 -12
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +6 -6
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +26 -5
  87. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +12 -20
  88. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +2 -2
  90. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  91. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +6 -6
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +8 -8
  93. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +2 -2
  94. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +1 -1
  95. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  96. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  97. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  100. data/lib/metronome_sdk/models/v1/customer.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +2 -2
  102. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  103. data/lib/metronome_sdk/models/v1/customer_create_response.rb +2 -2
  104. data/lib/metronome_sdk/models/v1/customer_detail.rb +10 -10
  105. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +4 -4
  106. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  107. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  108. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +2 -2
  109. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  111. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +2 -2
  112. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  113. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +2 -2
  114. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  115. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  116. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  117. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  118. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +86 -32
  119. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +2 -2
  120. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +2 -2
  122. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  123. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +2 -2
  124. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +2 -2
  125. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +2 -2
  126. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +24 -24
  127. data/lib/metronome_sdk/models/v1/customers/invoice.rb +74 -73
  128. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  129. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  130. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +2 -2
  131. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  132. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +2 -2
  133. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -2
  134. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +14 -13
  135. data/lib/metronome_sdk/models/v1/plan_detail.rb +18 -18
  136. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +2 -2
  137. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -2
  138. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  139. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -2
  140. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +3 -3
  141. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +3 -3
  142. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  143. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  144. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  145. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  146. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  147. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +78 -23
  148. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +2 -2
  149. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +62 -9
  150. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +2 -2
  151. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1995 -443
  152. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +2 -2
  153. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1959 -140
  154. data/lib/metronome_sdk/models/v2/contract_list_response.rb +963 -91
  155. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +964 -91
  156. data/lib/metronome_sdk/models.rb +30 -19
  157. data/lib/metronome_sdk/resources/v1/alerts.rb +4 -4
  158. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  159. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  160. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  161. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  162. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  163. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  164. data/lib/metronome_sdk/resources/v1/contracts.rb +59 -28
  165. data/lib/metronome_sdk/resources/v1/credit_grants.rb +7 -5
  166. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  167. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  168. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  169. data/lib/metronome_sdk/resources/v1/customers/commits.rb +9 -7
  170. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  171. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +4 -4
  172. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  173. data/lib/metronome_sdk/resources/v1/customers.rb +43 -4
  174. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  175. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  176. data/lib/metronome_sdk/resources/v1/usage.rb +30 -5
  177. data/lib/metronome_sdk/resources/v2/contracts.rb +45 -31
  178. data/lib/metronome_sdk/version.rb +1 -1
  179. data/lib/metronome_sdk.rb +9 -1
  180. data/rbi/metronome_sdk/errors.rbi +16 -0
  181. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  182. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  183. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  184. data/rbi/metronome_sdk/internal/type/boolean.rbi +8 -0
  185. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  186. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  187. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  188. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  189. data/rbi/metronome_sdk/internal/type/union.rbi +10 -0
  190. data/rbi/metronome_sdk/internal/type/unknown.rbi +8 -0
  191. data/rbi/metronome_sdk/internal/util.rbi +36 -0
  192. data/rbi/metronome_sdk/internal.rbi +5 -0
  193. data/rbi/metronome_sdk/models/commit.rbi +376 -39
  194. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +791 -54
  195. data/rbi/metronome_sdk/models/credit.rbi +376 -25
  196. data/rbi/metronome_sdk/models/override.rbi +66 -0
  197. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +9 -9
  198. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +10 -4
  199. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +995 -17
  200. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +2220 -136
  201. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +9 -2
  202. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +820 -28
  203. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  204. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +66 -0
  205. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +820 -28
  206. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  207. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  208. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +66 -0
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +72 -0
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +72 -0
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +66 -0
  215. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  216. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  217. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  218. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  219. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +121 -8
  220. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  221. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  222. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  223. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  224. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +113 -8
  225. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +101 -0
  226. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3667 -315
  227. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +5965 -2014
  228. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2279 -226
  229. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2279 -226
  230. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -2
  231. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -1
  232. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  233. data/rbi/metronome_sdk/resources/v1/contracts.rbi +36 -1
  234. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  235. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +15 -4
  236. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  237. data/rbi/metronome_sdk/resources/v1/customers.rbi +35 -1
  238. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  239. data/rbi/metronome_sdk/resources/v2/contracts.rbi +65 -7
  240. data/sig/metronome_sdk/errors.rbs +9 -0
  241. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  242. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  243. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  244. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  245. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  246. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  247. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  248. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  249. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  250. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  251. data/sig/metronome_sdk/internal/util.rbs +12 -0
  252. data/sig/metronome_sdk/internal.rbs +2 -0
  253. data/sig/metronome_sdk/models/base_usage_filter.rbs +6 -0
  254. data/sig/metronome_sdk/models/commit.rbs +374 -68
  255. data/sig/metronome_sdk/models/contract_without_amendments.rbs +620 -110
  256. data/sig/metronome_sdk/models/credit.rbs +286 -40
  257. data/sig/metronome_sdk/models/credit_type_data.rbs +2 -0
  258. data/sig/metronome_sdk/models/discount.rbs +11 -0
  259. data/sig/metronome_sdk/models/event_type_filter.rbs +5 -0
  260. data/sig/metronome_sdk/models/id.rbs +2 -0
  261. data/sig/metronome_sdk/models/override.rbs +92 -22
  262. data/sig/metronome_sdk/models/pro_service.rbs +11 -0
  263. data/sig/metronome_sdk/models/property_filter.rbs +7 -0
  264. data/sig/metronome_sdk/models/rate.rbs +16 -4
  265. data/sig/metronome_sdk/models/schedule_duration.rbs +12 -0
  266. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +20 -6
  267. data/sig/metronome_sdk/models/scheduled_charge.rbs +12 -0
  268. data/sig/metronome_sdk/models/tier.rbs +2 -0
  269. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  270. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +2 -0
  271. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  272. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +2 -0
  273. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  274. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  275. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +2 -0
  276. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +2 -0
  277. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -0
  278. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  280. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +13 -0
  281. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  282. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +17 -0
  283. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +719 -75
  285. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +2 -0
  286. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  287. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +2 -0
  288. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  289. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +2 -0
  290. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1503 -250
  291. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +2 -0
  292. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  293. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +5 -0
  294. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  295. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +459 -10
  296. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  297. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  298. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +48 -0
  299. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +459 -10
  300. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  301. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  302. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  303. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +2 -0
  304. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  305. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  306. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +2 -0
  307. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  308. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  309. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  310. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  311. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +2 -0
  312. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +18 -0
  313. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +2 -0
  314. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +19 -0
  315. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  316. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +29 -0
  317. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +2 -0
  318. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +33 -0
  319. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +19 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +2 -0
  321. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +10 -4
  322. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +9 -4
  323. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +2 -0
  324. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +2 -0
  325. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  326. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +2 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +23 -0
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +2 -0
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +46 -0
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +27 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +2 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +2 -0
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +2 -0
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +59 -8
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +2 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +51 -4
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +23 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +41 -0
  348. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +32 -4
  349. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +2 -0
  350. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  351. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +2 -0
  352. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +29 -0
  353. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +30 -0
  354. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +38 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  357. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +2 -0
  358. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +10 -0
  359. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  360. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  361. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  362. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  363. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  364. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  365. data/sig/metronome_sdk/models/v1/customer.rbs +8 -0
  366. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +2 -0
  367. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +2 -0
  368. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  369. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +2 -0
  370. data/sig/metronome_sdk/models/v1/customer_detail.rbs +23 -4
  371. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  372. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +17 -0
  373. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  374. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  375. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  376. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  377. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  378. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  379. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +2 -0
  380. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  381. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  382. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +2 -0
  383. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  384. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  385. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +5 -0
  386. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  388. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +2 -0
  389. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  390. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  391. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +23 -0
  393. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  394. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +2 -0
  395. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +5 -0
  397. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  398. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +2 -0
  399. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  400. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +2 -0
  401. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  402. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +5 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  404. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +2 -0
  405. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +45 -16
  406. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +195 -40
  407. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +5 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  412. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +2 -0
  414. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  417. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  418. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +2 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  420. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  421. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +23 -0
  425. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +30 -7
  426. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  427. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  428. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/plan_detail.rbs +38 -0
  432. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +2 -0
  434. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +28 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +14 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  439. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  440. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  442. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +12 -4
  443. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +9 -4
  444. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  445. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  446. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  450. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  451. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  452. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  453. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +106 -1
  454. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +2 -0
  455. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +81 -1
  456. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +2 -0
  457. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2233 -303
  458. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +2 -0
  459. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  460. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2475 -453
  461. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  462. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1400 -43
  463. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  464. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1400 -43
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +10 -0
  467. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  468. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  470. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +8 -0
  473. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  474. data/sig/metronome_sdk/resources/v2/contracts.rbs +8 -1
  475. metadata +20 -2
@@ -16,17 +16,22 @@ module MetronomeSDK
16
16
  add_reseller_royalties: ::Array[MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty],
17
17
  add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
18
18
  add_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration,
19
+ add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
19
20
  allow_contract_ending_before_finalized_invoice: bool,
20
21
  archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
21
22
  archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
22
23
  archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
23
24
  remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
24
25
  update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
25
- update_contract_end_date: Time,
26
+ update_contract_end_date: Time?,
27
+ update_contract_name: String?,
26
28
  update_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit],
27
29
  update_prepaid_balance_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration,
30
+ update_recurring_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit],
31
+ update_recurring_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit],
28
32
  update_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge],
29
- update_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration
33
+ update_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration,
34
+ update_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]
30
35
  }
31
36
  & MetronomeSDK::Internal::Type::request_parameters
32
37
 
@@ -104,6 +109,12 @@ module MetronomeSDK
104
109
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration
105
110
  ) -> MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration
106
111
 
112
+ attr_reader add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription]?
113
+
114
+ def add_subscriptions=: (
115
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription]
116
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription]
117
+
107
118
  attr_reader allow_contract_ending_before_finalized_invoice: bool?
108
119
 
109
120
  def allow_contract_ending_before_finalized_invoice=: (bool) -> bool
@@ -138,9 +149,9 @@ module MetronomeSDK
138
149
  ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit]
139
150
  ) -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit]
140
151
 
141
- attr_reader update_contract_end_date: Time?
152
+ attr_accessor update_contract_end_date: Time?
142
153
 
143
- def update_contract_end_date=: (Time) -> Time
154
+ attr_accessor update_contract_name: String?
144
155
 
145
156
  attr_reader update_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit]?
146
157
 
@@ -154,6 +165,18 @@ module MetronomeSDK
154
165
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration
155
166
  ) -> MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration
156
167
 
168
+ attr_reader update_recurring_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit]?
169
+
170
+ def update_recurring_commits=: (
171
+ ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit]
172
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit]
173
+
174
+ attr_reader update_recurring_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit]?
175
+
176
+ def update_recurring_credits=: (
177
+ ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit]
178
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit]
179
+
157
180
  attr_reader update_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge]?
158
181
 
159
182
  def update_scheduled_charges=: (
@@ -166,6 +189,12 @@ module MetronomeSDK
166
189
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration
167
190
  ) -> MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration
168
191
 
192
+ attr_reader update_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]?
193
+
194
+ def update_subscriptions=: (
195
+ ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]
196
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]
197
+
169
198
  def initialize: (
170
199
  contract_id: String,
171
200
  customer_id: String,
@@ -180,44 +209,84 @@ module MetronomeSDK
180
209
  ?add_reseller_royalties: ::Array[MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty],
181
210
  ?add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
182
211
  ?add_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration,
212
+ ?add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
183
213
  ?allow_contract_ending_before_finalized_invoice: bool,
184
214
  ?archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
185
215
  ?archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
186
216
  ?archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
187
217
  ?remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
188
218
  ?update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
189
- ?update_contract_end_date: Time,
219
+ ?update_contract_end_date: Time?,
220
+ ?update_contract_name: String?,
190
221
  ?update_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit],
191
222
  ?update_prepaid_balance_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration,
223
+ ?update_recurring_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit],
224
+ ?update_recurring_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit],
192
225
  ?update_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge],
193
226
  ?update_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration,
227
+ ?update_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription],
194
228
  ?request_options: MetronomeSDK::request_opts
195
229
  ) -> void
196
230
 
231
+ def to_hash: -> {
232
+ contract_id: String,
233
+ customer_id: String,
234
+ add_commits: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit],
235
+ add_credits: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit],
236
+ add_discounts: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount],
237
+ add_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride],
238
+ add_prepaid_balance_threshold_configuration: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration,
239
+ add_professional_services: ::Array[MetronomeSDK::V2::ContractEditParams::AddProfessionalService],
240
+ add_recurring_commits: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit],
241
+ add_recurring_credits: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit],
242
+ add_reseller_royalties: ::Array[MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty],
243
+ add_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge],
244
+ add_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration,
245
+ add_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
246
+ allow_contract_ending_before_finalized_invoice: bool,
247
+ archive_commits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
248
+ archive_credits: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCredit],
249
+ archive_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge],
250
+ remove_overrides: ::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
251
+ update_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
252
+ update_contract_end_date: Time?,
253
+ update_contract_name: String?,
254
+ update_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit],
255
+ update_prepaid_balance_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration,
256
+ update_recurring_commits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit],
257
+ update_recurring_credits: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit],
258
+ update_scheduled_charges: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge],
259
+ update_spend_threshold_configuration: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration,
260
+ update_subscriptions: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription],
261
+ request_options: MetronomeSDK::RequestOptions
262
+ }
263
+
197
264
  type add_commit =
198
265
  {
199
266
  product_id: String,
200
- type: MetronomeSDK::V2::ContractEditParams::AddCommit::type_,
267
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::type_,
201
268
  access_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule,
202
269
  amount: Float,
203
270
  applicable_product_ids: ::Array[String],
204
271
  applicable_product_tags: ::Array[String],
205
272
  custom_fields: ::Hash[Symbol, String],
206
273
  description: String,
274
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration,
207
275
  invoice_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule,
208
276
  name: String,
209
277
  netsuite_sales_order_id: String,
210
278
  payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig,
211
279
  priority: Float,
212
- rate_type: MetronomeSDK::V2::ContractEditParams::AddCommit::rate_type,
280
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
213
281
  rollover_fraction: Float,
282
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier],
214
283
  temporary_id: String
215
284
  }
216
285
 
217
286
  class AddCommit < MetronomeSDK::Internal::Type::BaseModel
218
287
  attr_accessor product_id: String
219
288
 
220
- attr_accessor type: MetronomeSDK::V2::ContractEditParams::AddCommit::type_
289
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::type_
221
290
 
222
291
  attr_reader access_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule?
223
292
 
@@ -245,6 +314,12 @@ module MetronomeSDK
245
314
 
246
315
  def description=: (String) -> String
247
316
 
317
+ attr_reader hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration?
318
+
319
+ def hierarchy_configuration=: (
320
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration
321
+ ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration
322
+
248
323
  attr_reader invoice_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule?
249
324
 
250
325
  def invoice_schedule=: (
@@ -269,39 +344,68 @@ module MetronomeSDK
269
344
 
270
345
  def priority=: (Float) -> Float
271
346
 
272
- attr_reader rate_type: MetronomeSDK::V2::ContractEditParams::AddCommit::rate_type?
347
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type?
273
348
 
274
349
  def rate_type=: (
275
- MetronomeSDK::V2::ContractEditParams::AddCommit::rate_type
276
- ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::rate_type
350
+ MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type
351
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type
277
352
 
278
353
  attr_reader rollover_fraction: Float?
279
354
 
280
355
  def rollover_fraction=: (Float) -> Float
281
356
 
357
+ attr_reader specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier]?
358
+
359
+ def specifiers=: (
360
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier]
361
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier]
362
+
282
363
  attr_reader temporary_id: String?
283
364
 
284
365
  def temporary_id=: (String) -> String
285
366
 
286
367
  def initialize: (
287
368
  product_id: String,
288
- type: MetronomeSDK::V2::ContractEditParams::AddCommit::type_,
369
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::type_,
289
370
  ?access_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule,
290
371
  ?amount: Float,
291
372
  ?applicable_product_ids: ::Array[String],
292
373
  ?applicable_product_tags: ::Array[String],
293
374
  ?custom_fields: ::Hash[Symbol, String],
294
375
  ?description: String,
376
+ ?hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration,
295
377
  ?invoice_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule,
296
378
  ?name: String,
297
379
  ?netsuite_sales_order_id: String,
298
380
  ?payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig,
299
381
  ?priority: Float,
300
- ?rate_type: MetronomeSDK::V2::ContractEditParams::AddCommit::rate_type,
382
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
301
383
  ?rollover_fraction: Float,
384
+ ?specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier],
302
385
  ?temporary_id: String
303
386
  ) -> void
304
387
 
388
+ def to_hash: -> {
389
+ product_id: String,
390
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::type_,
391
+ access_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule,
392
+ amount: Float,
393
+ applicable_product_ids: ::Array[String],
394
+ applicable_product_tags: ::Array[String],
395
+ custom_fields: ::Hash[Symbol, String],
396
+ description: String,
397
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration,
398
+ invoice_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule,
399
+ name: String,
400
+ netsuite_sales_order_id: String,
401
+ payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig,
402
+ priority: Float,
403
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type,
404
+ rollover_fraction: Float,
405
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier],
406
+ temporary_id: String
407
+ }
408
+
305
409
  type type_ = :PREPAID | :POSTPAID
306
410
 
307
411
  module Type
@@ -310,7 +414,7 @@ module MetronomeSDK
310
414
  PREPAID: :PREPAID
311
415
  POSTPAID: :POSTPAID
312
416
 
313
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::type_]
417
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::type_]
314
418
  end
315
419
 
316
420
  type access_schedule =
@@ -331,6 +435,11 @@ module MetronomeSDK
331
435
  ?credit_type_id: String
332
436
  ) -> void
333
437
 
438
+ def to_hash: -> {
439
+ schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem],
440
+ credit_type_id: String
441
+ }
442
+
334
443
  type schedule_item =
335
444
  { amount: Float, ending_before: Time, starting_at: Time }
336
445
 
@@ -346,6 +455,126 @@ module MetronomeSDK
346
455
  ending_before: Time,
347
456
  starting_at: Time
348
457
  ) -> void
458
+
459
+ def to_hash: -> {
460
+ amount: Float,
461
+ ending_before: Time,
462
+ starting_at: Time
463
+ }
464
+ end
465
+ end
466
+
467
+ type hierarchy_configuration =
468
+ {
469
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::child_access
470
+ }
471
+
472
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
473
+ attr_accessor child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::child_access
474
+
475
+ def initialize: (
476
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::child_access
477
+ ) -> void
478
+
479
+ def to_hash: -> {
480
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::child_access
481
+ }
482
+
483
+ type child_access =
484
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
485
+ | MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
486
+ | MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
487
+
488
+ module ChildAccess
489
+ extend MetronomeSDK::Internal::Type::Union
490
+
491
+ type commit_hierarchy_child_access_all =
492
+ {
493
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
494
+ }
495
+
496
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
497
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
498
+
499
+ def initialize: (
500
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
501
+ ) -> void
502
+
503
+ def to_hash: -> {
504
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
505
+ }
506
+
507
+ type type_ = :ALL
508
+
509
+ module Type
510
+ extend MetronomeSDK::Internal::Type::Enum
511
+
512
+ ALL: :ALL
513
+
514
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
515
+ end
516
+ end
517
+
518
+ type commit_hierarchy_child_access_none =
519
+ {
520
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
521
+ }
522
+
523
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
524
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
525
+
526
+ def initialize: (
527
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
528
+ ) -> void
529
+
530
+ def to_hash: -> {
531
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
532
+ }
533
+
534
+ type type_ = :NONE
535
+
536
+ module Type
537
+ extend MetronomeSDK::Internal::Type::Enum
538
+
539
+ NONE: :NONE
540
+
541
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
542
+ end
543
+ end
544
+
545
+ type commit_hierarchy_child_access_contract_ids =
546
+ {
547
+ contract_ids: ::Array[String],
548
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
549
+ }
550
+
551
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
552
+ attr_accessor contract_ids: ::Array[String]
553
+
554
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
555
+
556
+ def initialize: (
557
+ contract_ids: ::Array[String],
558
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
559
+ ) -> void
560
+
561
+ def to_hash: -> {
562
+ contract_ids: ::Array[String],
563
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
564
+ }
565
+
566
+ type type_ = :CONTRACT_IDS
567
+
568
+ module Type
569
+ extend MetronomeSDK::Internal::Type::Enum
570
+
571
+ CONTRACT_IDS: :CONTRACT_IDS
572
+
573
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
574
+ end
575
+ end
576
+
577
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::child_access]
349
578
  end
350
579
  end
351
580
 
@@ -379,11 +608,17 @@ module MetronomeSDK
379
608
  ?schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem]
380
609
  ) -> void
381
610
 
611
+ def to_hash: -> {
612
+ credit_type_id: String,
613
+ recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule,
614
+ schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem]
615
+ }
616
+
382
617
  type recurring_schedule =
383
618
  {
384
- amount_distribution: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution,
619
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution,
385
620
  ending_before: Time,
386
- frequency: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency,
621
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency,
387
622
  starting_at: Time,
388
623
  amount: Float,
389
624
  quantity: Float,
@@ -391,11 +626,11 @@ module MetronomeSDK
391
626
  }
392
627
 
393
628
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
394
- attr_accessor amount_distribution: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution
629
+ attr_accessor amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution
395
630
 
396
631
  attr_accessor ending_before: Time
397
632
 
398
- attr_accessor frequency: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency
633
+ attr_accessor frequency: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency
399
634
 
400
635
  attr_accessor starting_at: Time
401
636
 
@@ -412,15 +647,25 @@ module MetronomeSDK
412
647
  def unit_price=: (Float) -> Float
413
648
 
414
649
  def initialize: (
415
- amount_distribution: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution,
650
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution,
416
651
  ending_before: Time,
417
- frequency: MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency,
652
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency,
418
653
  starting_at: Time,
419
654
  ?amount: Float,
420
655
  ?quantity: Float,
421
656
  ?unit_price: Float
422
657
  ) -> void
423
658
 
659
+ def to_hash: -> {
660
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution,
661
+ ending_before: Time,
662
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency,
663
+ starting_at: Time,
664
+ amount: Float,
665
+ quantity: Float,
666
+ unit_price: Float
667
+ }
668
+
424
669
  type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
425
670
 
426
671
  module AmountDistribution
@@ -430,7 +675,7 @@ module MetronomeSDK
430
675
  DIVIDED_ROUNDED: :DIVIDED_ROUNDED
431
676
  EACH: :EACH
432
677
 
433
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution]
678
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::amount_distribution]
434
679
  end
435
680
 
436
681
  type frequency =
@@ -445,7 +690,7 @@ module MetronomeSDK
445
690
  ANNUAL: :ANNUAL
446
691
  WEEKLY: :WEEKLY
447
692
 
448
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency]
693
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::frequency]
449
694
  end
450
695
  end
451
696
 
@@ -478,18 +723,32 @@ module MetronomeSDK
478
723
  ?quantity: Float,
479
724
  ?unit_price: Float
480
725
  ) -> void
726
+
727
+ def to_hash: -> {
728
+ timestamp: Time,
729
+ amount: Float,
730
+ quantity: Float,
731
+ unit_price: Float
732
+ }
481
733
  end
482
734
  end
483
735
 
484
736
  type payment_gate_config =
485
737
  {
486
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type,
738
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type,
739
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig,
487
740
  stripe_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig,
488
- tax_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
741
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
489
742
  }
490
743
 
491
744
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
492
- attr_accessor payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type
745
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type
746
+
747
+ attr_reader precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig?
748
+
749
+ def precalculated_tax_config=: (
750
+ MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig
751
+ ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig
493
752
 
494
753
  attr_reader stripe_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig?
495
754
 
@@ -497,18 +756,26 @@ module MetronomeSDK
497
756
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig
498
757
  ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig
499
758
 
500
- attr_reader tax_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type?
759
+ attr_reader tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type?
501
760
 
502
761
  def tax_type=: (
503
- MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
504
- ) -> MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
762
+ MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
763
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
505
764
 
506
765
  def initialize: (
507
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type,
766
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type,
767
+ ?precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig,
508
768
  ?stripe_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig,
509
- ?tax_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
769
+ ?tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
510
770
  ) -> void
511
771
 
772
+ def to_hash: -> {
773
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type,
774
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig,
775
+ stripe_config: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig,
776
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type
777
+ }
778
+
512
779
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
513
780
 
514
781
  module PaymentGateType
@@ -518,21 +785,49 @@ module MetronomeSDK
518
785
  STRIPE: :STRIPE
519
786
  EXTERNAL: :EXTERNAL
520
787
 
521
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type]
788
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::payment_gate_type]
789
+ end
790
+
791
+ type precalculated_tax_config =
792
+ { tax_amount: Float, tax_name: String }
793
+
794
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
795
+ attr_accessor tax_amount: Float
796
+
797
+ attr_reader tax_name: String?
798
+
799
+ def tax_name=: (String) -> String
800
+
801
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
802
+
803
+ def to_hash: -> { tax_amount: Float, tax_name: String }
522
804
  end
523
805
 
524
806
  type stripe_config =
525
807
  {
526
- payment_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type
808
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type,
809
+ invoice_metadata: ::Hash[Symbol, String]
527
810
  }
528
811
 
529
812
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
530
- attr_accessor payment_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type
813
+ attr_accessor payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type
814
+
815
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
816
+
817
+ def invoice_metadata=: (
818
+ ::Hash[Symbol, String]
819
+ ) -> ::Hash[Symbol, String]
531
820
 
532
821
  def initialize: (
533
- payment_type: MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type
822
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type,
823
+ ?invoice_metadata: ::Hash[Symbol, String]
534
824
  ) -> void
535
825
 
826
+ def to_hash: -> {
827
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type,
828
+ invoice_metadata: ::Hash[Symbol, String]
829
+ }
830
+
536
831
  type payment_type = :INVOICE | :PAYMENT_INTENT
537
832
 
538
833
  module PaymentType
@@ -541,19 +836,21 @@ module MetronomeSDK
541
836
  INVOICE: :INVOICE
542
837
  PAYMENT_INTENT: :PAYMENT_INTENT
543
838
 
544
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type]
839
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::payment_type]
545
840
  end
546
841
  end
547
842
 
548
- type tax_type = :NONE | :STRIPE
843
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
549
844
 
550
845
  module TaxType
551
846
  extend MetronomeSDK::Internal::Type::Enum
552
847
 
553
848
  NONE: :NONE
554
849
  STRIPE: :STRIPE
850
+ ANROK: :ANROK
851
+ PRECALCULATED: :PRECALCULATED
555
852
 
556
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type]
853
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::tax_type]
557
854
  end
558
855
  end
559
856
 
@@ -565,7 +862,51 @@ module MetronomeSDK
565
862
  COMMIT_RATE: :COMMIT_RATE
566
863
  LIST_RATE: :LIST_RATE
567
864
 
568
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCommit::rate_type]
865
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCommit::rate_type]
866
+ end
867
+
868
+ type specifier =
869
+ {
870
+ presentation_group_values: ::Hash[Symbol, String],
871
+ pricing_group_values: ::Hash[Symbol, String],
872
+ product_id: String,
873
+ product_tags: ::Array[String]
874
+ }
875
+
876
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
877
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
878
+
879
+ def presentation_group_values=: (
880
+ ::Hash[Symbol, String]
881
+ ) -> ::Hash[Symbol, String]
882
+
883
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
884
+
885
+ def pricing_group_values=: (
886
+ ::Hash[Symbol, String]
887
+ ) -> ::Hash[Symbol, String]
888
+
889
+ attr_reader product_id: String?
890
+
891
+ def product_id=: (String) -> String
892
+
893
+ attr_reader product_tags: ::Array[String]?
894
+
895
+ def product_tags=: (::Array[String]) -> ::Array[String]
896
+
897
+ def initialize: (
898
+ ?presentation_group_values: ::Hash[Symbol, String],
899
+ ?pricing_group_values: ::Hash[Symbol, String],
900
+ ?product_id: String,
901
+ ?product_tags: ::Array[String]
902
+ ) -> void
903
+
904
+ def to_hash: -> {
905
+ presentation_group_values: ::Hash[Symbol, String],
906
+ pricing_group_values: ::Hash[Symbol, String],
907
+ product_id: String,
908
+ product_tags: ::Array[String]
909
+ }
569
910
  end
570
911
  end
571
912
 
@@ -577,10 +918,12 @@ module MetronomeSDK
577
918
  applicable_product_tags: ::Array[String],
578
919
  custom_fields: ::Hash[Symbol, String],
579
920
  description: String,
921
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration,
580
922
  name: String,
581
923
  netsuite_sales_order_id: String,
582
924
  priority: Float,
583
- rate_type: MetronomeSDK::V2::ContractEditParams::AddCredit::rate_type
925
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type,
926
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
584
927
  }
585
928
 
586
929
  class AddCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -604,6 +947,12 @@ module MetronomeSDK
604
947
 
605
948
  def description=: (String) -> String
606
949
 
950
+ attr_reader hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration?
951
+
952
+ def hierarchy_configuration=: (
953
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration
954
+ ) -> MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration
955
+
607
956
  attr_reader name: String?
608
957
 
609
958
  def name=: (String) -> String
@@ -616,11 +965,17 @@ module MetronomeSDK
616
965
 
617
966
  def priority=: (Float) -> Float
618
967
 
619
- attr_reader rate_type: MetronomeSDK::V2::ContractEditParams::AddCredit::rate_type?
968
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type?
620
969
 
621
970
  def rate_type=: (
622
- MetronomeSDK::V2::ContractEditParams::AddCredit::rate_type
623
- ) -> MetronomeSDK::V2::ContractEditParams::AddCredit::rate_type
971
+ MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type
972
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type
973
+
974
+ attr_reader specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]?
975
+
976
+ def specifiers=: (
977
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
978
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
624
979
 
625
980
  def initialize: (
626
981
  access_schedule: MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule,
@@ -629,12 +984,29 @@ module MetronomeSDK
629
984
  ?applicable_product_tags: ::Array[String],
630
985
  ?custom_fields: ::Hash[Symbol, String],
631
986
  ?description: String,
987
+ ?hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration,
632
988
  ?name: String,
633
989
  ?netsuite_sales_order_id: String,
634
990
  ?priority: Float,
635
- ?rate_type: MetronomeSDK::V2::ContractEditParams::AddCredit::rate_type
991
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type,
992
+ ?specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
636
993
  ) -> void
637
994
 
995
+ def to_hash: -> {
996
+ access_schedule: MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule,
997
+ product_id: String,
998
+ applicable_product_ids: ::Array[String],
999
+ applicable_product_tags: ::Array[String],
1000
+ custom_fields: ::Hash[Symbol, String],
1001
+ description: String,
1002
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration,
1003
+ name: String,
1004
+ netsuite_sales_order_id: String,
1005
+ priority: Float,
1006
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type,
1007
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
1008
+ }
1009
+
638
1010
  type access_schedule =
639
1011
  {
640
1012
  schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem],
@@ -653,6 +1025,11 @@ module MetronomeSDK
653
1025
  ?credit_type_id: String
654
1026
  ) -> void
655
1027
 
1028
+ def to_hash: -> {
1029
+ schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem],
1030
+ credit_type_id: String
1031
+ }
1032
+
656
1033
  type schedule_item =
657
1034
  { amount: Float, ending_before: Time, starting_at: Time }
658
1035
 
@@ -668,90 +1045,268 @@ module MetronomeSDK
668
1045
  ending_before: Time,
669
1046
  starting_at: Time
670
1047
  ) -> void
1048
+
1049
+ def to_hash: -> {
1050
+ amount: Float,
1051
+ ending_before: Time,
1052
+ starting_at: Time
1053
+ }
671
1054
  end
672
1055
  end
673
1056
 
674
- type rate_type = :COMMIT_RATE | :LIST_RATE
1057
+ type hierarchy_configuration =
1058
+ {
1059
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::child_access
1060
+ }
675
1061
 
676
- module RateType
677
- extend MetronomeSDK::Internal::Type::Enum
1062
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1063
+ attr_accessor child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::child_access
678
1064
 
679
- COMMIT_RATE: :COMMIT_RATE
680
- LIST_RATE: :LIST_RATE
1065
+ def initialize: (
1066
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::child_access
1067
+ ) -> void
681
1068
 
682
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddCredit::rate_type]
683
- end
684
- end
1069
+ def to_hash: -> {
1070
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::child_access
1071
+ }
685
1072
 
686
- type add_discount =
687
- {
688
- product_id: String,
689
- schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule,
690
- custom_fields: ::Hash[Symbol, String],
691
- name: String,
692
- netsuite_sales_order_id: String
693
- }
1073
+ type child_access =
1074
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1075
+ | MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1076
+ | MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
694
1077
 
695
- class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
696
- attr_accessor product_id: String
1078
+ module ChildAccess
1079
+ extend MetronomeSDK::Internal::Type::Union
697
1080
 
698
- attr_accessor schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule
1081
+ type commit_hierarchy_child_access_all =
1082
+ {
1083
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1084
+ }
699
1085
 
700
- attr_reader custom_fields: ::Hash[Symbol, String]?
1086
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1087
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
701
1088
 
702
- def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
1089
+ def initialize: (
1090
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1091
+ ) -> void
703
1092
 
704
- attr_reader name: String?
1093
+ def to_hash: -> {
1094
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1095
+ }
705
1096
 
706
- def name=: (String) -> String
1097
+ type type_ = :ALL
707
1098
 
708
- attr_reader netsuite_sales_order_id: String?
1099
+ module Type
1100
+ extend MetronomeSDK::Internal::Type::Enum
709
1101
 
710
- def netsuite_sales_order_id=: (String) -> String
1102
+ ALL: :ALL
711
1103
 
712
- def initialize: (
713
- product_id: String,
714
- schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule,
715
- ?custom_fields: ::Hash[Symbol, String],
716
- ?name: String,
717
- ?netsuite_sales_order_id: String
718
- ) -> void
1104
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
1105
+ end
1106
+ end
719
1107
 
720
- type schedule =
721
- {
722
- credit_type_id: String,
723
- recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule,
724
- schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
725
- }
1108
+ type commit_hierarchy_child_access_none =
1109
+ {
1110
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1111
+ }
726
1112
 
727
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
728
- attr_reader credit_type_id: String?
1113
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1114
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
729
1115
 
730
- def credit_type_id=: (String) -> String
1116
+ def initialize: (
1117
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1118
+ ) -> void
731
1119
 
732
- attr_reader recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule?
1120
+ def to_hash: -> {
1121
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1122
+ }
733
1123
 
734
- def recurring_schedule=: (
735
- MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule
736
- ) -> MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule
1124
+ type type_ = :NONE
737
1125
 
738
- attr_reader schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]?
1126
+ module Type
1127
+ extend MetronomeSDK::Internal::Type::Enum
739
1128
 
740
- def schedule_items=: (
741
- ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
742
- ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
1129
+ NONE: :NONE
743
1130
 
744
- def initialize: (
745
- ?credit_type_id: String,
746
- ?recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule,
1131
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
1132
+ end
1133
+ end
1134
+
1135
+ type commit_hierarchy_child_access_contract_ids =
1136
+ {
1137
+ contract_ids: ::Array[String],
1138
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1139
+ }
1140
+
1141
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1142
+ attr_accessor contract_ids: ::Array[String]
1143
+
1144
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1145
+
1146
+ def initialize: (
1147
+ contract_ids: ::Array[String],
1148
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1149
+ ) -> void
1150
+
1151
+ def to_hash: -> {
1152
+ contract_ids: ::Array[String],
1153
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1154
+ }
1155
+
1156
+ type type_ = :CONTRACT_IDS
1157
+
1158
+ module Type
1159
+ extend MetronomeSDK::Internal::Type::Enum
1160
+
1161
+ CONTRACT_IDS: :CONTRACT_IDS
1162
+
1163
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
1164
+ end
1165
+ end
1166
+
1167
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::child_access]
1168
+ end
1169
+ end
1170
+
1171
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1172
+
1173
+ module RateType
1174
+ extend MetronomeSDK::Internal::Type::Enum
1175
+
1176
+ COMMIT_RATE: :COMMIT_RATE
1177
+ LIST_RATE: :LIST_RATE
1178
+
1179
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddCredit::rate_type]
1180
+ end
1181
+
1182
+ type specifier =
1183
+ {
1184
+ presentation_group_values: ::Hash[Symbol, String],
1185
+ pricing_group_values: ::Hash[Symbol, String],
1186
+ product_id: String,
1187
+ product_tags: ::Array[String]
1188
+ }
1189
+
1190
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1191
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1192
+
1193
+ def presentation_group_values=: (
1194
+ ::Hash[Symbol, String]
1195
+ ) -> ::Hash[Symbol, String]
1196
+
1197
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1198
+
1199
+ def pricing_group_values=: (
1200
+ ::Hash[Symbol, String]
1201
+ ) -> ::Hash[Symbol, String]
1202
+
1203
+ attr_reader product_id: String?
1204
+
1205
+ def product_id=: (String) -> String
1206
+
1207
+ attr_reader product_tags: ::Array[String]?
1208
+
1209
+ def product_tags=: (::Array[String]) -> ::Array[String]
1210
+
1211
+ def initialize: (
1212
+ ?presentation_group_values: ::Hash[Symbol, String],
1213
+ ?pricing_group_values: ::Hash[Symbol, String],
1214
+ ?product_id: String,
1215
+ ?product_tags: ::Array[String]
1216
+ ) -> void
1217
+
1218
+ def to_hash: -> {
1219
+ presentation_group_values: ::Hash[Symbol, String],
1220
+ pricing_group_values: ::Hash[Symbol, String],
1221
+ product_id: String,
1222
+ product_tags: ::Array[String]
1223
+ }
1224
+ end
1225
+ end
1226
+
1227
+ type add_discount =
1228
+ {
1229
+ product_id: String,
1230
+ schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule,
1231
+ custom_fields: ::Hash[Symbol, String],
1232
+ name: String,
1233
+ netsuite_sales_order_id: String
1234
+ }
1235
+
1236
+ class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
1237
+ attr_accessor product_id: String
1238
+
1239
+ attr_accessor schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule
1240
+
1241
+ attr_reader custom_fields: ::Hash[Symbol, String]?
1242
+
1243
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
1244
+
1245
+ attr_reader name: String?
1246
+
1247
+ def name=: (String) -> String
1248
+
1249
+ attr_reader netsuite_sales_order_id: String?
1250
+
1251
+ def netsuite_sales_order_id=: (String) -> String
1252
+
1253
+ def initialize: (
1254
+ product_id: String,
1255
+ schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule,
1256
+ ?custom_fields: ::Hash[Symbol, String],
1257
+ ?name: String,
1258
+ ?netsuite_sales_order_id: String
1259
+ ) -> void
1260
+
1261
+ def to_hash: -> {
1262
+ product_id: String,
1263
+ schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule,
1264
+ custom_fields: ::Hash[Symbol, String],
1265
+ name: String,
1266
+ netsuite_sales_order_id: String
1267
+ }
1268
+
1269
+ type schedule =
1270
+ {
1271
+ credit_type_id: String,
1272
+ recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule,
1273
+ schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
1274
+ }
1275
+
1276
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
1277
+ attr_reader credit_type_id: String?
1278
+
1279
+ def credit_type_id=: (String) -> String
1280
+
1281
+ attr_reader recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule?
1282
+
1283
+ def recurring_schedule=: (
1284
+ MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule
1285
+ ) -> MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule
1286
+
1287
+ attr_reader schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]?
1288
+
1289
+ def schedule_items=: (
1290
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
1291
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
1292
+
1293
+ def initialize: (
1294
+ ?credit_type_id: String,
1295
+ ?recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule,
747
1296
  ?schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
748
1297
  ) -> void
749
1298
 
1299
+ def to_hash: -> {
1300
+ credit_type_id: String,
1301
+ recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule,
1302
+ schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
1303
+ }
1304
+
750
1305
  type recurring_schedule =
751
1306
  {
752
- amount_distribution: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution,
1307
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution,
753
1308
  ending_before: Time,
754
- frequency: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency,
1309
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency,
755
1310
  starting_at: Time,
756
1311
  amount: Float,
757
1312
  quantity: Float,
@@ -759,11 +1314,11 @@ module MetronomeSDK
759
1314
  }
760
1315
 
761
1316
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
762
- attr_accessor amount_distribution: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution
1317
+ attr_accessor amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution
763
1318
 
764
1319
  attr_accessor ending_before: Time
765
1320
 
766
- attr_accessor frequency: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency
1321
+ attr_accessor frequency: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency
767
1322
 
768
1323
  attr_accessor starting_at: Time
769
1324
 
@@ -780,15 +1335,25 @@ module MetronomeSDK
780
1335
  def unit_price=: (Float) -> Float
781
1336
 
782
1337
  def initialize: (
783
- amount_distribution: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution,
1338
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution,
784
1339
  ending_before: Time,
785
- frequency: MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency,
1340
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency,
786
1341
  starting_at: Time,
787
1342
  ?amount: Float,
788
1343
  ?quantity: Float,
789
1344
  ?unit_price: Float
790
1345
  ) -> void
791
1346
 
1347
+ def to_hash: -> {
1348
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution,
1349
+ ending_before: Time,
1350
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency,
1351
+ starting_at: Time,
1352
+ amount: Float,
1353
+ quantity: Float,
1354
+ unit_price: Float
1355
+ }
1356
+
792
1357
  type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
793
1358
 
794
1359
  module AmountDistribution
@@ -798,7 +1363,7 @@ module MetronomeSDK
798
1363
  DIVIDED_ROUNDED: :DIVIDED_ROUNDED
799
1364
  EACH: :EACH
800
1365
 
801
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution]
1366
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::amount_distribution]
802
1367
  end
803
1368
 
804
1369
  type frequency =
@@ -813,7 +1378,7 @@ module MetronomeSDK
813
1378
  ANNUAL: :ANNUAL
814
1379
  WEEKLY: :WEEKLY
815
1380
 
816
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency]
1381
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::frequency]
817
1382
  end
818
1383
  end
819
1384
 
@@ -846,6 +1411,13 @@ module MetronomeSDK
846
1411
  ?quantity: Float,
847
1412
  ?unit_price: Float
848
1413
  ) -> void
1414
+
1415
+ def to_hash: -> {
1416
+ timestamp: Time,
1417
+ amount: Float,
1418
+ quantity: Float,
1419
+ unit_price: Float
1420
+ }
849
1421
  end
850
1422
  end
851
1423
  end
@@ -862,9 +1434,9 @@ module MetronomeSDK
862
1434
  overwrite_rate: MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate,
863
1435
  priority: Float,
864
1436
  product_id: String,
865
- target: MetronomeSDK::V2::ContractEditParams::AddOverride::target,
1437
+ target: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target,
866
1438
  tiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier],
867
- type: MetronomeSDK::V2::ContractEditParams::AddOverride::type_
1439
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_
868
1440
  }
869
1441
 
870
1442
  class AddOverride < MetronomeSDK::Internal::Type::BaseModel
@@ -910,11 +1482,11 @@ module MetronomeSDK
910
1482
 
911
1483
  def product_id=: (String) -> String
912
1484
 
913
- attr_reader target: MetronomeSDK::V2::ContractEditParams::AddOverride::target?
1485
+ attr_reader target: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target?
914
1486
 
915
1487
  def target=: (
916
- MetronomeSDK::V2::ContractEditParams::AddOverride::target
917
- ) -> MetronomeSDK::V2::ContractEditParams::AddOverride::target
1488
+ MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target
1489
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target
918
1490
 
919
1491
  attr_reader tiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier]?
920
1492
 
@@ -922,11 +1494,11 @@ module MetronomeSDK
922
1494
  ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier]
923
1495
  ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier]
924
1496
 
925
- attr_reader type: MetronomeSDK::V2::ContractEditParams::AddOverride::type_?
1497
+ attr_reader type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_?
926
1498
 
927
1499
  def type=: (
928
- MetronomeSDK::V2::ContractEditParams::AddOverride::type_
929
- ) -> MetronomeSDK::V2::ContractEditParams::AddOverride::type_
1500
+ MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_
1501
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_
930
1502
 
931
1503
  def initialize: (
932
1504
  starting_at: Time,
@@ -939,13 +1511,30 @@ module MetronomeSDK
939
1511
  ?overwrite_rate: MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate,
940
1512
  ?priority: Float,
941
1513
  ?product_id: String,
942
- ?target: MetronomeSDK::V2::ContractEditParams::AddOverride::target,
1514
+ ?target: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target,
943
1515
  ?tiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier],
944
- ?type: MetronomeSDK::V2::ContractEditParams::AddOverride::type_
1516
+ ?type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_
945
1517
  ) -> void
946
1518
 
1519
+ def to_hash: -> {
1520
+ starting_at: Time,
1521
+ applicable_product_tags: ::Array[String],
1522
+ ending_before: Time,
1523
+ entitled: bool,
1524
+ is_commit_specific: bool,
1525
+ multiplier: Float,
1526
+ override_specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier],
1527
+ overwrite_rate: MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate,
1528
+ priority: Float,
1529
+ product_id: String,
1530
+ target: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target,
1531
+ tiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier],
1532
+ type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_
1533
+ }
1534
+
947
1535
  type override_specifier =
948
1536
  {
1537
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
949
1538
  commit_ids: ::Array[String],
950
1539
  presentation_group_values: ::Hash[Symbol, String],
951
1540
  pricing_group_values: ::Hash[Symbol, String],
@@ -956,6 +1545,12 @@ module MetronomeSDK
956
1545
  }
957
1546
 
958
1547
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1548
+ attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency?
1549
+
1550
+ def billing_frequency=: (
1551
+ MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency
1552
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency
1553
+
959
1554
  attr_reader commit_ids: ::Array[String]?
960
1555
 
961
1556
  def commit_ids=: (::Array[String]) -> ::Array[String]
@@ -989,6 +1584,7 @@ module MetronomeSDK
989
1584
  def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
990
1585
 
991
1586
  def initialize: (
1587
+ ?billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
992
1588
  ?commit_ids: ::Array[String],
993
1589
  ?presentation_group_values: ::Hash[Symbol, String],
994
1590
  ?pricing_group_values: ::Hash[Symbol, String],
@@ -997,11 +1593,35 @@ module MetronomeSDK
997
1593
  ?recurring_commit_ids: ::Array[String],
998
1594
  ?recurring_credit_ids: ::Array[String]
999
1595
  ) -> void
1596
+
1597
+ def to_hash: -> {
1598
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1599
+ commit_ids: ::Array[String],
1600
+ presentation_group_values: ::Hash[Symbol, String],
1601
+ pricing_group_values: ::Hash[Symbol, String],
1602
+ product_id: String,
1603
+ product_tags: ::Array[String],
1604
+ recurring_commit_ids: ::Array[String],
1605
+ recurring_credit_ids: ::Array[String]
1606
+ }
1607
+
1608
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1609
+
1610
+ module BillingFrequency
1611
+ extend MetronomeSDK::Internal::Type::Enum
1612
+
1613
+ MONTHLY: :MONTHLY
1614
+ QUARTERLY: :QUARTERLY
1615
+ ANNUAL: :ANNUAL
1616
+ WEEKLY: :WEEKLY
1617
+
1618
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency]
1619
+ end
1000
1620
  end
1001
1621
 
1002
1622
  type overwrite_rate =
1003
1623
  {
1004
- rate_type: MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type,
1624
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type,
1005
1625
  credit_type_id: String,
1006
1626
  custom_rate: ::Hash[Symbol, top],
1007
1627
  is_prorated: bool,
@@ -1011,7 +1631,7 @@ module MetronomeSDK
1011
1631
  }
1012
1632
 
1013
1633
  class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1014
- attr_accessor rate_type: MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type
1634
+ attr_accessor rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type
1015
1635
 
1016
1636
  attr_reader credit_type_id: String?
1017
1637
 
@@ -1040,7 +1660,7 @@ module MetronomeSDK
1040
1660
  ) -> ::Array[MetronomeSDK::Tier]
1041
1661
 
1042
1662
  def initialize: (
1043
- rate_type: MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type,
1663
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type,
1044
1664
  ?credit_type_id: String,
1045
1665
  ?custom_rate: ::Hash[Symbol, top],
1046
1666
  ?is_prorated: bool,
@@ -1049,6 +1669,16 @@ module MetronomeSDK
1049
1669
  ?tiers: ::Array[MetronomeSDK::Tier]
1050
1670
  ) -> void
1051
1671
 
1672
+ def to_hash: -> {
1673
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type,
1674
+ credit_type_id: String,
1675
+ custom_rate: ::Hash[Symbol, top],
1676
+ is_prorated: bool,
1677
+ price: Float,
1678
+ quantity: Float,
1679
+ tiers: ::Array[MetronomeSDK::Tier]
1680
+ }
1681
+
1052
1682
  type rate_type =
1053
1683
  :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
1054
1684
 
@@ -1061,7 +1691,7 @@ module MetronomeSDK
1061
1691
  TIERED: :TIERED
1062
1692
  CUSTOM: :CUSTOM
1063
1693
 
1064
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type]
1694
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::rate_type]
1065
1695
  end
1066
1696
  end
1067
1697
 
@@ -1073,7 +1703,7 @@ module MetronomeSDK
1073
1703
  COMMIT_RATE: :COMMIT_RATE
1074
1704
  LIST_RATE: :LIST_RATE
1075
1705
 
1076
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::target]
1706
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddOverride::target]
1077
1707
  end
1078
1708
 
1079
1709
  type tier = { multiplier: Float, size: Float }
@@ -1086,6 +1716,8 @@ module MetronomeSDK
1086
1716
  def size=: (Float) -> Float
1087
1717
 
1088
1718
  def initialize: (multiplier: Float, ?size: Float) -> void
1719
+
1720
+ def to_hash: -> { multiplier: Float, size: Float }
1089
1721
  end
1090
1722
 
1091
1723
  type type_ = :OVERWRITE | :MULTIPLIER | :TIERED
@@ -1097,7 +1729,7 @@ module MetronomeSDK
1097
1729
  MULTIPLIER: :MULTIPLIER
1098
1730
  TIERED: :TIERED
1099
1731
 
1100
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddOverride::type_]
1732
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddOverride::type_]
1101
1733
  end
1102
1734
  end
1103
1735
 
@@ -1107,7 +1739,8 @@ module MetronomeSDK
1107
1739
  is_enabled: bool,
1108
1740
  payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1109
1741
  recharge_to_amount: Float,
1110
- threshold_amount: Float
1742
+ threshold_amount: Float,
1743
+ custom_credit_type_id: String
1111
1744
  }
1112
1745
 
1113
1746
  class AddPrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -1121,21 +1754,36 @@ module MetronomeSDK
1121
1754
 
1122
1755
  attr_accessor threshold_amount: Float
1123
1756
 
1757
+ attr_reader custom_credit_type_id: String?
1758
+
1759
+ def custom_credit_type_id=: (String) -> String
1760
+
1124
1761
  def initialize: (
1125
1762
  commit: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit,
1126
1763
  is_enabled: bool,
1127
1764
  payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1128
1765
  recharge_to_amount: Float,
1129
- threshold_amount: Float
1766
+ threshold_amount: Float,
1767
+ ?custom_credit_type_id: String
1130
1768
  ) -> void
1131
1769
 
1770
+ def to_hash: -> {
1771
+ commit: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit,
1772
+ is_enabled: bool,
1773
+ payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1774
+ recharge_to_amount: Float,
1775
+ threshold_amount: Float,
1776
+ custom_credit_type_id: String
1777
+ }
1778
+
1132
1779
  type commit =
1133
1780
  {
1134
1781
  product_id: String,
1135
1782
  applicable_product_ids: ::Array[String],
1136
1783
  applicable_product_tags: ::Array[String],
1137
1784
  description: String,
1138
- name: String
1785
+ name: String,
1786
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]
1139
1787
  }
1140
1788
 
1141
1789
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -1157,24 +1805,91 @@ module MetronomeSDK
1157
1805
 
1158
1806
  def name=: (String) -> String
1159
1807
 
1808
+ attr_reader specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]?
1809
+
1810
+ def specifiers=: (
1811
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]
1812
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]
1813
+
1160
1814
  def initialize: (
1161
1815
  product_id: String,
1162
1816
  ?applicable_product_ids: ::Array[String],
1163
1817
  ?applicable_product_tags: ::Array[String],
1164
1818
  ?description: String,
1165
- ?name: String
1819
+ ?name: String,
1820
+ ?specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]
1166
1821
  ) -> void
1822
+
1823
+ def to_hash: -> {
1824
+ product_id: String,
1825
+ applicable_product_ids: ::Array[String],
1826
+ applicable_product_tags: ::Array[String],
1827
+ description: String,
1828
+ name: String,
1829
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]
1830
+ }
1831
+
1832
+ type specifier =
1833
+ {
1834
+ presentation_group_values: ::Hash[Symbol, String],
1835
+ pricing_group_values: ::Hash[Symbol, String],
1836
+ product_id: String,
1837
+ product_tags: ::Array[String]
1838
+ }
1839
+
1840
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1841
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1842
+
1843
+ def presentation_group_values=: (
1844
+ ::Hash[Symbol, String]
1845
+ ) -> ::Hash[Symbol, String]
1846
+
1847
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1848
+
1849
+ def pricing_group_values=: (
1850
+ ::Hash[Symbol, String]
1851
+ ) -> ::Hash[Symbol, String]
1852
+
1853
+ attr_reader product_id: String?
1854
+
1855
+ def product_id=: (String) -> String
1856
+
1857
+ attr_reader product_tags: ::Array[String]?
1858
+
1859
+ def product_tags=: (::Array[String]) -> ::Array[String]
1860
+
1861
+ def initialize: (
1862
+ ?presentation_group_values: ::Hash[Symbol, String],
1863
+ ?pricing_group_values: ::Hash[Symbol, String],
1864
+ ?product_id: String,
1865
+ ?product_tags: ::Array[String]
1866
+ ) -> void
1867
+
1868
+ def to_hash: -> {
1869
+ presentation_group_values: ::Hash[Symbol, String],
1870
+ pricing_group_values: ::Hash[Symbol, String],
1871
+ product_id: String,
1872
+ product_tags: ::Array[String]
1873
+ }
1874
+ end
1167
1875
  end
1168
1876
 
1169
1877
  type payment_gate_config =
1170
1878
  {
1171
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1879
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1880
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1172
1881
  stripe_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1173
- tax_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1882
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1174
1883
  }
1175
1884
 
1176
1885
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1177
- attr_accessor payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
1886
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
1887
+
1888
+ attr_reader precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
1889
+
1890
+ def precalculated_tax_config=: (
1891
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1892
+ ) -> MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1178
1893
 
1179
1894
  attr_reader stripe_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig?
1180
1895
 
@@ -1182,18 +1897,26 @@ module MetronomeSDK
1182
1897
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
1183
1898
  ) -> MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
1184
1899
 
1185
- attr_reader tax_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
1900
+ attr_reader tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
1186
1901
 
1187
1902
  def tax_type=: (
1188
- MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1189
- ) -> MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1903
+ MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1904
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1190
1905
 
1191
1906
  def initialize: (
1192
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1907
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1908
+ ?precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1193
1909
  ?stripe_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1194
- ?tax_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1910
+ ?tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1195
1911
  ) -> void
1196
1912
 
1913
+ def to_hash: -> {
1914
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1915
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1916
+ stripe_config: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1917
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1918
+ }
1919
+
1197
1920
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
1198
1921
 
1199
1922
  module PaymentGateType
@@ -1203,21 +1926,49 @@ module MetronomeSDK
1203
1926
  STRIPE: :STRIPE
1204
1927
  EXTERNAL: :EXTERNAL
1205
1928
 
1206
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
1929
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
1930
+ end
1931
+
1932
+ type precalculated_tax_config =
1933
+ { tax_amount: Float, tax_name: String }
1934
+
1935
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1936
+ attr_accessor tax_amount: Float
1937
+
1938
+ attr_reader tax_name: String?
1939
+
1940
+ def tax_name=: (String) -> String
1941
+
1942
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
1943
+
1944
+ def to_hash: -> { tax_amount: Float, tax_name: String }
1207
1945
  end
1208
1946
 
1209
1947
  type stripe_config =
1210
1948
  {
1211
- payment_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1949
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1950
+ invoice_metadata: ::Hash[Symbol, String]
1212
1951
  }
1213
1952
 
1214
1953
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1215
- attr_accessor payment_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1954
+ attr_accessor payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1955
+
1956
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
1957
+
1958
+ def invoice_metadata=: (
1959
+ ::Hash[Symbol, String]
1960
+ ) -> ::Hash[Symbol, String]
1216
1961
 
1217
1962
  def initialize: (
1218
- payment_type: MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1963
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1964
+ ?invoice_metadata: ::Hash[Symbol, String]
1219
1965
  ) -> void
1220
1966
 
1967
+ def to_hash: -> {
1968
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1969
+ invoice_metadata: ::Hash[Symbol, String]
1970
+ }
1971
+
1221
1972
  type payment_type = :INVOICE | :PAYMENT_INTENT
1222
1973
 
1223
1974
  module PaymentType
@@ -1226,19 +1977,21 @@ module MetronomeSDK
1226
1977
  INVOICE: :INVOICE
1227
1978
  PAYMENT_INTENT: :PAYMENT_INTENT
1228
1979
 
1229
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
1980
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
1230
1981
  end
1231
1982
  end
1232
1983
 
1233
- type tax_type = :NONE | :STRIPE
1984
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
1234
1985
 
1235
1986
  module TaxType
1236
1987
  extend MetronomeSDK::Internal::Type::Enum
1237
1988
 
1238
1989
  NONE: :NONE
1239
1990
  STRIPE: :STRIPE
1991
+ ANROK: :ANROK
1992
+ PRECALCULATED: :PRECALCULATED
1240
1993
 
1241
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
1994
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
1242
1995
  end
1243
1996
  end
1244
1997
  end
@@ -1284,6 +2037,16 @@ module MetronomeSDK
1284
2037
  ?description: String,
1285
2038
  ?netsuite_sales_order_id: String
1286
2039
  ) -> void
2040
+
2041
+ def to_hash: -> {
2042
+ max_amount: Float,
2043
+ product_id: String,
2044
+ quantity: Float,
2045
+ unit_price: Float,
2046
+ custom_fields: ::Hash[Symbol, String],
2047
+ description: String,
2048
+ netsuite_sales_order_id: String
2049
+ }
1287
2050
  end
1288
2051
 
1289
2052
  type add_recurring_commit =
@@ -1300,10 +2063,11 @@ module MetronomeSDK
1300
2063
  invoice_amount: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount,
1301
2064
  name: String,
1302
2065
  netsuite_sales_order_id: String,
1303
- proration: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::proration,
1304
- rate_type: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::rate_type,
1305
- recurrence_frequency: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
2066
+ proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
2067
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
2068
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1306
2069
  rollover_fraction: Float,
2070
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier],
1307
2071
  temporary_id: String
1308
2072
  }
1309
2073
 
@@ -1348,28 +2112,34 @@ module MetronomeSDK
1348
2112
 
1349
2113
  def netsuite_sales_order_id=: (String) -> String
1350
2114
 
1351
- attr_reader proration: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::proration?
2115
+ attr_reader proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration?
1352
2116
 
1353
2117
  def proration=: (
1354
- MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::proration
1355
- ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::proration
2118
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
2119
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1356
2120
 
1357
- attr_reader rate_type: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::rate_type?
2121
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type?
1358
2122
 
1359
2123
  def rate_type=: (
1360
- MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::rate_type
1361
- ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::rate_type
2124
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type
2125
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type
1362
2126
 
1363
- attr_reader recurrence_frequency: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency?
2127
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency?
1364
2128
 
1365
2129
  def recurrence_frequency=: (
1366
- MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency
1367
- ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency
2130
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency
2131
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency
1368
2132
 
1369
2133
  attr_reader rollover_fraction: Float?
1370
2134
 
1371
2135
  def rollover_fraction=: (Float) -> Float
1372
2136
 
2137
+ attr_reader specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier]?
2138
+
2139
+ def specifiers=: (
2140
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier]
2141
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier]
2142
+
1373
2143
  attr_reader temporary_id: String?
1374
2144
 
1375
2145
  def temporary_id=: (String) -> String
@@ -1387,46 +2157,85 @@ module MetronomeSDK
1387
2157
  ?invoice_amount: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount,
1388
2158
  ?name: String,
1389
2159
  ?netsuite_sales_order_id: String,
1390
- ?proration: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::proration,
1391
- ?rate_type: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::rate_type,
1392
- ?recurrence_frequency: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
2160
+ ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
2161
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
2162
+ ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1393
2163
  ?rollover_fraction: Float,
2164
+ ?specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier],
1394
2165
  ?temporary_id: String
1395
2166
  ) -> void
1396
2167
 
1397
- type access_amount =
1398
- { credit_type_id: String, quantity: Float, unit_price: Float }
1399
-
2168
+ def to_hash: -> {
2169
+ access_amount: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::AccessAmount,
2170
+ commit_duration: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration,
2171
+ priority: Float,
2172
+ product_id: String,
2173
+ starting_at: Time,
2174
+ applicable_product_ids: ::Array[String],
2175
+ applicable_product_tags: ::Array[String],
2176
+ description: String,
2177
+ ending_before: Time,
2178
+ invoice_amount: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount,
2179
+ name: String,
2180
+ netsuite_sales_order_id: String,
2181
+ proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
2182
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
2183
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
2184
+ rollover_fraction: Float,
2185
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier],
2186
+ temporary_id: String
2187
+ }
2188
+
2189
+ type access_amount =
2190
+ { credit_type_id: String, unit_price: Float, quantity: Float }
2191
+
1400
2192
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1401
2193
  attr_accessor credit_type_id: String
1402
2194
 
1403
- attr_accessor quantity: Float
1404
-
1405
2195
  attr_accessor unit_price: Float
1406
2196
 
2197
+ attr_reader quantity: Float?
2198
+
2199
+ def quantity=: (Float) -> Float
2200
+
1407
2201
  def initialize: (
1408
2202
  credit_type_id: String,
1409
- quantity: Float,
1410
- unit_price: Float
2203
+ unit_price: Float,
2204
+ ?quantity: Float
1411
2205
  ) -> void
2206
+
2207
+ def to_hash: -> {
2208
+ credit_type_id: String,
2209
+ unit_price: Float,
2210
+ quantity: Float
2211
+ }
1412
2212
  end
1413
2213
 
1414
2214
  type commit_duration =
1415
2215
  {
1416
- unit: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit,
1417
- value: Float
2216
+ value: Float,
2217
+ unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit
1418
2218
  }
1419
2219
 
1420
2220
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1421
- attr_accessor unit: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit
1422
-
1423
2221
  attr_accessor value: Float
1424
2222
 
2223
+ attr_reader unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit?
2224
+
2225
+ def unit=: (
2226
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit
2227
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit
2228
+
1425
2229
  def initialize: (
1426
- unit: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit,
1427
- value: Float
2230
+ value: Float,
2231
+ ?unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit
1428
2232
  ) -> void
1429
2233
 
2234
+ def to_hash: -> {
2235
+ value: Float,
2236
+ unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit
2237
+ }
2238
+
1430
2239
  type unit = :PERIODS
1431
2240
 
1432
2241
  module Unit
@@ -1434,7 +2243,7 @@ module MetronomeSDK
1434
2243
 
1435
2244
  PERIODS: :PERIODS
1436
2245
 
1437
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit]
2246
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::unit]
1438
2247
  end
1439
2248
  end
1440
2249
 
@@ -1453,6 +2262,12 @@ module MetronomeSDK
1453
2262
  quantity: Float,
1454
2263
  unit_price: Float
1455
2264
  ) -> void
2265
+
2266
+ def to_hash: -> {
2267
+ credit_type_id: String,
2268
+ quantity: Float,
2269
+ unit_price: Float
2270
+ }
1456
2271
  end
1457
2272
 
1458
2273
  type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
@@ -1465,7 +2280,7 @@ module MetronomeSDK
1465
2280
  LAST: :LAST
1466
2281
  FIRST_AND_LAST: :FIRST_AND_LAST
1467
2282
 
1468
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::proration]
2283
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration]
1469
2284
  end
1470
2285
 
1471
2286
  type rate_type = :COMMIT_RATE | :LIST_RATE
@@ -1476,7 +2291,7 @@ module MetronomeSDK
1476
2291
  COMMIT_RATE: :COMMIT_RATE
1477
2292
  LIST_RATE: :LIST_RATE
1478
2293
 
1479
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::rate_type]
2294
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type]
1480
2295
  end
1481
2296
 
1482
2297
  type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
@@ -1489,7 +2304,51 @@ module MetronomeSDK
1489
2304
  ANNUAL: :ANNUAL
1490
2305
  WEEKLY: :WEEKLY
1491
2306
 
1492
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency]
2307
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency]
2308
+ end
2309
+
2310
+ type specifier =
2311
+ {
2312
+ presentation_group_values: ::Hash[Symbol, String],
2313
+ pricing_group_values: ::Hash[Symbol, String],
2314
+ product_id: String,
2315
+ product_tags: ::Array[String]
2316
+ }
2317
+
2318
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2319
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
2320
+
2321
+ def presentation_group_values=: (
2322
+ ::Hash[Symbol, String]
2323
+ ) -> ::Hash[Symbol, String]
2324
+
2325
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
2326
+
2327
+ def pricing_group_values=: (
2328
+ ::Hash[Symbol, String]
2329
+ ) -> ::Hash[Symbol, String]
2330
+
2331
+ attr_reader product_id: String?
2332
+
2333
+ def product_id=: (String) -> String
2334
+
2335
+ attr_reader product_tags: ::Array[String]?
2336
+
2337
+ def product_tags=: (::Array[String]) -> ::Array[String]
2338
+
2339
+ def initialize: (
2340
+ ?presentation_group_values: ::Hash[Symbol, String],
2341
+ ?pricing_group_values: ::Hash[Symbol, String],
2342
+ ?product_id: String,
2343
+ ?product_tags: ::Array[String]
2344
+ ) -> void
2345
+
2346
+ def to_hash: -> {
2347
+ presentation_group_values: ::Hash[Symbol, String],
2348
+ pricing_group_values: ::Hash[Symbol, String],
2349
+ product_id: String,
2350
+ product_tags: ::Array[String]
2351
+ }
1493
2352
  end
1494
2353
  end
1495
2354
 
@@ -1506,10 +2365,11 @@ module MetronomeSDK
1506
2365
  ending_before: Time,
1507
2366
  name: String,
1508
2367
  netsuite_sales_order_id: String,
1509
- proration: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::proration,
1510
- rate_type: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::rate_type,
1511
- recurrence_frequency: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2368
+ proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2369
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2370
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
1512
2371
  rollover_fraction: Float,
2372
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier],
1513
2373
  temporary_id: String
1514
2374
  }
1515
2375
 
@@ -1548,28 +2408,34 @@ module MetronomeSDK
1548
2408
 
1549
2409
  def netsuite_sales_order_id=: (String) -> String
1550
2410
 
1551
- attr_reader proration: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::proration?
2411
+ attr_reader proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration?
1552
2412
 
1553
2413
  def proration=: (
1554
- MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::proration
1555
- ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::proration
2414
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2415
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
1556
2416
 
1557
- attr_reader rate_type: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::rate_type?
2417
+ attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type?
1558
2418
 
1559
2419
  def rate_type=: (
1560
- MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::rate_type
1561
- ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::rate_type
2420
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type
2421
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type
1562
2422
 
1563
- attr_reader recurrence_frequency: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency?
2423
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency?
1564
2424
 
1565
2425
  def recurrence_frequency=: (
1566
- MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency
1567
- ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency
2426
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency
2427
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency
1568
2428
 
1569
2429
  attr_reader rollover_fraction: Float?
1570
2430
 
1571
2431
  def rollover_fraction=: (Float) -> Float
1572
2432
 
2433
+ attr_reader specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier]?
2434
+
2435
+ def specifiers=: (
2436
+ ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier]
2437
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier]
2438
+
1573
2439
  attr_reader temporary_id: String?
1574
2440
 
1575
2441
  def temporary_id=: (String) -> String
@@ -1586,46 +2452,84 @@ module MetronomeSDK
1586
2452
  ?ending_before: Time,
1587
2453
  ?name: String,
1588
2454
  ?netsuite_sales_order_id: String,
1589
- ?proration: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::proration,
1590
- ?rate_type: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::rate_type,
1591
- ?recurrence_frequency: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2455
+ ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2456
+ ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2457
+ ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
1592
2458
  ?rollover_fraction: Float,
2459
+ ?specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier],
1593
2460
  ?temporary_id: String
1594
2461
  ) -> void
1595
2462
 
2463
+ def to_hash: -> {
2464
+ access_amount: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::AccessAmount,
2465
+ commit_duration: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration,
2466
+ priority: Float,
2467
+ product_id: String,
2468
+ starting_at: Time,
2469
+ applicable_product_ids: ::Array[String],
2470
+ applicable_product_tags: ::Array[String],
2471
+ description: String,
2472
+ ending_before: Time,
2473
+ name: String,
2474
+ netsuite_sales_order_id: String,
2475
+ proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2476
+ rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2477
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2478
+ rollover_fraction: Float,
2479
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier],
2480
+ temporary_id: String
2481
+ }
2482
+
1596
2483
  type access_amount =
1597
- { credit_type_id: String, quantity: Float, unit_price: Float }
2484
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1598
2485
 
1599
2486
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1600
2487
  attr_accessor credit_type_id: String
1601
2488
 
1602
- attr_accessor quantity: Float
1603
-
1604
2489
  attr_accessor unit_price: Float
1605
2490
 
2491
+ attr_reader quantity: Float?
2492
+
2493
+ def quantity=: (Float) -> Float
2494
+
1606
2495
  def initialize: (
1607
2496
  credit_type_id: String,
1608
- quantity: Float,
1609
- unit_price: Float
2497
+ unit_price: Float,
2498
+ ?quantity: Float
1610
2499
  ) -> void
2500
+
2501
+ def to_hash: -> {
2502
+ credit_type_id: String,
2503
+ unit_price: Float,
2504
+ quantity: Float
2505
+ }
1611
2506
  end
1612
2507
 
1613
2508
  type commit_duration =
1614
2509
  {
1615
- unit: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit,
1616
- value: Float
2510
+ value: Float,
2511
+ unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit
1617
2512
  }
1618
2513
 
1619
2514
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1620
- attr_accessor unit: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit
1621
-
1622
2515
  attr_accessor value: Float
1623
2516
 
2517
+ attr_reader unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit?
2518
+
2519
+ def unit=: (
2520
+ MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit
2521
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit
2522
+
1624
2523
  def initialize: (
1625
- unit: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit,
1626
- value: Float
2524
+ value: Float,
2525
+ ?unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit
1627
2526
  ) -> void
1628
2527
 
2528
+ def to_hash: -> {
2529
+ value: Float,
2530
+ unit: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit
2531
+ }
2532
+
1629
2533
  type unit = :PERIODS
1630
2534
 
1631
2535
  module Unit
@@ -1633,7 +2537,7 @@ module MetronomeSDK
1633
2537
 
1634
2538
  PERIODS: :PERIODS
1635
2539
 
1636
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit]
2540
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::unit]
1637
2541
  end
1638
2542
  end
1639
2543
 
@@ -1647,7 +2551,7 @@ module MetronomeSDK
1647
2551
  LAST: :LAST
1648
2552
  FIRST_AND_LAST: :FIRST_AND_LAST
1649
2553
 
1650
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::proration]
2554
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration]
1651
2555
  end
1652
2556
 
1653
2557
  type rate_type = :COMMIT_RATE | :LIST_RATE
@@ -1658,7 +2562,7 @@ module MetronomeSDK
1658
2562
  COMMIT_RATE: :COMMIT_RATE
1659
2563
  LIST_RATE: :LIST_RATE
1660
2564
 
1661
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::rate_type]
2565
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type]
1662
2566
  end
1663
2567
 
1664
2568
  type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
@@ -1671,13 +2575,57 @@ module MetronomeSDK
1671
2575
  ANNUAL: :ANNUAL
1672
2576
  WEEKLY: :WEEKLY
1673
2577
 
1674
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency]
2578
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency]
2579
+ end
2580
+
2581
+ type specifier =
2582
+ {
2583
+ presentation_group_values: ::Hash[Symbol, String],
2584
+ pricing_group_values: ::Hash[Symbol, String],
2585
+ product_id: String,
2586
+ product_tags: ::Array[String]
2587
+ }
2588
+
2589
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2590
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
2591
+
2592
+ def presentation_group_values=: (
2593
+ ::Hash[Symbol, String]
2594
+ ) -> ::Hash[Symbol, String]
2595
+
2596
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
2597
+
2598
+ def pricing_group_values=: (
2599
+ ::Hash[Symbol, String]
2600
+ ) -> ::Hash[Symbol, String]
2601
+
2602
+ attr_reader product_id: String?
2603
+
2604
+ def product_id=: (String) -> String
2605
+
2606
+ attr_reader product_tags: ::Array[String]?
2607
+
2608
+ def product_tags=: (::Array[String]) -> ::Array[String]
2609
+
2610
+ def initialize: (
2611
+ ?presentation_group_values: ::Hash[Symbol, String],
2612
+ ?pricing_group_values: ::Hash[Symbol, String],
2613
+ ?product_id: String,
2614
+ ?product_tags: ::Array[String]
2615
+ ) -> void
2616
+
2617
+ def to_hash: -> {
2618
+ presentation_group_values: ::Hash[Symbol, String],
2619
+ pricing_group_values: ::Hash[Symbol, String],
2620
+ product_id: String,
2621
+ product_tags: ::Array[String]
2622
+ }
1675
2623
  end
1676
2624
  end
1677
2625
 
1678
2626
  type add_reseller_royalty =
1679
2627
  {
1680
- reseller_type: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::reseller_type,
2628
+ reseller_type: MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::reseller_type,
1681
2629
  applicable_product_ids: ::Array[String],
1682
2630
  applicable_product_tags: ::Array[String],
1683
2631
  aws_options: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::AwsOptions,
@@ -1690,7 +2638,7 @@ module MetronomeSDK
1690
2638
  }
1691
2639
 
1692
2640
  class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1693
- attr_accessor reseller_type: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::reseller_type
2641
+ attr_accessor reseller_type: MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::reseller_type
1694
2642
 
1695
2643
  attr_reader applicable_product_ids: ::Array[String]?
1696
2644
 
@@ -1731,7 +2679,7 @@ module MetronomeSDK
1731
2679
  def starting_at=: (Time) -> Time
1732
2680
 
1733
2681
  def initialize: (
1734
- reseller_type: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::reseller_type,
2682
+ reseller_type: MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::reseller_type,
1735
2683
  ?applicable_product_ids: ::Array[String],
1736
2684
  ?applicable_product_tags: ::Array[String],
1737
2685
  ?aws_options: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::AwsOptions,
@@ -1743,6 +2691,19 @@ module MetronomeSDK
1743
2691
  ?starting_at: Time
1744
2692
  ) -> void
1745
2693
 
2694
+ def to_hash: -> {
2695
+ reseller_type: MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::reseller_type,
2696
+ applicable_product_ids: ::Array[String],
2697
+ applicable_product_tags: ::Array[String],
2698
+ aws_options: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::AwsOptions,
2699
+ ending_before: Time?,
2700
+ fraction: Float,
2701
+ gcp_options: MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::GcpOptions,
2702
+ netsuite_reseller_id: String,
2703
+ reseller_contract_value: Float,
2704
+ starting_at: Time
2705
+ }
2706
+
1746
2707
  type reseller_type = :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1747
2708
 
1748
2709
  module ResellerType
@@ -1753,7 +2714,7 @@ module MetronomeSDK
1753
2714
  GCP: :GCP
1754
2715
  GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1755
2716
 
1756
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::reseller_type]
2717
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::reseller_type]
1757
2718
  end
1758
2719
 
1759
2720
  type aws_options =
@@ -1781,6 +2742,12 @@ module MetronomeSDK
1781
2742
  ?aws_offer_id: String,
1782
2743
  ?aws_payer_reference_id: String
1783
2744
  ) -> void
2745
+
2746
+ def to_hash: -> {
2747
+ aws_account_number: String,
2748
+ aws_offer_id: String,
2749
+ aws_payer_reference_id: String
2750
+ }
1784
2751
  end
1785
2752
 
1786
2753
  type gcp_options = { gcp_account_id: String, gcp_offer_id: String }
@@ -1798,6 +2765,8 @@ module MetronomeSDK
1798
2765
  ?gcp_account_id: String,
1799
2766
  ?gcp_offer_id: String
1800
2767
  ) -> void
2768
+
2769
+ def to_hash: -> { gcp_account_id: String, gcp_offer_id: String }
1801
2770
  end
1802
2771
  end
1803
2772
 
@@ -1829,6 +2798,13 @@ module MetronomeSDK
1829
2798
  ?netsuite_sales_order_id: String
1830
2799
  ) -> void
1831
2800
 
2801
+ def to_hash: -> {
2802
+ product_id: String,
2803
+ schedule: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule,
2804
+ name: String,
2805
+ netsuite_sales_order_id: String
2806
+ }
2807
+
1832
2808
  type schedule =
1833
2809
  {
1834
2810
  credit_type_id: String,
@@ -1859,11 +2835,17 @@ module MetronomeSDK
1859
2835
  ?schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem]
1860
2836
  ) -> void
1861
2837
 
2838
+ def to_hash: -> {
2839
+ credit_type_id: String,
2840
+ recurring_schedule: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule,
2841
+ schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem]
2842
+ }
2843
+
1862
2844
  type recurring_schedule =
1863
2845
  {
1864
- amount_distribution: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2846
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
1865
2847
  ending_before: Time,
1866
- frequency: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency,
2848
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency,
1867
2849
  starting_at: Time,
1868
2850
  amount: Float,
1869
2851
  quantity: Float,
@@ -1871,11 +2853,11 @@ module MetronomeSDK
1871
2853
  }
1872
2854
 
1873
2855
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
1874
- attr_accessor amount_distribution: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution
2856
+ attr_accessor amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution
1875
2857
 
1876
2858
  attr_accessor ending_before: Time
1877
2859
 
1878
- attr_accessor frequency: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency
2860
+ attr_accessor frequency: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency
1879
2861
 
1880
2862
  attr_accessor starting_at: Time
1881
2863
 
@@ -1892,15 +2874,25 @@ module MetronomeSDK
1892
2874
  def unit_price=: (Float) -> Float
1893
2875
 
1894
2876
  def initialize: (
1895
- amount_distribution: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2877
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
1896
2878
  ending_before: Time,
1897
- frequency: MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency,
2879
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency,
1898
2880
  starting_at: Time,
1899
2881
  ?amount: Float,
1900
2882
  ?quantity: Float,
1901
2883
  ?unit_price: Float
1902
2884
  ) -> void
1903
2885
 
2886
+ def to_hash: -> {
2887
+ amount_distribution: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2888
+ ending_before: Time,
2889
+ frequency: MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency,
2890
+ starting_at: Time,
2891
+ amount: Float,
2892
+ quantity: Float,
2893
+ unit_price: Float
2894
+ }
2895
+
1904
2896
  type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
1905
2897
 
1906
2898
  module AmountDistribution
@@ -1910,7 +2902,7 @@ module MetronomeSDK
1910
2902
  DIVIDED_ROUNDED: :DIVIDED_ROUNDED
1911
2903
  EACH: :EACH
1912
2904
 
1913
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution]
2905
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::amount_distribution]
1914
2906
  end
1915
2907
 
1916
2908
  type frequency =
@@ -1925,7 +2917,7 @@ module MetronomeSDK
1925
2917
  ANNUAL: :ANNUAL
1926
2918
  WEEKLY: :WEEKLY
1927
2919
 
1928
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency]
2920
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::frequency]
1929
2921
  end
1930
2922
  end
1931
2923
 
@@ -1958,6 +2950,13 @@ module MetronomeSDK
1958
2950
  ?quantity: Float,
1959
2951
  ?unit_price: Float
1960
2952
  ) -> void
2953
+
2954
+ def to_hash: -> {
2955
+ timestamp: Time,
2956
+ amount: Float,
2957
+ quantity: Float,
2958
+ unit_price: Float
2959
+ }
1961
2960
  end
1962
2961
  end
1963
2962
  end
@@ -1986,6 +2985,13 @@ module MetronomeSDK
1986
2985
  threshold_amount: Float
1987
2986
  ) -> void
1988
2987
 
2988
+ def to_hash: -> {
2989
+ commit: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit,
2990
+ is_enabled: bool,
2991
+ payment_gate_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig,
2992
+ threshold_amount: Float
2993
+ }
2994
+
1989
2995
  type commit =
1990
2996
  { product_id: String, description: String, name: String }
1991
2997
 
@@ -2005,17 +3011,30 @@ module MetronomeSDK
2005
3011
  ?description: String,
2006
3012
  ?name: String
2007
3013
  ) -> void
3014
+
3015
+ def to_hash: -> {
3016
+ product_id: String,
3017
+ description: String,
3018
+ name: String
3019
+ }
2008
3020
  end
2009
3021
 
2010
3022
  type payment_gate_config =
2011
3023
  {
2012
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3024
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3025
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2013
3026
  stripe_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2014
- tax_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
3027
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
2015
3028
  }
2016
3029
 
2017
3030
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2018
- attr_accessor payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
3031
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
3032
+
3033
+ attr_reader precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
3034
+
3035
+ def precalculated_tax_config=: (
3036
+ MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3037
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2019
3038
 
2020
3039
  attr_reader stripe_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
2021
3040
 
@@ -2023,18 +3042,26 @@ module MetronomeSDK
2023
3042
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2024
3043
  ) -> MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2025
3044
 
2026
- attr_reader tax_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type?
3045
+ attr_reader tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type?
2027
3046
 
2028
3047
  def tax_type=: (
2029
- MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
2030
- ) -> MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
3048
+ MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
3049
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
2031
3050
 
2032
3051
  def initialize: (
2033
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3052
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3053
+ ?precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2034
3054
  ?stripe_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2035
- ?tax_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
3055
+ ?tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
2036
3056
  ) -> void
2037
3057
 
3058
+ def to_hash: -> {
3059
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3060
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
3061
+ stripe_config: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
3062
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type
3063
+ }
3064
+
2038
3065
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
2039
3066
 
2040
3067
  module PaymentGateType
@@ -2044,21 +3071,49 @@ module MetronomeSDK
2044
3071
  STRIPE: :STRIPE
2045
3072
  EXTERNAL: :EXTERNAL
2046
3073
 
2047
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
3074
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
3075
+ end
3076
+
3077
+ type precalculated_tax_config =
3078
+ { tax_amount: Float, tax_name: String }
3079
+
3080
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3081
+ attr_accessor tax_amount: Float
3082
+
3083
+ attr_reader tax_name: String?
3084
+
3085
+ def tax_name=: (String) -> String
3086
+
3087
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
3088
+
3089
+ def to_hash: -> { tax_amount: Float, tax_name: String }
2048
3090
  end
2049
3091
 
2050
3092
  type stripe_config =
2051
3093
  {
2052
- payment_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3094
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3095
+ invoice_metadata: ::Hash[Symbol, String]
2053
3096
  }
2054
3097
 
2055
3098
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2056
- attr_accessor payment_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3099
+ attr_accessor payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3100
+
3101
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
3102
+
3103
+ def invoice_metadata=: (
3104
+ ::Hash[Symbol, String]
3105
+ ) -> ::Hash[Symbol, String]
2057
3106
 
2058
3107
  def initialize: (
2059
- payment_type: MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3108
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3109
+ ?invoice_metadata: ::Hash[Symbol, String]
2060
3110
  ) -> void
2061
3111
 
3112
+ def to_hash: -> {
3113
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3114
+ invoice_metadata: ::Hash[Symbol, String]
3115
+ }
3116
+
2062
3117
  type payment_type = :INVOICE | :PAYMENT_INTENT
2063
3118
 
2064
3119
  module PaymentType
@@ -2067,61 +3122,225 @@ module MetronomeSDK
2067
3122
  INVOICE: :INVOICE
2068
3123
  PAYMENT_INTENT: :PAYMENT_INTENT
2069
3124
 
2070
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
3125
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
2071
3126
  end
2072
3127
  end
2073
3128
 
2074
- type tax_type = :NONE | :STRIPE
3129
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
2075
3130
 
2076
3131
  module TaxType
2077
3132
  extend MetronomeSDK::Internal::Type::Enum
2078
3133
 
2079
3134
  NONE: :NONE
2080
3135
  STRIPE: :STRIPE
3136
+ ANROK: :ANROK
3137
+ PRECALCULATED: :PRECALCULATED
2081
3138
 
2082
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type]
3139
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::tax_type]
2083
3140
  end
2084
3141
  end
2085
3142
  end
2086
3143
 
2087
- type archive_commit = { id: String }
3144
+ type add_subscription =
3145
+ {
3146
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
3147
+ initial_quantity: Float,
3148
+ proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
3149
+ subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3150
+ custom_fields: ::Hash[Symbol, String],
3151
+ description: String,
3152
+ ending_before: Time,
3153
+ name: String,
3154
+ starting_at: Time
3155
+ }
2088
3156
 
2089
- class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
2090
- attr_accessor id: String
3157
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
3158
+ attr_accessor collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule
2091
3159
 
2092
- def initialize: (id: String) -> void
2093
- end
3160
+ attr_accessor initial_quantity: Float
2094
3161
 
2095
- type archive_credit = { id: String }
3162
+ attr_accessor proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration
2096
3163
 
2097
- class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
2098
- attr_accessor id: String
3164
+ attr_accessor subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate
2099
3165
 
2100
- def initialize: (id: String) -> void
2101
- end
3166
+ attr_reader custom_fields: ::Hash[Symbol, String]?
2102
3167
 
2103
- type archive_scheduled_charge = { id: String }
3168
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
2104
3169
 
2105
- class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
2106
- attr_accessor id: String
3170
+ attr_reader description: String?
2107
3171
 
2108
- def initialize: (id: String) -> void
2109
- end
3172
+ def description=: (String) -> String
2110
3173
 
2111
- type remove_override = { id: String }
3174
+ attr_reader ending_before: Time?
2112
3175
 
2113
- class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
2114
- attr_accessor id: String
3176
+ def ending_before=: (Time) -> Time
2115
3177
 
2116
- def initialize: (id: String) -> void
2117
- end
3178
+ attr_reader name: String?
2118
3179
 
2119
- type update_commit =
2120
- {
2121
- commit_id: String,
2122
- access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule,
2123
- applicable_product_ids: ::Array[String]?,
3180
+ def name=: (String) -> String
3181
+
3182
+ attr_reader starting_at: Time?
3183
+
3184
+ def starting_at=: (Time) -> Time
3185
+
3186
+ def initialize: (
3187
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
3188
+ initial_quantity: Float,
3189
+ proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
3190
+ subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3191
+ ?custom_fields: ::Hash[Symbol, String],
3192
+ ?description: String,
3193
+ ?ending_before: Time,
3194
+ ?name: String,
3195
+ ?starting_at: Time
3196
+ ) -> void
3197
+
3198
+ def to_hash: -> {
3199
+ collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
3200
+ initial_quantity: Float,
3201
+ proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
3202
+ subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3203
+ custom_fields: ::Hash[Symbol, String],
3204
+ description: String,
3205
+ ending_before: Time,
3206
+ name: String,
3207
+ starting_at: Time
3208
+ }
3209
+
3210
+ type collection_schedule = :ADVANCE | :ARREARS
3211
+
3212
+ module CollectionSchedule
3213
+ extend MetronomeSDK::Internal::Type::Enum
3214
+
3215
+ ADVANCE: :ADVANCE
3216
+ ARREARS: :ARREARS
3217
+
3218
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule]
3219
+ end
3220
+
3221
+ type proration =
3222
+ {
3223
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3224
+ is_prorated: bool
3225
+ }
3226
+
3227
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3228
+ attr_reader invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior?
3229
+
3230
+ def invoice_behavior=: (
3231
+ MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior
3232
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior
3233
+
3234
+ attr_reader is_prorated: bool?
3235
+
3236
+ def is_prorated=: (bool) -> bool
3237
+
3238
+ def initialize: (
3239
+ ?invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3240
+ ?is_prorated: bool
3241
+ ) -> void
3242
+
3243
+ def to_hash: -> {
3244
+ invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3245
+ is_prorated: bool
3246
+ }
3247
+
3248
+ type invoice_behavior =
3249
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
3250
+
3251
+ module InvoiceBehavior
3252
+ extend MetronomeSDK::Internal::Type::Enum
3253
+
3254
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
3255
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
3256
+
3257
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior]
3258
+ end
3259
+ end
3260
+
3261
+ type subscription_rate =
3262
+ {
3263
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::billing_frequency,
3264
+ product_id: String
3265
+ }
3266
+
3267
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3268
+ attr_accessor billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::billing_frequency
3269
+
3270
+ attr_accessor product_id: String
3271
+
3272
+ def initialize: (
3273
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::billing_frequency,
3274
+ product_id: String
3275
+ ) -> void
3276
+
3277
+ def to_hash: -> {
3278
+ billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::billing_frequency,
3279
+ product_id: String
3280
+ }
3281
+
3282
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
3283
+
3284
+ module BillingFrequency
3285
+ extend MetronomeSDK::Internal::Type::Enum
3286
+
3287
+ MONTHLY: :MONTHLY
3288
+ QUARTERLY: :QUARTERLY
3289
+ ANNUAL: :ANNUAL
3290
+ WEEKLY: :WEEKLY
3291
+
3292
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::billing_frequency]
3293
+ end
3294
+ end
3295
+ end
3296
+
3297
+ type archive_commit = { id: String }
3298
+
3299
+ class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
3300
+ attr_accessor id: String
3301
+
3302
+ def initialize: (id: String) -> void
3303
+
3304
+ def to_hash: -> { id: String }
3305
+ end
3306
+
3307
+ type archive_credit = { id: String }
3308
+
3309
+ class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
3310
+ attr_accessor id: String
3311
+
3312
+ def initialize: (id: String) -> void
3313
+
3314
+ def to_hash: -> { id: String }
3315
+ end
3316
+
3317
+ type archive_scheduled_charge = { id: String }
3318
+
3319
+ class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
3320
+ attr_accessor id: String
3321
+
3322
+ def initialize: (id: String) -> void
3323
+
3324
+ def to_hash: -> { id: String }
3325
+ end
3326
+
3327
+ type remove_override = { id: String }
3328
+
3329
+ class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
3330
+ attr_accessor id: String
3331
+
3332
+ def initialize: (id: String) -> void
3333
+
3334
+ def to_hash: -> { id: String }
3335
+ end
3336
+
3337
+ type update_commit =
3338
+ {
3339
+ commit_id: String,
3340
+ access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule,
3341
+ applicable_product_ids: ::Array[String]?,
2124
3342
  applicable_product_tags: ::Array[String]?,
3343
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration,
2125
3344
  invoice_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule,
2126
3345
  netsuite_sales_order_id: String?,
2127
3346
  product_id: String,
@@ -2141,6 +3360,12 @@ module MetronomeSDK
2141
3360
 
2142
3361
  attr_accessor applicable_product_tags: ::Array[String]?
2143
3362
 
3363
+ attr_reader hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration?
3364
+
3365
+ def hierarchy_configuration=: (
3366
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration
3367
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration
3368
+
2144
3369
  attr_reader invoice_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule?
2145
3370
 
2146
3371
  def invoice_schedule=: (
@@ -2160,12 +3385,25 @@ module MetronomeSDK
2160
3385
  ?access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule,
2161
3386
  ?applicable_product_ids: ::Array[String]?,
2162
3387
  ?applicable_product_tags: ::Array[String]?,
3388
+ ?hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration,
2163
3389
  ?invoice_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule,
2164
3390
  ?netsuite_sales_order_id: String?,
2165
3391
  ?product_id: String,
2166
3392
  ?rollover_fraction: Float?
2167
3393
  ) -> void
2168
3394
 
3395
+ def to_hash: -> {
3396
+ commit_id: String,
3397
+ access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule,
3398
+ applicable_product_ids: ::Array[String]?,
3399
+ applicable_product_tags: ::Array[String]?,
3400
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration,
3401
+ invoice_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule,
3402
+ netsuite_sales_order_id: String?,
3403
+ product_id: String,
3404
+ rollover_fraction: Float?
3405
+ }
3406
+
2169
3407
  type access_schedule =
2170
3408
  {
2171
3409
  add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem],
@@ -2198,6 +3436,12 @@ module MetronomeSDK
2198
3436
  ?update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2199
3437
  ) -> void
2200
3438
 
3439
+ def to_hash: -> {
3440
+ add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem],
3441
+ remove_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem],
3442
+ update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem]
3443
+ }
3444
+
2201
3445
  type add_schedule_item =
2202
3446
  { amount: Float, ending_before: Time, starting_at: Time }
2203
3447
 
@@ -2213,6 +3457,12 @@ module MetronomeSDK
2213
3457
  ending_before: Time,
2214
3458
  starting_at: Time
2215
3459
  ) -> void
3460
+
3461
+ def to_hash: -> {
3462
+ amount: Float,
3463
+ ending_before: Time,
3464
+ starting_at: Time
3465
+ }
2216
3466
  end
2217
3467
 
2218
3468
  type remove_schedule_item = { id: String }
@@ -2221,6 +3471,8 @@ module MetronomeSDK
2221
3471
  attr_accessor id: String
2222
3472
 
2223
3473
  def initialize: (id: String) -> void
3474
+
3475
+ def to_hash: -> { id: String }
2224
3476
  end
2225
3477
 
2226
3478
  type update_schedule_item =
@@ -2252,6 +3504,127 @@ module MetronomeSDK
2252
3504
  ?ending_before: Time,
2253
3505
  ?starting_at: Time
2254
3506
  ) -> void
3507
+
3508
+ def to_hash: -> {
3509
+ id: String,
3510
+ amount: Float,
3511
+ ending_before: Time,
3512
+ starting_at: Time
3513
+ }
3514
+ end
3515
+ end
3516
+
3517
+ type hierarchy_configuration =
3518
+ {
3519
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::child_access
3520
+ }
3521
+
3522
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3523
+ attr_accessor child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::child_access
3524
+
3525
+ def initialize: (
3526
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::child_access
3527
+ ) -> void
3528
+
3529
+ def to_hash: -> {
3530
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::child_access
3531
+ }
3532
+
3533
+ type child_access =
3534
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
3535
+ | MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
3536
+ | MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3537
+
3538
+ module ChildAccess
3539
+ extend MetronomeSDK::Internal::Type::Union
3540
+
3541
+ type commit_hierarchy_child_access_all =
3542
+ {
3543
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3544
+ }
3545
+
3546
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3547
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3548
+
3549
+ def initialize: (
3550
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3551
+ ) -> void
3552
+
3553
+ def to_hash: -> {
3554
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3555
+ }
3556
+
3557
+ type type_ = :ALL
3558
+
3559
+ module Type
3560
+ extend MetronomeSDK::Internal::Type::Enum
3561
+
3562
+ ALL: :ALL
3563
+
3564
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
3565
+ end
3566
+ end
3567
+
3568
+ type commit_hierarchy_child_access_none =
3569
+ {
3570
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3571
+ }
3572
+
3573
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3574
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3575
+
3576
+ def initialize: (
3577
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3578
+ ) -> void
3579
+
3580
+ def to_hash: -> {
3581
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3582
+ }
3583
+
3584
+ type type_ = :NONE
3585
+
3586
+ module Type
3587
+ extend MetronomeSDK::Internal::Type::Enum
3588
+
3589
+ NONE: :NONE
3590
+
3591
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
3592
+ end
3593
+ end
3594
+
3595
+ type commit_hierarchy_child_access_contract_ids =
3596
+ {
3597
+ contract_ids: ::Array[String],
3598
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
3599
+ }
3600
+
3601
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3602
+ attr_accessor contract_ids: ::Array[String]
3603
+
3604
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
3605
+
3606
+ def initialize: (
3607
+ contract_ids: ::Array[String],
3608
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
3609
+ ) -> void
3610
+
3611
+ def to_hash: -> {
3612
+ contract_ids: ::Array[String],
3613
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
3614
+ }
3615
+
3616
+ type type_ = :CONTRACT_IDS
3617
+
3618
+ module Type
3619
+ extend MetronomeSDK::Internal::Type::Enum
3620
+
3621
+ CONTRACT_IDS: :CONTRACT_IDS
3622
+
3623
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
3624
+ end
3625
+ end
3626
+
3627
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::child_access]
2255
3628
  end
2256
3629
  end
2257
3630
 
@@ -2287,6 +3660,12 @@ module MetronomeSDK
2287
3660
  ?update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
2288
3661
  ) -> void
2289
3662
 
3663
+ def to_hash: -> {
3664
+ add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem],
3665
+ remove_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem],
3666
+ update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
3667
+ }
3668
+
2290
3669
  type add_schedule_item =
2291
3670
  {
2292
3671
  timestamp: Time,
@@ -2316,6 +3695,13 @@ module MetronomeSDK
2316
3695
  ?quantity: Float,
2317
3696
  ?unit_price: Float
2318
3697
  ) -> void
3698
+
3699
+ def to_hash: -> {
3700
+ timestamp: Time,
3701
+ amount: Float,
3702
+ quantity: Float,
3703
+ unit_price: Float
3704
+ }
2319
3705
  end
2320
3706
 
2321
3707
  type remove_schedule_item = { id: String }
@@ -2324,6 +3710,8 @@ module MetronomeSDK
2324
3710
  attr_accessor id: String
2325
3711
 
2326
3712
  def initialize: (id: String) -> void
3713
+
3714
+ def to_hash: -> { id: String }
2327
3715
  end
2328
3716
 
2329
3717
  type update_schedule_item =
@@ -2361,6 +3749,14 @@ module MetronomeSDK
2361
3749
  ?timestamp: Time,
2362
3750
  ?unit_price: Float
2363
3751
  ) -> void
3752
+
3753
+ def to_hash: -> {
3754
+ id: String,
3755
+ amount: Float,
3756
+ quantity: Float,
3757
+ timestamp: Time,
3758
+ unit_price: Float
3759
+ }
2364
3760
  end
2365
3761
  end
2366
3762
  end
@@ -2371,6 +3767,7 @@ module MetronomeSDK
2371
3767
  access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule,
2372
3768
  applicable_product_ids: ::Array[String]?,
2373
3769
  applicable_product_tags: ::Array[String]?,
3770
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration,
2374
3771
  netsuite_sales_order_id: String?,
2375
3772
  product_id: String
2376
3773
  }
@@ -2388,6 +3785,12 @@ module MetronomeSDK
2388
3785
 
2389
3786
  attr_accessor applicable_product_tags: ::Array[String]?
2390
3787
 
3788
+ attr_reader hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration?
3789
+
3790
+ def hierarchy_configuration=: (
3791
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration
3792
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration
3793
+
2391
3794
  attr_accessor netsuite_sales_order_id: String?
2392
3795
 
2393
3796
  attr_reader product_id: String?
@@ -2399,10 +3802,21 @@ module MetronomeSDK
2399
3802
  ?access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule,
2400
3803
  ?applicable_product_ids: ::Array[String]?,
2401
3804
  ?applicable_product_tags: ::Array[String]?,
3805
+ ?hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration,
2402
3806
  ?netsuite_sales_order_id: String?,
2403
3807
  ?product_id: String
2404
3808
  ) -> void
2405
3809
 
3810
+ def to_hash: -> {
3811
+ credit_id: String,
3812
+ access_schedule: MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule,
3813
+ applicable_product_ids: ::Array[String]?,
3814
+ applicable_product_tags: ::Array[String]?,
3815
+ hierarchy_configuration: MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration,
3816
+ netsuite_sales_order_id: String?,
3817
+ product_id: String
3818
+ }
3819
+
2406
3820
  type access_schedule =
2407
3821
  {
2408
3822
  add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem],
@@ -2435,6 +3849,12 @@ module MetronomeSDK
2435
3849
  ?update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem]
2436
3850
  ) -> void
2437
3851
 
3852
+ def to_hash: -> {
3853
+ add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem],
3854
+ remove_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem],
3855
+ update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem]
3856
+ }
3857
+
2438
3858
  type add_schedule_item =
2439
3859
  { amount: Float, ending_before: Time, starting_at: Time }
2440
3860
 
@@ -2450,6 +3870,12 @@ module MetronomeSDK
2450
3870
  ending_before: Time,
2451
3871
  starting_at: Time
2452
3872
  ) -> void
3873
+
3874
+ def to_hash: -> {
3875
+ amount: Float,
3876
+ ending_before: Time,
3877
+ starting_at: Time
3878
+ }
2453
3879
  end
2454
3880
 
2455
3881
  type remove_schedule_item = { id: String }
@@ -2458,6 +3884,8 @@ module MetronomeSDK
2458
3884
  attr_accessor id: String
2459
3885
 
2460
3886
  def initialize: (id: String) -> void
3887
+
3888
+ def to_hash: -> { id: String }
2461
3889
  end
2462
3890
 
2463
3891
  type update_schedule_item =
@@ -2489,6 +3917,127 @@ module MetronomeSDK
2489
3917
  ?ending_before: Time,
2490
3918
  ?starting_at: Time
2491
3919
  ) -> void
3920
+
3921
+ def to_hash: -> {
3922
+ id: String,
3923
+ amount: Float,
3924
+ ending_before: Time,
3925
+ starting_at: Time
3926
+ }
3927
+ end
3928
+ end
3929
+
3930
+ type hierarchy_configuration =
3931
+ {
3932
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::child_access
3933
+ }
3934
+
3935
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3936
+ attr_accessor child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::child_access
3937
+
3938
+ def initialize: (
3939
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::child_access
3940
+ ) -> void
3941
+
3942
+ def to_hash: -> {
3943
+ child_access: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::child_access
3944
+ }
3945
+
3946
+ type child_access =
3947
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
3948
+ | MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
3949
+ | MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3950
+
3951
+ module ChildAccess
3952
+ extend MetronomeSDK::Internal::Type::Union
3953
+
3954
+ type commit_hierarchy_child_access_all =
3955
+ {
3956
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3957
+ }
3958
+
3959
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3960
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3961
+
3962
+ def initialize: (
3963
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3964
+ ) -> void
3965
+
3966
+ def to_hash: -> {
3967
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
3968
+ }
3969
+
3970
+ type type_ = :ALL
3971
+
3972
+ module Type
3973
+ extend MetronomeSDK::Internal::Type::Enum
3974
+
3975
+ ALL: :ALL
3976
+
3977
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
3978
+ end
3979
+ end
3980
+
3981
+ type commit_hierarchy_child_access_none =
3982
+ {
3983
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3984
+ }
3985
+
3986
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3987
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3988
+
3989
+ def initialize: (
3990
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3991
+ ) -> void
3992
+
3993
+ def to_hash: -> {
3994
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
3995
+ }
3996
+
3997
+ type type_ = :NONE
3998
+
3999
+ module Type
4000
+ extend MetronomeSDK::Internal::Type::Enum
4001
+
4002
+ NONE: :NONE
4003
+
4004
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
4005
+ end
4006
+ end
4007
+
4008
+ type commit_hierarchy_child_access_contract_ids =
4009
+ {
4010
+ contract_ids: ::Array[String],
4011
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
4012
+ }
4013
+
4014
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
4015
+ attr_accessor contract_ids: ::Array[String]
4016
+
4017
+ attr_accessor type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
4018
+
4019
+ def initialize: (
4020
+ contract_ids: ::Array[String],
4021
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
4022
+ ) -> void
4023
+
4024
+ def to_hash: -> {
4025
+ contract_ids: ::Array[String],
4026
+ type: MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
4027
+ }
4028
+
4029
+ type type_ = :CONTRACT_IDS
4030
+
4031
+ module Type
4032
+ extend MetronomeSDK::Internal::Type::Enum
4033
+
4034
+ CONTRACT_IDS: :CONTRACT_IDS
4035
+
4036
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
4037
+ end
4038
+ end
4039
+
4040
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::child_access]
2492
4041
  end
2493
4042
  end
2494
4043
  end
@@ -2496,6 +4045,7 @@ module MetronomeSDK
2496
4045
  type update_prepaid_balance_threshold_configuration =
2497
4046
  {
2498
4047
  commit: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
4048
+ custom_credit_type_id: String?,
2499
4049
  is_enabled: bool,
2500
4050
  payment_gate_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig,
2501
4051
  recharge_to_amount: Float,
@@ -2509,6 +4059,8 @@ module MetronomeSDK
2509
4059
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit
2510
4060
  ) -> MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit
2511
4061
 
4062
+ attr_accessor custom_credit_type_id: String?
4063
+
2512
4064
  attr_reader is_enabled: bool?
2513
4065
 
2514
4066
  def is_enabled=: (bool) -> bool
@@ -2529,31 +4081,36 @@ module MetronomeSDK
2529
4081
 
2530
4082
  def initialize: (
2531
4083
  ?commit: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
4084
+ ?custom_credit_type_id: String?,
2532
4085
  ?is_enabled: bool,
2533
4086
  ?payment_gate_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig,
2534
4087
  ?recharge_to_amount: Float,
2535
4088
  ?threshold_amount: Float
2536
4089
  ) -> void
2537
4090
 
4091
+ def to_hash: -> {
4092
+ commit: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
4093
+ custom_credit_type_id: String?,
4094
+ is_enabled: bool,
4095
+ payment_gate_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig,
4096
+ recharge_to_amount: Float,
4097
+ threshold_amount: Float
4098
+ }
4099
+
2538
4100
  type commit =
2539
4101
  {
2540
- product_id: String,
2541
- applicable_product_ids: ::Array[String],
2542
- applicable_product_tags: ::Array[String],
4102
+ applicable_product_ids: ::Array[String]?,
4103
+ applicable_product_tags: ::Array[String]?,
2543
4104
  description: String,
2544
- name: String
4105
+ name: String,
4106
+ product_id: String,
4107
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier]?
2545
4108
  }
2546
4109
 
2547
4110
  class Commit < MetronomeSDK::Internal::Type::BaseModel
2548
- attr_accessor product_id: String
2549
-
2550
- attr_reader applicable_product_ids: ::Array[String]?
2551
-
2552
- def applicable_product_ids=: (::Array[String]) -> ::Array[String]
4111
+ attr_accessor applicable_product_ids: ::Array[String]?
2553
4112
 
2554
- attr_reader applicable_product_tags: ::Array[String]?
2555
-
2556
- def applicable_product_tags=: (::Array[String]) -> ::Array[String]
4113
+ attr_accessor applicable_product_tags: ::Array[String]?
2557
4114
 
2558
4115
  attr_reader description: String?
2559
4116
 
@@ -2563,24 +4120,91 @@ module MetronomeSDK
2563
4120
 
2564
4121
  def name=: (String) -> String
2565
4122
 
4123
+ attr_reader product_id: String?
4124
+
4125
+ def product_id=: (String) -> String
4126
+
4127
+ attr_accessor specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier]?
4128
+
2566
4129
  def initialize: (
2567
- product_id: String,
2568
- ?applicable_product_ids: ::Array[String],
2569
- ?applicable_product_tags: ::Array[String],
4130
+ ?applicable_product_ids: ::Array[String]?,
4131
+ ?applicable_product_tags: ::Array[String]?,
2570
4132
  ?description: String,
2571
- ?name: String
4133
+ ?name: String,
4134
+ ?product_id: String,
4135
+ ?specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier]?
2572
4136
  ) -> void
4137
+
4138
+ def to_hash: -> {
4139
+ applicable_product_ids: ::Array[String]?,
4140
+ applicable_product_tags: ::Array[String]?,
4141
+ description: String,
4142
+ name: String,
4143
+ product_id: String,
4144
+ specifiers: ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier]?
4145
+ }
4146
+
4147
+ type specifier =
4148
+ {
4149
+ presentation_group_values: ::Hash[Symbol, String],
4150
+ pricing_group_values: ::Hash[Symbol, String],
4151
+ product_id: String,
4152
+ product_tags: ::Array[String]
4153
+ }
4154
+
4155
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
4156
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
4157
+
4158
+ def presentation_group_values=: (
4159
+ ::Hash[Symbol, String]
4160
+ ) -> ::Hash[Symbol, String]
4161
+
4162
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
4163
+
4164
+ def pricing_group_values=: (
4165
+ ::Hash[Symbol, String]
4166
+ ) -> ::Hash[Symbol, String]
4167
+
4168
+ attr_reader product_id: String?
4169
+
4170
+ def product_id=: (String) -> String
4171
+
4172
+ attr_reader product_tags: ::Array[String]?
4173
+
4174
+ def product_tags=: (::Array[String]) -> ::Array[String]
4175
+
4176
+ def initialize: (
4177
+ ?presentation_group_values: ::Hash[Symbol, String],
4178
+ ?pricing_group_values: ::Hash[Symbol, String],
4179
+ ?product_id: String,
4180
+ ?product_tags: ::Array[String]
4181
+ ) -> void
4182
+
4183
+ def to_hash: -> {
4184
+ presentation_group_values: ::Hash[Symbol, String],
4185
+ pricing_group_values: ::Hash[Symbol, String],
4186
+ product_id: String,
4187
+ product_tags: ::Array[String]
4188
+ }
4189
+ end
2573
4190
  end
2574
4191
 
2575
4192
  type payment_gate_config =
2576
4193
  {
2577
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4194
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4195
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2578
4196
  stripe_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
2579
- tax_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
4197
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2580
4198
  }
2581
4199
 
2582
4200
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2583
- attr_accessor payment_gate_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
4201
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
4202
+
4203
+ attr_reader precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
4204
+
4205
+ def precalculated_tax_config=: (
4206
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
4207
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2584
4208
 
2585
4209
  attr_reader stripe_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig?
2586
4210
 
@@ -2588,18 +4212,26 @@ module MetronomeSDK
2588
4212
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
2589
4213
  ) -> MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
2590
4214
 
2591
- attr_reader tax_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
4215
+ attr_reader tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
2592
4216
 
2593
4217
  def tax_type=: (
2594
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2595
- ) -> MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
4218
+ MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
4219
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2596
4220
 
2597
4221
  def initialize: (
2598
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4222
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4223
+ ?precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2599
4224
  ?stripe_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
2600
- ?tax_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
4225
+ ?tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2601
4226
  ) -> void
2602
4227
 
4228
+ def to_hash: -> {
4229
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4230
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
4231
+ stripe_config: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
4232
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
4233
+ }
4234
+
2603
4235
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
2604
4236
 
2605
4237
  module PaymentGateType
@@ -2609,21 +4241,49 @@ module MetronomeSDK
2609
4241
  STRIPE: :STRIPE
2610
4242
  EXTERNAL: :EXTERNAL
2611
4243
 
2612
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
4244
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
4245
+ end
4246
+
4247
+ type precalculated_tax_config =
4248
+ { tax_amount: Float, tax_name: String }
4249
+
4250
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4251
+ attr_accessor tax_amount: Float
4252
+
4253
+ attr_reader tax_name: String?
4254
+
4255
+ def tax_name=: (String) -> String
4256
+
4257
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
4258
+
4259
+ def to_hash: -> { tax_amount: Float, tax_name: String }
2613
4260
  end
2614
4261
 
2615
4262
  type stripe_config =
2616
4263
  {
2617
- payment_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4264
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
4265
+ invoice_metadata: ::Hash[Symbol, String]
2618
4266
  }
2619
4267
 
2620
4268
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2621
- attr_accessor payment_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4269
+ attr_accessor payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4270
+
4271
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
4272
+
4273
+ def invoice_metadata=: (
4274
+ ::Hash[Symbol, String]
4275
+ ) -> ::Hash[Symbol, String]
2622
4276
 
2623
4277
  def initialize: (
2624
- payment_type: MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4278
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
4279
+ ?invoice_metadata: ::Hash[Symbol, String]
2625
4280
  ) -> void
2626
4281
 
4282
+ def to_hash: -> {
4283
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
4284
+ invoice_metadata: ::Hash[Symbol, String]
4285
+ }
4286
+
2627
4287
  type payment_type = :INVOICE | :PAYMENT_INTENT
2628
4288
 
2629
4289
  module PaymentType
@@ -2632,23 +4292,144 @@ module MetronomeSDK
2632
4292
  INVOICE: :INVOICE
2633
4293
  PAYMENT_INTENT: :PAYMENT_INTENT
2634
4294
 
2635
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
4295
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
2636
4296
  end
2637
4297
  end
2638
4298
 
2639
- type tax_type = :NONE | :STRIPE
4299
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
2640
4300
 
2641
4301
  module TaxType
2642
4302
  extend MetronomeSDK::Internal::Type::Enum
2643
4303
 
2644
4304
  NONE: :NONE
2645
4305
  STRIPE: :STRIPE
4306
+ ANROK: :ANROK
4307
+ PRECALCULATED: :PRECALCULATED
2646
4308
 
2647
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
4309
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
2648
4310
  end
2649
4311
  end
2650
4312
  end
2651
4313
 
4314
+ type update_recurring_commit =
4315
+ {
4316
+ recurring_commit_id: String,
4317
+ access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
4318
+ ending_before: Time?,
4319
+ invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
4320
+ }
4321
+
4322
+ class UpdateRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
4323
+ attr_accessor recurring_commit_id: String
4324
+
4325
+ attr_reader access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount?
4326
+
4327
+ def access_amount=: (
4328
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount
4329
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount
4330
+
4331
+ attr_accessor ending_before: Time?
4332
+
4333
+ attr_reader invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount?
4334
+
4335
+ def invoice_amount=: (
4336
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
4337
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
4338
+
4339
+ def initialize: (
4340
+ recurring_commit_id: String,
4341
+ ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
4342
+ ?ending_before: Time?,
4343
+ ?invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
4344
+ ) -> void
4345
+
4346
+ def to_hash: -> {
4347
+ recurring_commit_id: String,
4348
+ access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
4349
+ ending_before: Time?,
4350
+ invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
4351
+ }
4352
+
4353
+ type access_amount = { quantity: Float, unit_price: Float }
4354
+
4355
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
4356
+ attr_reader quantity: Float?
4357
+
4358
+ def quantity=: (Float) -> Float
4359
+
4360
+ attr_reader unit_price: Float?
4361
+
4362
+ def unit_price=: (Float) -> Float
4363
+
4364
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
4365
+
4366
+ def to_hash: -> { quantity: Float, unit_price: Float }
4367
+ end
4368
+
4369
+ type invoice_amount = { quantity: Float, unit_price: Float }
4370
+
4371
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
4372
+ attr_reader quantity: Float?
4373
+
4374
+ def quantity=: (Float) -> Float
4375
+
4376
+ attr_reader unit_price: Float?
4377
+
4378
+ def unit_price=: (Float) -> Float
4379
+
4380
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
4381
+
4382
+ def to_hash: -> { quantity: Float, unit_price: Float }
4383
+ end
4384
+ end
4385
+
4386
+ type update_recurring_credit =
4387
+ {
4388
+ recurring_credit_id: String,
4389
+ access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4390
+ ending_before: Time?
4391
+ }
4392
+
4393
+ class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
4394
+ attr_accessor recurring_credit_id: String
4395
+
4396
+ attr_reader access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount?
4397
+
4398
+ def access_amount=: (
4399
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount
4400
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount
4401
+
4402
+ attr_accessor ending_before: Time?
4403
+
4404
+ def initialize: (
4405
+ recurring_credit_id: String,
4406
+ ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4407
+ ?ending_before: Time?
4408
+ ) -> void
4409
+
4410
+ def to_hash: -> {
4411
+ recurring_credit_id: String,
4412
+ access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4413
+ ending_before: Time?
4414
+ }
4415
+
4416
+ type access_amount = { quantity: Float, unit_price: Float }
4417
+
4418
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
4419
+ attr_reader quantity: Float?
4420
+
4421
+ def quantity=: (Float) -> Float
4422
+
4423
+ attr_reader unit_price: Float?
4424
+
4425
+ def unit_price=: (Float) -> Float
4426
+
4427
+ def initialize: (?quantity: Float, ?unit_price: Float) -> void
4428
+
4429
+ def to_hash: -> { quantity: Float, unit_price: Float }
4430
+ end
4431
+ end
4432
+
2652
4433
  type update_scheduled_charge =
2653
4434
  {
2654
4435
  scheduled_charge_id: String,
@@ -2673,6 +4454,12 @@ module MetronomeSDK
2673
4454
  ?netsuite_sales_order_id: String?
2674
4455
  ) -> void
2675
4456
 
4457
+ def to_hash: -> {
4458
+ scheduled_charge_id: String,
4459
+ invoice_schedule: MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule,
4460
+ netsuite_sales_order_id: String?
4461
+ }
4462
+
2676
4463
  type invoice_schedule =
2677
4464
  {
2678
4465
  add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
@@ -2705,6 +4492,12 @@ module MetronomeSDK
2705
4492
  ?update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
2706
4493
  ) -> void
2707
4494
 
4495
+ def to_hash: -> {
4496
+ add_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem],
4497
+ remove_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem],
4498
+ update_schedule_items: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
4499
+ }
4500
+
2708
4501
  type add_schedule_item =
2709
4502
  {
2710
4503
  timestamp: Time,
@@ -2734,6 +4527,13 @@ module MetronomeSDK
2734
4527
  ?quantity: Float,
2735
4528
  ?unit_price: Float
2736
4529
  ) -> void
4530
+
4531
+ def to_hash: -> {
4532
+ timestamp: Time,
4533
+ amount: Float,
4534
+ quantity: Float,
4535
+ unit_price: Float
4536
+ }
2737
4537
  end
2738
4538
 
2739
4539
  type remove_schedule_item = { id: String }
@@ -2742,6 +4542,8 @@ module MetronomeSDK
2742
4542
  attr_accessor id: String
2743
4543
 
2744
4544
  def initialize: (id: String) -> void
4545
+
4546
+ def to_hash: -> { id: String }
2745
4547
  end
2746
4548
 
2747
4549
  type update_schedule_item =
@@ -2779,6 +4581,14 @@ module MetronomeSDK
2779
4581
  ?timestamp: Time,
2780
4582
  ?unit_price: Float
2781
4583
  ) -> void
4584
+
4585
+ def to_hash: -> {
4586
+ id: String,
4587
+ amount: Float,
4588
+ quantity: Float,
4589
+ timestamp: Time,
4590
+ unit_price: Float
4591
+ }
2782
4592
  end
2783
4593
  end
2784
4594
  end
@@ -2819,34 +4629,58 @@ module MetronomeSDK
2819
4629
  ?threshold_amount: Float
2820
4630
  ) -> void
2821
4631
 
4632
+ def to_hash: -> {
4633
+ commit: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit,
4634
+ is_enabled: bool,
4635
+ payment_gate_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig,
4636
+ threshold_amount: Float
4637
+ }
4638
+
2822
4639
  type commit =
2823
- { description: String?, name: String?, product_id: String }
4640
+ { description: String, name: String, product_id: String }
2824
4641
 
2825
4642
  class Commit < MetronomeSDK::Internal::Type::BaseModel
2826
- attr_accessor description: String?
4643
+ attr_reader description: String?
4644
+
4645
+ def description=: (String) -> String
4646
+
4647
+ attr_reader name: String?
2827
4648
 
2828
- attr_accessor name: String?
4649
+ def name=: (String) -> String
2829
4650
 
2830
4651
  attr_reader product_id: String?
2831
4652
 
2832
4653
  def product_id=: (String) -> String
2833
4654
 
2834
4655
  def initialize: (
2835
- ?description: String?,
2836
- ?name: String?,
4656
+ ?description: String,
4657
+ ?name: String,
2837
4658
  ?product_id: String
2838
4659
  ) -> void
4660
+
4661
+ def to_hash: -> {
4662
+ description: String,
4663
+ name: String,
4664
+ product_id: String
4665
+ }
2839
4666
  end
2840
4667
 
2841
4668
  type payment_gate_config =
2842
4669
  {
2843
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4670
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4671
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2844
4672
  stripe_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2845
- tax_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
4673
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
2846
4674
  }
2847
4675
 
2848
4676
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2849
- attr_accessor payment_gate_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
4677
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
4678
+
4679
+ attr_reader precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
4680
+
4681
+ def precalculated_tax_config=: (
4682
+ MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
4683
+ ) -> MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2850
4684
 
2851
4685
  attr_reader stripe_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
2852
4686
 
@@ -2854,18 +4688,26 @@ module MetronomeSDK
2854
4688
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2855
4689
  ) -> MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2856
4690
 
2857
- attr_reader tax_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type?
4691
+ attr_reader tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type?
2858
4692
 
2859
4693
  def tax_type=: (
2860
- MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
2861
- ) -> MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
4694
+ MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
4695
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
2862
4696
 
2863
4697
  def initialize: (
2864
- payment_gate_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4698
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4699
+ ?precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2865
4700
  ?stripe_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2866
- ?tax_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
4701
+ ?tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
2867
4702
  ) -> void
2868
4703
 
4704
+ def to_hash: -> {
4705
+ payment_gate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
4706
+ precalculated_tax_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
4707
+ stripe_config: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
4708
+ tax_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type
4709
+ }
4710
+
2869
4711
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
2870
4712
 
2871
4713
  module PaymentGateType
@@ -2875,21 +4717,49 @@ module MetronomeSDK
2875
4717
  STRIPE: :STRIPE
2876
4718
  EXTERNAL: :EXTERNAL
2877
4719
 
2878
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
4720
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
4721
+ end
4722
+
4723
+ type precalculated_tax_config =
4724
+ { tax_amount: Float, tax_name: String }
4725
+
4726
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4727
+ attr_accessor tax_amount: Float
4728
+
4729
+ attr_reader tax_name: String?
4730
+
4731
+ def tax_name=: (String) -> String
4732
+
4733
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
4734
+
4735
+ def to_hash: -> { tax_amount: Float, tax_name: String }
2879
4736
  end
2880
4737
 
2881
4738
  type stripe_config =
2882
4739
  {
2883
- payment_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4740
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
4741
+ invoice_metadata: ::Hash[Symbol, String]
2884
4742
  }
2885
4743
 
2886
4744
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2887
- attr_accessor payment_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4745
+ attr_accessor payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4746
+
4747
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
4748
+
4749
+ def invoice_metadata=: (
4750
+ ::Hash[Symbol, String]
4751
+ ) -> ::Hash[Symbol, String]
2888
4752
 
2889
4753
  def initialize: (
2890
- payment_type: MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
4754
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
4755
+ ?invoice_metadata: ::Hash[Symbol, String]
2891
4756
  ) -> void
2892
4757
 
4758
+ def to_hash: -> {
4759
+ payment_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
4760
+ invoice_metadata: ::Hash[Symbol, String]
4761
+ }
4762
+
2893
4763
  type payment_type = :INVOICE | :PAYMENT_INTENT
2894
4764
 
2895
4765
  module PaymentType
@@ -2898,22 +4768,82 @@ module MetronomeSDK
2898
4768
  INVOICE: :INVOICE
2899
4769
  PAYMENT_INTENT: :PAYMENT_INTENT
2900
4770
 
2901
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
4771
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
2902
4772
  end
2903
4773
  end
2904
4774
 
2905
- type tax_type = :NONE | :STRIPE
4775
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
2906
4776
 
2907
4777
  module TaxType
2908
4778
  extend MetronomeSDK::Internal::Type::Enum
2909
4779
 
2910
4780
  NONE: :NONE
2911
4781
  STRIPE: :STRIPE
4782
+ ANROK: :ANROK
4783
+ PRECALCULATED: :PRECALCULATED
2912
4784
 
2913
- def self?.values: -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type]
4785
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::tax_type]
2914
4786
  end
2915
4787
  end
2916
4788
  end
4789
+
4790
+ type update_subscription =
4791
+ {
4792
+ subscription_id: String,
4793
+ ending_before: Time?,
4794
+ quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]
4795
+ }
4796
+
4797
+ class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel
4798
+ attr_accessor subscription_id: String
4799
+
4800
+ attr_accessor ending_before: Time?
4801
+
4802
+ attr_reader quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]?
4803
+
4804
+ def quantity_updates=: (
4805
+ ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]
4806
+ ) -> ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]
4807
+
4808
+ def initialize: (
4809
+ subscription_id: String,
4810
+ ?ending_before: Time?,
4811
+ ?quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]
4812
+ ) -> void
4813
+
4814
+ def to_hash: -> {
4815
+ subscription_id: String,
4816
+ ending_before: Time?,
4817
+ quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]
4818
+ }
4819
+
4820
+ type quantity_update =
4821
+ { starting_at: Time, quantity: Float, quantity_delta: Float }
4822
+
4823
+ class QuantityUpdate < MetronomeSDK::Internal::Type::BaseModel
4824
+ attr_accessor starting_at: Time
4825
+
4826
+ attr_reader quantity: Float?
4827
+
4828
+ def quantity=: (Float) -> Float
4829
+
4830
+ attr_reader quantity_delta: Float?
4831
+
4832
+ def quantity_delta=: (Float) -> Float
4833
+
4834
+ def initialize: (
4835
+ starting_at: Time,
4836
+ ?quantity: Float,
4837
+ ?quantity_delta: Float
4838
+ ) -> void
4839
+
4840
+ def to_hash: -> {
4841
+ starting_at: Time,
4842
+ quantity: Float,
4843
+ quantity_delta: Float
4844
+ }
4845
+ end
4846
+ end
2917
4847
  end
2918
4848
  end
2919
4849
  end