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
@@ -11,12 +11,14 @@ module MetronomeSDK
11
11
  custom_fields: ::Hash[Symbol, String],
12
12
  discounts: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount],
13
13
  ending_before: Time,
14
+ hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration,
14
15
  multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization,
15
16
  name: String,
16
17
  net_payment_terms_days: Float,
17
18
  netsuite_sales_order_id: String,
18
19
  overrides: ::Array[MetronomeSDK::V1::ContractCreateParams::Override],
19
20
  prepaid_balance_threshold_configuration: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration,
21
+ priority: Float,
20
22
  professional_services: ::Array[MetronomeSDK::V1::ContractCreateParams::ProfessionalService],
21
23
  rate_card_alias: String,
22
24
  rate_card_id: String,
@@ -27,6 +29,7 @@ module MetronomeSDK
27
29
  scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
28
30
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
29
31
  spend_threshold_configuration: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration,
32
+ subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
30
33
  total_contract_value: Float,
31
34
  transition: MetronomeSDK::V1::ContractCreateParams::Transition,
32
35
  uniqueness_key: String,
@@ -75,6 +78,12 @@ module MetronomeSDK
75
78
 
76
79
  def ending_before=: (Time) -> Time
77
80
 
81
+ attr_reader hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration?
82
+
83
+ def hierarchy_configuration=: (
84
+ MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration
85
+ ) -> MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration
86
+
78
87
  attr_reader multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization?
79
88
 
80
89
  def multiplier_override_prioritization=: (
@@ -105,6 +114,10 @@ module MetronomeSDK
105
114
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration
106
115
  ) -> MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration
107
116
 
117
+ attr_reader priority: Float?
118
+
119
+ def priority=: (Float) -> Float
120
+
108
121
  attr_reader professional_services: ::Array[MetronomeSDK::V1::ContractCreateParams::ProfessionalService]?
109
122
 
110
123
  def professional_services=: (
@@ -159,6 +172,12 @@ module MetronomeSDK
159
172
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration
160
173
  ) -> MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration
161
174
 
175
+ attr_reader subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription]?
176
+
177
+ def subscriptions=: (
178
+ ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription]
179
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription]
180
+
162
181
  attr_reader total_contract_value: Float?
163
182
 
164
183
  def total_contract_value=: (Float) -> Float
@@ -194,12 +213,14 @@ module MetronomeSDK
194
213
  ?custom_fields: ::Hash[Symbol, String],
195
214
  ?discounts: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount],
196
215
  ?ending_before: Time,
216
+ ?hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration,
197
217
  ?multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization,
198
218
  ?name: String,
199
219
  ?net_payment_terms_days: Float,
200
220
  ?netsuite_sales_order_id: String,
201
221
  ?overrides: ::Array[MetronomeSDK::V1::ContractCreateParams::Override],
202
222
  ?prepaid_balance_threshold_configuration: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration,
223
+ ?priority: Float,
203
224
  ?professional_services: ::Array[MetronomeSDK::V1::ContractCreateParams::ProfessionalService],
204
225
  ?rate_card_alias: String,
205
226
  ?rate_card_id: String,
@@ -210,6 +231,7 @@ module MetronomeSDK
210
231
  ?scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
211
232
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
212
233
  ?spend_threshold_configuration: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration,
234
+ ?subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
213
235
  ?total_contract_value: Float,
214
236
  ?transition: MetronomeSDK::V1::ContractCreateParams::Transition,
215
237
  ?uniqueness_key: String,
@@ -218,36 +240,78 @@ module MetronomeSDK
218
240
  ?request_options: MetronomeSDK::request_opts
219
241
  ) -> void
220
242
 
243
+ def to_hash: -> {
244
+ customer_id: String,
245
+ starting_at: Time,
246
+ billing_provider_configuration: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration,
247
+ commits: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit],
248
+ credits: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit],
249
+ custom_fields: ::Hash[Symbol, String],
250
+ discounts: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount],
251
+ ending_before: Time,
252
+ hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration,
253
+ multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization,
254
+ name: String,
255
+ net_payment_terms_days: Float,
256
+ netsuite_sales_order_id: String,
257
+ overrides: ::Array[MetronomeSDK::V1::ContractCreateParams::Override],
258
+ prepaid_balance_threshold_configuration: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration,
259
+ priority: Float,
260
+ professional_services: ::Array[MetronomeSDK::V1::ContractCreateParams::ProfessionalService],
261
+ rate_card_alias: String,
262
+ rate_card_id: String,
263
+ recurring_commits: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit],
264
+ recurring_credits: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit],
265
+ reseller_royalties: ::Array[MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty],
266
+ salesforce_opportunity_id: String,
267
+ scheduled_charges: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge],
268
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
269
+ spend_threshold_configuration: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration,
270
+ subscriptions: ::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
271
+ total_contract_value: Float,
272
+ transition: MetronomeSDK::V1::ContractCreateParams::Transition,
273
+ uniqueness_key: String,
274
+ usage_filter: MetronomeSDK::BaseUsageFilter,
275
+ usage_statement_schedule: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule,
276
+ request_options: MetronomeSDK::RequestOptions
277
+ }
278
+
221
279
  type billing_provider_configuration =
222
280
  {
223
- billing_provider: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
281
+ billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
224
282
  billing_provider_configuration_id: String,
225
- delivery_method: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
283
+ delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
226
284
  }
227
285
 
228
286
  class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
229
- attr_reader billing_provider: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider?
287
+ attr_reader billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider?
230
288
 
231
289
  def billing_provider=: (
232
- MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider
233
- ) -> MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider
290
+ MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider
291
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider
234
292
 
235
293
  attr_reader billing_provider_configuration_id: String?
236
294
 
237
295
  def billing_provider_configuration_id=: (String) -> String
238
296
 
239
- attr_reader delivery_method: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method?
297
+ attr_reader delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method?
240
298
 
241
299
  def delivery_method=: (
242
- MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
243
- ) -> MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
300
+ MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
301
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
244
302
 
245
303
  def initialize: (
246
- ?billing_provider: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
304
+ ?billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
247
305
  ?billing_provider_configuration_id: String,
248
- ?delivery_method: MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
306
+ ?delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
249
307
  ) -> void
250
308
 
309
+ def to_hash: -> {
310
+ billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
311
+ billing_provider_configuration_id: String,
312
+ delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
313
+ }
314
+
251
315
  type billing_provider =
252
316
  :aws_marketplace
253
317
  | :azure_marketplace
@@ -264,7 +328,7 @@ module MetronomeSDK
264
328
  STRIPE: :stripe
265
329
  NETSUITE: :netsuite
266
330
 
267
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider]
331
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider]
268
332
  end
269
333
 
270
334
  type delivery_method =
@@ -278,34 +342,36 @@ module MetronomeSDK
278
342
  TACKLE: :tackle
279
343
  AWS_SNS: :aws_sns
280
344
 
281
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method]
345
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method]
282
346
  end
283
347
  end
284
348
 
285
349
  type commit =
286
350
  {
287
351
  product_id: String,
288
- type: MetronomeSDK::V1::ContractCreateParams::Commit::type_,
352
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_,
289
353
  access_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule,
290
354
  amount: Float,
291
355
  applicable_product_ids: ::Array[String],
292
356
  applicable_product_tags: ::Array[String],
293
357
  custom_fields: ::Hash[Symbol, String],
294
358
  description: String,
359
+ hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration,
295
360
  invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
296
361
  name: String,
297
362
  netsuite_sales_order_id: String,
298
363
  payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
299
364
  priority: Float,
300
- rate_type: MetronomeSDK::V1::ContractCreateParams::Commit::rate_type,
365
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
301
366
  rollover_fraction: Float,
367
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier],
302
368
  temporary_id: String
303
369
  }
304
370
 
305
371
  class Commit < MetronomeSDK::Internal::Type::BaseModel
306
372
  attr_accessor product_id: String
307
373
 
308
- attr_accessor type: MetronomeSDK::V1::ContractCreateParams::Commit::type_
374
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_
309
375
 
310
376
  attr_reader access_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule?
311
377
 
@@ -333,6 +399,12 @@ module MetronomeSDK
333
399
 
334
400
  def description=: (String) -> String
335
401
 
402
+ attr_reader hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration?
403
+
404
+ def hierarchy_configuration=: (
405
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration
406
+ ) -> MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration
407
+
336
408
  attr_reader invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule?
337
409
 
338
410
  def invoice_schedule=: (
@@ -357,39 +429,68 @@ module MetronomeSDK
357
429
 
358
430
  def priority=: (Float) -> Float
359
431
 
360
- attr_reader rate_type: MetronomeSDK::V1::ContractCreateParams::Commit::rate_type?
432
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type?
361
433
 
362
434
  def rate_type=: (
363
- MetronomeSDK::V1::ContractCreateParams::Commit::rate_type
364
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::rate_type
435
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type
436
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type
365
437
 
366
438
  attr_reader rollover_fraction: Float?
367
439
 
368
440
  def rollover_fraction=: (Float) -> Float
369
441
 
442
+ attr_reader specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier]?
443
+
444
+ def specifiers=: (
445
+ ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier]
446
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier]
447
+
370
448
  attr_reader temporary_id: String?
371
449
 
372
450
  def temporary_id=: (String) -> String
373
451
 
374
452
  def initialize: (
375
453
  product_id: String,
376
- type: MetronomeSDK::V1::ContractCreateParams::Commit::type_,
454
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_,
377
455
  ?access_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule,
378
456
  ?amount: Float,
379
457
  ?applicable_product_ids: ::Array[String],
380
458
  ?applicable_product_tags: ::Array[String],
381
459
  ?custom_fields: ::Hash[Symbol, String],
382
460
  ?description: String,
461
+ ?hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration,
383
462
  ?invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
384
463
  ?name: String,
385
464
  ?netsuite_sales_order_id: String,
386
465
  ?payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
387
466
  ?priority: Float,
388
- ?rate_type: MetronomeSDK::V1::ContractCreateParams::Commit::rate_type,
467
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
389
468
  ?rollover_fraction: Float,
469
+ ?specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier],
390
470
  ?temporary_id: String
391
471
  ) -> void
392
472
 
473
+ def to_hash: -> {
474
+ product_id: String,
475
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_,
476
+ access_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule,
477
+ amount: Float,
478
+ applicable_product_ids: ::Array[String],
479
+ applicable_product_tags: ::Array[String],
480
+ custom_fields: ::Hash[Symbol, String],
481
+ description: String,
482
+ hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration,
483
+ invoice_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule,
484
+ name: String,
485
+ netsuite_sales_order_id: String,
486
+ payment_gate_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig,
487
+ priority: Float,
488
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
489
+ rollover_fraction: Float,
490
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier],
491
+ temporary_id: String
492
+ }
493
+
393
494
  type type_ = :PREPAID | :POSTPAID
394
495
 
395
496
  module Type
@@ -398,7 +499,7 @@ module MetronomeSDK
398
499
  PREPAID: :PREPAID
399
500
  POSTPAID: :POSTPAID
400
501
 
401
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::type_]
502
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_]
402
503
  end
403
504
 
404
505
  type access_schedule =
@@ -419,6 +520,11 @@ module MetronomeSDK
419
520
  ?credit_type_id: String
420
521
  ) -> void
421
522
 
523
+ def to_hash: -> {
524
+ schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem],
525
+ credit_type_id: String
526
+ }
527
+
422
528
  type schedule_item =
423
529
  { amount: Float, ending_before: Time, starting_at: Time }
424
530
 
@@ -434,6 +540,126 @@ module MetronomeSDK
434
540
  ending_before: Time,
435
541
  starting_at: Time
436
542
  ) -> void
543
+
544
+ def to_hash: -> {
545
+ amount: Float,
546
+ ending_before: Time,
547
+ starting_at: Time
548
+ }
549
+ end
550
+ end
551
+
552
+ type hierarchy_configuration =
553
+ {
554
+ child_access: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::child_access
555
+ }
556
+
557
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
558
+ attr_accessor child_access: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::child_access
559
+
560
+ def initialize: (
561
+ child_access: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::child_access
562
+ ) -> void
563
+
564
+ def to_hash: -> {
565
+ child_access: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::child_access
566
+ }
567
+
568
+ type child_access =
569
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
570
+ | MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
571
+ | MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
572
+
573
+ module ChildAccess
574
+ extend MetronomeSDK::Internal::Type::Union
575
+
576
+ type commit_hierarchy_child_access_all =
577
+ {
578
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
579
+ }
580
+
581
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
582
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
583
+
584
+ def initialize: (
585
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
586
+ ) -> void
587
+
588
+ def to_hash: -> {
589
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
590
+ }
591
+
592
+ type type_ = :ALL
593
+
594
+ module Type
595
+ extend MetronomeSDK::Internal::Type::Enum
596
+
597
+ ALL: :ALL
598
+
599
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
600
+ end
601
+ end
602
+
603
+ type commit_hierarchy_child_access_none =
604
+ {
605
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
606
+ }
607
+
608
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
609
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
610
+
611
+ def initialize: (
612
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
613
+ ) -> void
614
+
615
+ def to_hash: -> {
616
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
617
+ }
618
+
619
+ type type_ = :NONE
620
+
621
+ module Type
622
+ extend MetronomeSDK::Internal::Type::Enum
623
+
624
+ NONE: :NONE
625
+
626
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
627
+ end
628
+ end
629
+
630
+ type commit_hierarchy_child_access_contract_ids =
631
+ {
632
+ contract_ids: ::Array[String],
633
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
634
+ }
635
+
636
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
637
+ attr_accessor contract_ids: ::Array[String]
638
+
639
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
640
+
641
+ def initialize: (
642
+ contract_ids: ::Array[String],
643
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
644
+ ) -> void
645
+
646
+ def to_hash: -> {
647
+ contract_ids: ::Array[String],
648
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
649
+ }
650
+
651
+ type type_ = :CONTRACT_IDS
652
+
653
+ module Type
654
+ extend MetronomeSDK::Internal::Type::Enum
655
+
656
+ CONTRACT_IDS: :CONTRACT_IDS
657
+
658
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
659
+ end
660
+ end
661
+
662
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::child_access]
437
663
  end
438
664
  end
439
665
 
@@ -467,11 +693,17 @@ module MetronomeSDK
467
693
  ?schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
468
694
  ) -> void
469
695
 
696
+ def to_hash: -> {
697
+ credit_type_id: String,
698
+ recurring_schedule: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule,
699
+ schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
700
+ }
701
+
470
702
  type recurring_schedule =
471
703
  {
472
- amount_distribution: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
704
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
473
705
  ending_before: Time,
474
- frequency: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
706
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
475
707
  starting_at: Time,
476
708
  amount: Float,
477
709
  quantity: Float,
@@ -479,11 +711,11 @@ module MetronomeSDK
479
711
  }
480
712
 
481
713
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
482
- attr_accessor amount_distribution: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution
714
+ attr_accessor amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution
483
715
 
484
716
  attr_accessor ending_before: Time
485
717
 
486
- attr_accessor frequency: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency
718
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency
487
719
 
488
720
  attr_accessor starting_at: Time
489
721
 
@@ -500,15 +732,25 @@ module MetronomeSDK
500
732
  def unit_price=: (Float) -> Float
501
733
 
502
734
  def initialize: (
503
- amount_distribution: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
735
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
504
736
  ending_before: Time,
505
- frequency: MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
737
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
506
738
  starting_at: Time,
507
739
  ?amount: Float,
508
740
  ?quantity: Float,
509
741
  ?unit_price: Float
510
742
  ) -> void
511
743
 
744
+ def to_hash: -> {
745
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
746
+ ending_before: Time,
747
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
748
+ starting_at: Time,
749
+ amount: Float,
750
+ quantity: Float,
751
+ unit_price: Float
752
+ }
753
+
512
754
  type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
513
755
 
514
756
  module AmountDistribution
@@ -518,7 +760,7 @@ module MetronomeSDK
518
760
  DIVIDED_ROUNDED: :DIVIDED_ROUNDED
519
761
  EACH: :EACH
520
762
 
521
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution]
763
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution]
522
764
  end
523
765
 
524
766
  type frequency = :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL
@@ -531,7 +773,7 @@ module MetronomeSDK
531
773
  SEMI_ANNUAL: :SEMI_ANNUAL
532
774
  ANNUAL: :ANNUAL
533
775
 
534
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency]
776
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency]
535
777
  end
536
778
  end
537
779
 
@@ -564,18 +806,32 @@ module MetronomeSDK
564
806
  ?quantity: Float,
565
807
  ?unit_price: Float
566
808
  ) -> void
809
+
810
+ def to_hash: -> {
811
+ timestamp: Time,
812
+ amount: Float,
813
+ quantity: Float,
814
+ unit_price: Float
815
+ }
567
816
  end
568
817
  end
569
818
 
570
819
  type payment_gate_config =
571
820
  {
572
- payment_gate_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
821
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
822
+ precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
573
823
  stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
574
- tax_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
824
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
575
825
  }
576
826
 
577
827
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
578
- attr_accessor payment_gate_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type
828
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type
829
+
830
+ attr_reader precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig?
831
+
832
+ def precalculated_tax_config=: (
833
+ MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
834
+ ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
579
835
 
580
836
  attr_reader stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig?
581
837
 
@@ -583,18 +839,26 @@ module MetronomeSDK
583
839
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
584
840
  ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
585
841
 
586
- attr_reader tax_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type?
842
+ attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type?
587
843
 
588
844
  def tax_type=: (
589
- MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
590
- ) -> MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
845
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
846
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
591
847
 
592
848
  def initialize: (
593
- payment_gate_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
849
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
850
+ ?precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
594
851
  ?stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
595
- ?tax_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
852
+ ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
596
853
  ) -> void
597
854
 
855
+ def to_hash: -> {
856
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
857
+ precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
858
+ stripe_config: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
859
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
860
+ }
861
+
598
862
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
599
863
 
600
864
  module PaymentGateType
@@ -604,21 +868,49 @@ module MetronomeSDK
604
868
  STRIPE: :STRIPE
605
869
  EXTERNAL: :EXTERNAL
606
870
 
607
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type]
871
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type]
872
+ end
873
+
874
+ type precalculated_tax_config =
875
+ { tax_amount: Float, tax_name: String }
876
+
877
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
878
+ attr_accessor tax_amount: Float
879
+
880
+ attr_reader tax_name: String?
881
+
882
+ def tax_name=: (String) -> String
883
+
884
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
885
+
886
+ def to_hash: -> { tax_amount: Float, tax_name: String }
608
887
  end
609
888
 
610
889
  type stripe_config =
611
890
  {
612
- payment_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
891
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
892
+ invoice_metadata: ::Hash[Symbol, String]
613
893
  }
614
894
 
615
895
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
616
- attr_accessor payment_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
896
+ attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
897
+
898
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
899
+
900
+ def invoice_metadata=: (
901
+ ::Hash[Symbol, String]
902
+ ) -> ::Hash[Symbol, String]
617
903
 
618
904
  def initialize: (
619
- payment_type: MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
905
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
906
+ ?invoice_metadata: ::Hash[Symbol, String]
620
907
  ) -> void
621
908
 
909
+ def to_hash: -> {
910
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type,
911
+ invoice_metadata: ::Hash[Symbol, String]
912
+ }
913
+
622
914
  type payment_type = :INVOICE | :PAYMENT_INTENT
623
915
 
624
916
  module PaymentType
@@ -627,19 +919,21 @@ module MetronomeSDK
627
919
  INVOICE: :INVOICE
628
920
  PAYMENT_INTENT: :PAYMENT_INTENT
629
921
 
630
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type]
922
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type]
631
923
  end
632
924
  end
633
925
 
634
- type tax_type = :NONE | :STRIPE
926
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
635
927
 
636
928
  module TaxType
637
929
  extend MetronomeSDK::Internal::Type::Enum
638
930
 
639
931
  NONE: :NONE
640
932
  STRIPE: :STRIPE
933
+ ANROK: :ANROK
934
+ PRECALCULATED: :PRECALCULATED
641
935
 
642
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type]
936
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type]
643
937
  end
644
938
  end
645
939
 
@@ -651,7 +945,51 @@ module MetronomeSDK
651
945
  COMMIT_RATE: :COMMIT_RATE
652
946
  LIST_RATE: :LIST_RATE
653
947
 
654
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Commit::rate_type]
948
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type]
949
+ end
950
+
951
+ type specifier =
952
+ {
953
+ presentation_group_values: ::Hash[Symbol, String],
954
+ pricing_group_values: ::Hash[Symbol, String],
955
+ product_id: String,
956
+ product_tags: ::Array[String]
957
+ }
958
+
959
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
960
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
961
+
962
+ def presentation_group_values=: (
963
+ ::Hash[Symbol, String]
964
+ ) -> ::Hash[Symbol, String]
965
+
966
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
967
+
968
+ def pricing_group_values=: (
969
+ ::Hash[Symbol, String]
970
+ ) -> ::Hash[Symbol, String]
971
+
972
+ attr_reader product_id: String?
973
+
974
+ def product_id=: (String) -> String
975
+
976
+ attr_reader product_tags: ::Array[String]?
977
+
978
+ def product_tags=: (::Array[String]) -> ::Array[String]
979
+
980
+ def initialize: (
981
+ ?presentation_group_values: ::Hash[Symbol, String],
982
+ ?pricing_group_values: ::Hash[Symbol, String],
983
+ ?product_id: String,
984
+ ?product_tags: ::Array[String]
985
+ ) -> void
986
+
987
+ def to_hash: -> {
988
+ presentation_group_values: ::Hash[Symbol, String],
989
+ pricing_group_values: ::Hash[Symbol, String],
990
+ product_id: String,
991
+ product_tags: ::Array[String]
992
+ }
655
993
  end
656
994
  end
657
995
 
@@ -663,10 +1001,12 @@ module MetronomeSDK
663
1001
  applicable_product_tags: ::Array[String],
664
1002
  custom_fields: ::Hash[Symbol, String],
665
1003
  description: String,
1004
+ hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration,
666
1005
  name: String,
667
1006
  netsuite_sales_order_id: String,
668
1007
  priority: Float,
669
- rate_type: MetronomeSDK::V1::ContractCreateParams::Credit::rate_type
1008
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type,
1009
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
670
1010
  }
671
1011
 
672
1012
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -690,6 +1030,12 @@ module MetronomeSDK
690
1030
 
691
1031
  def description=: (String) -> String
692
1032
 
1033
+ attr_reader hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration?
1034
+
1035
+ def hierarchy_configuration=: (
1036
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration
1037
+ ) -> MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration
1038
+
693
1039
  attr_reader name: String?
694
1040
 
695
1041
  def name=: (String) -> String
@@ -702,11 +1048,17 @@ module MetronomeSDK
702
1048
 
703
1049
  def priority=: (Float) -> Float
704
1050
 
705
- attr_reader rate_type: MetronomeSDK::V1::ContractCreateParams::Credit::rate_type?
1051
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type?
706
1052
 
707
1053
  def rate_type=: (
708
- MetronomeSDK::V1::ContractCreateParams::Credit::rate_type
709
- ) -> MetronomeSDK::V1::ContractCreateParams::Credit::rate_type
1054
+ MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type
1055
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type
1056
+
1057
+ attr_reader specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]?
1058
+
1059
+ def specifiers=: (
1060
+ ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
1061
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
710
1062
 
711
1063
  def initialize: (
712
1064
  access_schedule: MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule,
@@ -715,12 +1067,29 @@ module MetronomeSDK
715
1067
  ?applicable_product_tags: ::Array[String],
716
1068
  ?custom_fields: ::Hash[Symbol, String],
717
1069
  ?description: String,
1070
+ ?hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration,
718
1071
  ?name: String,
719
1072
  ?netsuite_sales_order_id: String,
720
1073
  ?priority: Float,
721
- ?rate_type: MetronomeSDK::V1::ContractCreateParams::Credit::rate_type
1074
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type,
1075
+ ?specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
722
1076
  ) -> void
723
1077
 
1078
+ def to_hash: -> {
1079
+ access_schedule: MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule,
1080
+ product_id: String,
1081
+ applicable_product_ids: ::Array[String],
1082
+ applicable_product_tags: ::Array[String],
1083
+ custom_fields: ::Hash[Symbol, String],
1084
+ description: String,
1085
+ hierarchy_configuration: MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration,
1086
+ name: String,
1087
+ netsuite_sales_order_id: String,
1088
+ priority: Float,
1089
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type,
1090
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
1091
+ }
1092
+
724
1093
  type access_schedule =
725
1094
  {
726
1095
  schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem],
@@ -739,6 +1108,11 @@ module MetronomeSDK
739
1108
  ?credit_type_id: String
740
1109
  ) -> void
741
1110
 
1111
+ def to_hash: -> {
1112
+ schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem],
1113
+ credit_type_id: String
1114
+ }
1115
+
742
1116
  type schedule_item =
743
1117
  { amount: Float, ending_before: Time, starting_at: Time }
744
1118
 
@@ -754,72 +1128,244 @@ module MetronomeSDK
754
1128
  ending_before: Time,
755
1129
  starting_at: Time
756
1130
  ) -> void
1131
+
1132
+ def to_hash: -> {
1133
+ amount: Float,
1134
+ ending_before: Time,
1135
+ starting_at: Time
1136
+ }
757
1137
  end
758
1138
  end
759
1139
 
760
- type rate_type = :COMMIT_RATE | :LIST_RATE
1140
+ type hierarchy_configuration =
1141
+ {
1142
+ child_access: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::child_access
1143
+ }
761
1144
 
762
- module RateType
763
- extend MetronomeSDK::Internal::Type::Enum
1145
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1146
+ attr_accessor child_access: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::child_access
764
1147
 
765
- COMMIT_RATE: :COMMIT_RATE
766
- LIST_RATE: :LIST_RATE
1148
+ def initialize: (
1149
+ child_access: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::child_access
1150
+ ) -> void
767
1151
 
768
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Credit::rate_type]
769
- end
770
- end
1152
+ def to_hash: -> {
1153
+ child_access: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::child_access
1154
+ }
771
1155
 
772
- type discount =
773
- {
774
- product_id: String,
775
- schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule,
776
- custom_fields: ::Hash[Symbol, String],
777
- name: String,
778
- netsuite_sales_order_id: String
779
- }
1156
+ type child_access =
1157
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1158
+ | MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1159
+ | MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
780
1160
 
781
- class Discount < MetronomeSDK::Internal::Type::BaseModel
782
- attr_accessor product_id: String
1161
+ module ChildAccess
1162
+ extend MetronomeSDK::Internal::Type::Union
783
1163
 
784
- attr_accessor schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule
1164
+ type commit_hierarchy_child_access_all =
1165
+ {
1166
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1167
+ }
785
1168
 
786
- attr_reader custom_fields: ::Hash[Symbol, String]?
1169
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1170
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
787
1171
 
788
- def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
1172
+ def initialize: (
1173
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1174
+ ) -> void
789
1175
 
790
- attr_reader name: String?
1176
+ def to_hash: -> {
1177
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1178
+ }
791
1179
 
792
- def name=: (String) -> String
1180
+ type type_ = :ALL
793
1181
 
794
- attr_reader netsuite_sales_order_id: String?
1182
+ module Type
1183
+ extend MetronomeSDK::Internal::Type::Enum
795
1184
 
796
- def netsuite_sales_order_id=: (String) -> String
1185
+ ALL: :ALL
797
1186
 
798
- def initialize: (
799
- product_id: String,
800
- schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule,
801
- ?custom_fields: ::Hash[Symbol, String],
802
- ?name: String,
803
- ?netsuite_sales_order_id: String
804
- ) -> void
1187
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
1188
+ end
1189
+ end
805
1190
 
806
- type schedule =
807
- {
808
- credit_type_id: String,
809
- recurring_schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule,
810
- schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
811
- }
1191
+ type commit_hierarchy_child_access_none =
1192
+ {
1193
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1194
+ }
812
1195
 
813
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
814
- attr_reader credit_type_id: String?
1196
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1197
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
815
1198
 
816
- def credit_type_id=: (String) -> String
1199
+ def initialize: (
1200
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1201
+ ) -> void
817
1202
 
818
- attr_reader recurring_schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule?
1203
+ def to_hash: -> {
1204
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1205
+ }
819
1206
 
820
- def recurring_schedule=: (
821
- MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule
822
- ) -> MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule
1207
+ type type_ = :NONE
1208
+
1209
+ module Type
1210
+ extend MetronomeSDK::Internal::Type::Enum
1211
+
1212
+ NONE: :NONE
1213
+
1214
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
1215
+ end
1216
+ end
1217
+
1218
+ type commit_hierarchy_child_access_contract_ids =
1219
+ {
1220
+ contract_ids: ::Array[String],
1221
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1222
+ }
1223
+
1224
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1225
+ attr_accessor contract_ids: ::Array[String]
1226
+
1227
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1228
+
1229
+ def initialize: (
1230
+ contract_ids: ::Array[String],
1231
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1232
+ ) -> void
1233
+
1234
+ def to_hash: -> {
1235
+ contract_ids: ::Array[String],
1236
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1237
+ }
1238
+
1239
+ type type_ = :CONTRACT_IDS
1240
+
1241
+ module Type
1242
+ extend MetronomeSDK::Internal::Type::Enum
1243
+
1244
+ CONTRACT_IDS: :CONTRACT_IDS
1245
+
1246
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
1247
+ end
1248
+ end
1249
+
1250
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::child_access]
1251
+ end
1252
+ end
1253
+
1254
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1255
+
1256
+ module RateType
1257
+ extend MetronomeSDK::Internal::Type::Enum
1258
+
1259
+ COMMIT_RATE: :COMMIT_RATE
1260
+ LIST_RATE: :LIST_RATE
1261
+
1262
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type]
1263
+ end
1264
+
1265
+ type specifier =
1266
+ {
1267
+ presentation_group_values: ::Hash[Symbol, String],
1268
+ pricing_group_values: ::Hash[Symbol, String],
1269
+ product_id: String,
1270
+ product_tags: ::Array[String]
1271
+ }
1272
+
1273
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1274
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1275
+
1276
+ def presentation_group_values=: (
1277
+ ::Hash[Symbol, String]
1278
+ ) -> ::Hash[Symbol, String]
1279
+
1280
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1281
+
1282
+ def pricing_group_values=: (
1283
+ ::Hash[Symbol, String]
1284
+ ) -> ::Hash[Symbol, String]
1285
+
1286
+ attr_reader product_id: String?
1287
+
1288
+ def product_id=: (String) -> String
1289
+
1290
+ attr_reader product_tags: ::Array[String]?
1291
+
1292
+ def product_tags=: (::Array[String]) -> ::Array[String]
1293
+
1294
+ def initialize: (
1295
+ ?presentation_group_values: ::Hash[Symbol, String],
1296
+ ?pricing_group_values: ::Hash[Symbol, String],
1297
+ ?product_id: String,
1298
+ ?product_tags: ::Array[String]
1299
+ ) -> void
1300
+
1301
+ def to_hash: -> {
1302
+ presentation_group_values: ::Hash[Symbol, String],
1303
+ pricing_group_values: ::Hash[Symbol, String],
1304
+ product_id: String,
1305
+ product_tags: ::Array[String]
1306
+ }
1307
+ end
1308
+ end
1309
+
1310
+ type discount =
1311
+ {
1312
+ product_id: String,
1313
+ schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule,
1314
+ custom_fields: ::Hash[Symbol, String],
1315
+ name: String,
1316
+ netsuite_sales_order_id: String
1317
+ }
1318
+
1319
+ class Discount < MetronomeSDK::Internal::Type::BaseModel
1320
+ attr_accessor product_id: String
1321
+
1322
+ attr_accessor schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule
1323
+
1324
+ attr_reader custom_fields: ::Hash[Symbol, String]?
1325
+
1326
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
1327
+
1328
+ attr_reader name: String?
1329
+
1330
+ def name=: (String) -> String
1331
+
1332
+ attr_reader netsuite_sales_order_id: String?
1333
+
1334
+ def netsuite_sales_order_id=: (String) -> String
1335
+
1336
+ def initialize: (
1337
+ product_id: String,
1338
+ schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule,
1339
+ ?custom_fields: ::Hash[Symbol, String],
1340
+ ?name: String,
1341
+ ?netsuite_sales_order_id: String
1342
+ ) -> void
1343
+
1344
+ def to_hash: -> {
1345
+ product_id: String,
1346
+ schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule,
1347
+ custom_fields: ::Hash[Symbol, String],
1348
+ name: String,
1349
+ netsuite_sales_order_id: String
1350
+ }
1351
+
1352
+ type schedule =
1353
+ {
1354
+ credit_type_id: String,
1355
+ recurring_schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule,
1356
+ schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
1357
+ }
1358
+
1359
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
1360
+ attr_reader credit_type_id: String?
1361
+
1362
+ def credit_type_id=: (String) -> String
1363
+
1364
+ attr_reader recurring_schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule?
1365
+
1366
+ def recurring_schedule=: (
1367
+ MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule
1368
+ ) -> MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule
823
1369
 
824
1370
  attr_reader schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]?
825
1371
 
@@ -833,11 +1379,17 @@ module MetronomeSDK
833
1379
  ?schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
834
1380
  ) -> void
835
1381
 
1382
+ def to_hash: -> {
1383
+ credit_type_id: String,
1384
+ recurring_schedule: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule,
1385
+ schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
1386
+ }
1387
+
836
1388
  type recurring_schedule =
837
1389
  {
838
- amount_distribution: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
1390
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
839
1391
  ending_before: Time,
840
- frequency: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
1392
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
841
1393
  starting_at: Time,
842
1394
  amount: Float,
843
1395
  quantity: Float,
@@ -845,11 +1397,11 @@ module MetronomeSDK
845
1397
  }
846
1398
 
847
1399
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
848
- attr_accessor amount_distribution: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution
1400
+ attr_accessor amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution
849
1401
 
850
1402
  attr_accessor ending_before: Time
851
1403
 
852
- attr_accessor frequency: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency
1404
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency
853
1405
 
854
1406
  attr_accessor starting_at: Time
855
1407
 
@@ -866,15 +1418,25 @@ module MetronomeSDK
866
1418
  def unit_price=: (Float) -> Float
867
1419
 
868
1420
  def initialize: (
869
- amount_distribution: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
1421
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
870
1422
  ending_before: Time,
871
- frequency: MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
1423
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
872
1424
  starting_at: Time,
873
1425
  ?amount: Float,
874
1426
  ?quantity: Float,
875
1427
  ?unit_price: Float
876
1428
  ) -> void
877
1429
 
1430
+ def to_hash: -> {
1431
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
1432
+ ending_before: Time,
1433
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
1434
+ starting_at: Time,
1435
+ amount: Float,
1436
+ quantity: Float,
1437
+ unit_price: Float
1438
+ }
1439
+
878
1440
  type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
879
1441
 
880
1442
  module AmountDistribution
@@ -884,7 +1446,7 @@ module MetronomeSDK
884
1446
  DIVIDED_ROUNDED: :DIVIDED_ROUNDED
885
1447
  EACH: :EACH
886
1448
 
887
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution]
1449
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution]
888
1450
  end
889
1451
 
890
1452
  type frequency = :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL
@@ -897,7 +1459,7 @@ module MetronomeSDK
897
1459
  SEMI_ANNUAL: :SEMI_ANNUAL
898
1460
  ANNUAL: :ANNUAL
899
1461
 
900
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency]
1462
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency]
901
1463
  end
902
1464
  end
903
1465
 
@@ -930,10 +1492,46 @@ module MetronomeSDK
930
1492
  ?quantity: Float,
931
1493
  ?unit_price: Float
932
1494
  ) -> void
1495
+
1496
+ def to_hash: -> {
1497
+ timestamp: Time,
1498
+ amount: Float,
1499
+ quantity: Float,
1500
+ unit_price: Float
1501
+ }
933
1502
  end
934
1503
  end
935
1504
  end
936
1505
 
1506
+ type hierarchy_configuration =
1507
+ {
1508
+ parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1509
+ }
1510
+
1511
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1512
+ attr_accessor parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1513
+
1514
+ def initialize: (
1515
+ parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1516
+ ) -> void
1517
+
1518
+ def to_hash: -> {
1519
+ parent: MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent
1520
+ }
1521
+
1522
+ type parent = { contract_id: String, customer_id: String }
1523
+
1524
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
1525
+ attr_accessor contract_id: String
1526
+
1527
+ attr_accessor customer_id: String
1528
+
1529
+ def initialize: (contract_id: String, customer_id: String) -> void
1530
+
1531
+ def to_hash: -> { contract_id: String, customer_id: String }
1532
+ end
1533
+ end
1534
+
937
1535
  type multiplier_override_prioritization = :LOWEST_MULTIPLIER | :EXPLICIT
938
1536
 
939
1537
  module MultiplierOverridePrioritization
@@ -957,9 +1555,9 @@ module MetronomeSDK
957
1555
  overwrite_rate: MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate,
958
1556
  priority: Float,
959
1557
  product_id: String,
960
- target: MetronomeSDK::V1::ContractCreateParams::Override::target,
1558
+ target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target,
961
1559
  tiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Override::Tier],
962
- type: MetronomeSDK::V1::ContractCreateParams::Override::type_
1560
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
963
1561
  }
964
1562
 
965
1563
  class Override < MetronomeSDK::Internal::Type::BaseModel
@@ -1005,11 +1603,11 @@ module MetronomeSDK
1005
1603
 
1006
1604
  def product_id=: (String) -> String
1007
1605
 
1008
- attr_reader target: MetronomeSDK::V1::ContractCreateParams::Override::target?
1606
+ attr_reader target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target?
1009
1607
 
1010
1608
  def target=: (
1011
- MetronomeSDK::V1::ContractCreateParams::Override::target
1012
- ) -> MetronomeSDK::V1::ContractCreateParams::Override::target
1609
+ MetronomeSDK::Models::V1::ContractCreateParams::Override::target
1610
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Override::target
1013
1611
 
1014
1612
  attr_reader tiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Override::Tier]?
1015
1613
 
@@ -1017,11 +1615,11 @@ module MetronomeSDK
1017
1615
  ::Array[MetronomeSDK::V1::ContractCreateParams::Override::Tier]
1018
1616
  ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::Override::Tier]
1019
1617
 
1020
- attr_reader type: MetronomeSDK::V1::ContractCreateParams::Override::type_?
1618
+ attr_reader type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_?
1021
1619
 
1022
1620
  def type=: (
1023
- MetronomeSDK::V1::ContractCreateParams::Override::type_
1024
- ) -> MetronomeSDK::V1::ContractCreateParams::Override::type_
1621
+ MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1622
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1025
1623
 
1026
1624
  def initialize: (
1027
1625
  starting_at: Time,
@@ -1034,13 +1632,30 @@ module MetronomeSDK
1034
1632
  ?overwrite_rate: MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate,
1035
1633
  ?priority: Float,
1036
1634
  ?product_id: String,
1037
- ?target: MetronomeSDK::V1::ContractCreateParams::Override::target,
1635
+ ?target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target,
1038
1636
  ?tiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Override::Tier],
1039
- ?type: MetronomeSDK::V1::ContractCreateParams::Override::type_
1637
+ ?type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1040
1638
  ) -> void
1041
1639
 
1640
+ def to_hash: -> {
1641
+ starting_at: Time,
1642
+ applicable_product_tags: ::Array[String],
1643
+ ending_before: Time,
1644
+ entitled: bool,
1645
+ is_commit_specific: bool,
1646
+ multiplier: Float,
1647
+ override_specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier],
1648
+ overwrite_rate: MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate,
1649
+ priority: Float,
1650
+ product_id: String,
1651
+ target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target,
1652
+ tiers: ::Array[MetronomeSDK::V1::ContractCreateParams::Override::Tier],
1653
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1654
+ }
1655
+
1042
1656
  type override_specifier =
1043
1657
  {
1658
+ billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1044
1659
  commit_ids: ::Array[String],
1045
1660
  presentation_group_values: ::Hash[Symbol, String],
1046
1661
  pricing_group_values: ::Hash[Symbol, String],
@@ -1051,6 +1666,12 @@ module MetronomeSDK
1051
1666
  }
1052
1667
 
1053
1668
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1669
+ attr_reader billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency?
1670
+
1671
+ def billing_frequency=: (
1672
+ MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency
1673
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency
1674
+
1054
1675
  attr_reader commit_ids: ::Array[String]?
1055
1676
 
1056
1677
  def commit_ids=: (::Array[String]) -> ::Array[String]
@@ -1084,6 +1705,7 @@ module MetronomeSDK
1084
1705
  def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
1085
1706
 
1086
1707
  def initialize: (
1708
+ ?billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1087
1709
  ?commit_ids: ::Array[String],
1088
1710
  ?presentation_group_values: ::Hash[Symbol, String],
1089
1711
  ?pricing_group_values: ::Hash[Symbol, String],
@@ -1092,11 +1714,35 @@ module MetronomeSDK
1092
1714
  ?recurring_commit_ids: ::Array[String],
1093
1715
  ?recurring_credit_ids: ::Array[String]
1094
1716
  ) -> void
1717
+
1718
+ def to_hash: -> {
1719
+ billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency,
1720
+ commit_ids: ::Array[String],
1721
+ presentation_group_values: ::Hash[Symbol, String],
1722
+ pricing_group_values: ::Hash[Symbol, String],
1723
+ product_id: String,
1724
+ product_tags: ::Array[String],
1725
+ recurring_commit_ids: ::Array[String],
1726
+ recurring_credit_ids: ::Array[String]
1727
+ }
1728
+
1729
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1730
+
1731
+ module BillingFrequency
1732
+ extend MetronomeSDK::Internal::Type::Enum
1733
+
1734
+ MONTHLY: :MONTHLY
1735
+ QUARTERLY: :QUARTERLY
1736
+ ANNUAL: :ANNUAL
1737
+ WEEKLY: :WEEKLY
1738
+
1739
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::billing_frequency]
1740
+ end
1095
1741
  end
1096
1742
 
1097
1743
  type overwrite_rate =
1098
1744
  {
1099
- rate_type: MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1745
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1100
1746
  credit_type_id: String,
1101
1747
  custom_rate: ::Hash[Symbol, top],
1102
1748
  is_prorated: bool,
@@ -1106,7 +1752,7 @@ module MetronomeSDK
1106
1752
  }
1107
1753
 
1108
1754
  class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1109
- attr_accessor rate_type: MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::rate_type
1755
+ attr_accessor rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type
1110
1756
 
1111
1757
  attr_reader credit_type_id: String?
1112
1758
 
@@ -1135,7 +1781,7 @@ module MetronomeSDK
1135
1781
  ) -> ::Array[MetronomeSDK::Tier]
1136
1782
 
1137
1783
  def initialize: (
1138
- rate_type: MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1784
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1139
1785
  ?credit_type_id: String,
1140
1786
  ?custom_rate: ::Hash[Symbol, top],
1141
1787
  ?is_prorated: bool,
@@ -1144,6 +1790,16 @@ module MetronomeSDK
1144
1790
  ?tiers: ::Array[MetronomeSDK::Tier]
1145
1791
  ) -> void
1146
1792
 
1793
+ def to_hash: -> {
1794
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1795
+ credit_type_id: String,
1796
+ custom_rate: ::Hash[Symbol, top],
1797
+ is_prorated: bool,
1798
+ price: Float,
1799
+ quantity: Float,
1800
+ tiers: ::Array[MetronomeSDK::Tier]
1801
+ }
1802
+
1147
1803
  type rate_type =
1148
1804
  :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
1149
1805
 
@@ -1156,7 +1812,7 @@ module MetronomeSDK
1156
1812
  TIERED: :TIERED
1157
1813
  CUSTOM: :CUSTOM
1158
1814
 
1159
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::rate_type]
1815
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type]
1160
1816
  end
1161
1817
  end
1162
1818
 
@@ -1168,7 +1824,7 @@ module MetronomeSDK
1168
1824
  COMMIT_RATE: :COMMIT_RATE
1169
1825
  LIST_RATE: :LIST_RATE
1170
1826
 
1171
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Override::target]
1827
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::target]
1172
1828
  end
1173
1829
 
1174
1830
  type tier = { multiplier: Float, size: Float }
@@ -1181,6 +1837,8 @@ module MetronomeSDK
1181
1837
  def size=: (Float) -> Float
1182
1838
 
1183
1839
  def initialize: (multiplier: Float, ?size: Float) -> void
1840
+
1841
+ def to_hash: -> { multiplier: Float, size: Float }
1184
1842
  end
1185
1843
 
1186
1844
  type type_ = :OVERWRITE | :MULTIPLIER | :TIERED
@@ -1192,7 +1850,7 @@ module MetronomeSDK
1192
1850
  MULTIPLIER: :MULTIPLIER
1193
1851
  TIERED: :TIERED
1194
1852
 
1195
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Override::type_]
1853
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::type_]
1196
1854
  end
1197
1855
  end
1198
1856
 
@@ -1202,7 +1860,8 @@ module MetronomeSDK
1202
1860
  is_enabled: bool,
1203
1861
  payment_gate_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1204
1862
  recharge_to_amount: Float,
1205
- threshold_amount: Float
1863
+ threshold_amount: Float,
1864
+ custom_credit_type_id: String
1206
1865
  }
1207
1866
 
1208
1867
  class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -1216,21 +1875,36 @@ module MetronomeSDK
1216
1875
 
1217
1876
  attr_accessor threshold_amount: Float
1218
1877
 
1878
+ attr_reader custom_credit_type_id: String?
1879
+
1880
+ def custom_credit_type_id=: (String) -> String
1881
+
1219
1882
  def initialize: (
1220
1883
  commit: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit,
1221
1884
  is_enabled: bool,
1222
1885
  payment_gate_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1223
1886
  recharge_to_amount: Float,
1224
- threshold_amount: Float
1887
+ threshold_amount: Float,
1888
+ ?custom_credit_type_id: String
1225
1889
  ) -> void
1226
1890
 
1891
+ def to_hash: -> {
1892
+ commit: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit,
1893
+ is_enabled: bool,
1894
+ payment_gate_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1895
+ recharge_to_amount: Float,
1896
+ threshold_amount: Float,
1897
+ custom_credit_type_id: String
1898
+ }
1899
+
1227
1900
  type commit =
1228
1901
  {
1229
1902
  product_id: String,
1230
1903
  applicable_product_ids: ::Array[String],
1231
1904
  applicable_product_tags: ::Array[String],
1232
1905
  description: String,
1233
- name: String
1906
+ name: String,
1907
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1234
1908
  }
1235
1909
 
1236
1910
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -1252,24 +1926,91 @@ module MetronomeSDK
1252
1926
 
1253
1927
  def name=: (String) -> String
1254
1928
 
1929
+ attr_reader specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]?
1930
+
1931
+ def specifiers=: (
1932
+ ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1933
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1934
+
1255
1935
  def initialize: (
1256
1936
  product_id: String,
1257
1937
  ?applicable_product_ids: ::Array[String],
1258
1938
  ?applicable_product_tags: ::Array[String],
1259
1939
  ?description: String,
1260
- ?name: String
1940
+ ?name: String,
1941
+ ?specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1261
1942
  ) -> void
1943
+
1944
+ def to_hash: -> {
1945
+ product_id: String,
1946
+ applicable_product_ids: ::Array[String],
1947
+ applicable_product_tags: ::Array[String],
1948
+ description: String,
1949
+ name: String,
1950
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1951
+ }
1952
+
1953
+ type specifier =
1954
+ {
1955
+ presentation_group_values: ::Hash[Symbol, String],
1956
+ pricing_group_values: ::Hash[Symbol, String],
1957
+ product_id: String,
1958
+ product_tags: ::Array[String]
1959
+ }
1960
+
1961
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1962
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1963
+
1964
+ def presentation_group_values=: (
1965
+ ::Hash[Symbol, String]
1966
+ ) -> ::Hash[Symbol, String]
1967
+
1968
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1969
+
1970
+ def pricing_group_values=: (
1971
+ ::Hash[Symbol, String]
1972
+ ) -> ::Hash[Symbol, String]
1973
+
1974
+ attr_reader product_id: String?
1975
+
1976
+ def product_id=: (String) -> String
1977
+
1978
+ attr_reader product_tags: ::Array[String]?
1979
+
1980
+ def product_tags=: (::Array[String]) -> ::Array[String]
1981
+
1982
+ def initialize: (
1983
+ ?presentation_group_values: ::Hash[Symbol, String],
1984
+ ?pricing_group_values: ::Hash[Symbol, String],
1985
+ ?product_id: String,
1986
+ ?product_tags: ::Array[String]
1987
+ ) -> void
1988
+
1989
+ def to_hash: -> {
1990
+ presentation_group_values: ::Hash[Symbol, String],
1991
+ pricing_group_values: ::Hash[Symbol, String],
1992
+ product_id: String,
1993
+ product_tags: ::Array[String]
1994
+ }
1995
+ end
1262
1996
  end
1263
1997
 
1264
1998
  type payment_gate_config =
1265
1999
  {
1266
- payment_gate_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2000
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2001
+ precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1267
2002
  stripe_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1268
- tax_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2003
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1269
2004
  }
1270
2005
 
1271
2006
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1272
- attr_accessor payment_gate_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
2007
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
2008
+
2009
+ attr_reader precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
2010
+
2011
+ def precalculated_tax_config=: (
2012
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2013
+ ) -> MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1273
2014
 
1274
2015
  attr_reader stripe_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig?
1275
2016
 
@@ -1277,18 +2018,26 @@ module MetronomeSDK
1277
2018
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
1278
2019
  ) -> MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
1279
2020
 
1280
- attr_reader tax_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
2021
+ attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
1281
2022
 
1282
2023
  def tax_type=: (
1283
- MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1284
- ) -> MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2024
+ MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2025
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1285
2026
 
1286
2027
  def initialize: (
1287
- payment_gate_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2028
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2029
+ ?precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1288
2030
  ?stripe_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1289
- ?tax_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2031
+ ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1290
2032
  ) -> void
1291
2033
 
2034
+ def to_hash: -> {
2035
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2036
+ precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2037
+ stripe_config: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
2038
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2039
+ }
2040
+
1292
2041
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
1293
2042
 
1294
2043
  module PaymentGateType
@@ -1298,21 +2047,49 @@ module MetronomeSDK
1298
2047
  STRIPE: :STRIPE
1299
2048
  EXTERNAL: :EXTERNAL
1300
2049
 
1301
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
2050
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
2051
+ end
2052
+
2053
+ type precalculated_tax_config =
2054
+ { tax_amount: Float, tax_name: String }
2055
+
2056
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2057
+ attr_accessor tax_amount: Float
2058
+
2059
+ attr_reader tax_name: String?
2060
+
2061
+ def tax_name=: (String) -> String
2062
+
2063
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
2064
+
2065
+ def to_hash: -> { tax_amount: Float, tax_name: String }
1302
2066
  end
1303
2067
 
1304
2068
  type stripe_config =
1305
2069
  {
1306
- payment_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2070
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
2071
+ invoice_metadata: ::Hash[Symbol, String]
1307
2072
  }
1308
2073
 
1309
2074
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1310
- attr_accessor payment_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2075
+ attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2076
+
2077
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
2078
+
2079
+ def invoice_metadata=: (
2080
+ ::Hash[Symbol, String]
2081
+ ) -> ::Hash[Symbol, String]
1311
2082
 
1312
2083
  def initialize: (
1313
- payment_type: MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2084
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
2085
+ ?invoice_metadata: ::Hash[Symbol, String]
1314
2086
  ) -> void
1315
2087
 
2088
+ def to_hash: -> {
2089
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
2090
+ invoice_metadata: ::Hash[Symbol, String]
2091
+ }
2092
+
1316
2093
  type payment_type = :INVOICE | :PAYMENT_INTENT
1317
2094
 
1318
2095
  module PaymentType
@@ -1321,19 +2098,21 @@ module MetronomeSDK
1321
2098
  INVOICE: :INVOICE
1322
2099
  PAYMENT_INTENT: :PAYMENT_INTENT
1323
2100
 
1324
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
2101
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
1325
2102
  end
1326
2103
  end
1327
2104
 
1328
- type tax_type = :NONE | :STRIPE
2105
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
1329
2106
 
1330
2107
  module TaxType
1331
2108
  extend MetronomeSDK::Internal::Type::Enum
1332
2109
 
1333
2110
  NONE: :NONE
1334
2111
  STRIPE: :STRIPE
2112
+ ANROK: :ANROK
2113
+ PRECALCULATED: :PRECALCULATED
1335
2114
 
1336
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
2115
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
1337
2116
  end
1338
2117
  end
1339
2118
  end
@@ -1379,6 +2158,16 @@ module MetronomeSDK
1379
2158
  ?description: String,
1380
2159
  ?netsuite_sales_order_id: String
1381
2160
  ) -> void
2161
+
2162
+ def to_hash: -> {
2163
+ max_amount: Float,
2164
+ product_id: String,
2165
+ quantity: Float,
2166
+ unit_price: Float,
2167
+ custom_fields: ::Hash[Symbol, String],
2168
+ description: String,
2169
+ netsuite_sales_order_id: String
2170
+ }
1382
2171
  end
1383
2172
 
1384
2173
  type recurring_commit =
@@ -1395,10 +2184,11 @@ module MetronomeSDK
1395
2184
  invoice_amount: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount,
1396
2185
  name: String,
1397
2186
  netsuite_sales_order_id: String,
1398
- proration: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::proration,
1399
- rate_type: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::rate_type,
1400
- recurrence_frequency: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
2187
+ proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
2188
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
2189
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1401
2190
  rollover_fraction: Float,
2191
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier],
1402
2192
  temporary_id: String
1403
2193
  }
1404
2194
 
@@ -1443,28 +2233,34 @@ module MetronomeSDK
1443
2233
 
1444
2234
  def netsuite_sales_order_id=: (String) -> String
1445
2235
 
1446
- attr_reader proration: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::proration?
2236
+ attr_reader proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration?
1447
2237
 
1448
2238
  def proration=: (
1449
- MetronomeSDK::V1::ContractCreateParams::RecurringCommit::proration
1450
- ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCommit::proration
2239
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
2240
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1451
2241
 
1452
- attr_reader rate_type: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::rate_type?
2242
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type?
1453
2243
 
1454
2244
  def rate_type=: (
1455
- MetronomeSDK::V1::ContractCreateParams::RecurringCommit::rate_type
1456
- ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCommit::rate_type
2245
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type
2246
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type
1457
2247
 
1458
- attr_reader recurrence_frequency: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::recurrence_frequency?
2248
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency?
1459
2249
 
1460
2250
  def recurrence_frequency=: (
1461
- MetronomeSDK::V1::ContractCreateParams::RecurringCommit::recurrence_frequency
1462
- ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCommit::recurrence_frequency
2251
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency
2252
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency
1463
2253
 
1464
2254
  attr_reader rollover_fraction: Float?
1465
2255
 
1466
2256
  def rollover_fraction=: (Float) -> Float
1467
2257
 
2258
+ attr_reader specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier]?
2259
+
2260
+ def specifiers=: (
2261
+ ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier]
2262
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier]
2263
+
1468
2264
  attr_reader temporary_id: String?
1469
2265
 
1470
2266
  def temporary_id=: (String) -> String
@@ -1482,46 +2278,85 @@ module MetronomeSDK
1482
2278
  ?invoice_amount: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount,
1483
2279
  ?name: String,
1484
2280
  ?netsuite_sales_order_id: String,
1485
- ?proration: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::proration,
1486
- ?rate_type: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::rate_type,
1487
- ?recurrence_frequency: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
2281
+ ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
2282
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
2283
+ ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1488
2284
  ?rollover_fraction: Float,
2285
+ ?specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier],
1489
2286
  ?temporary_id: String
1490
2287
  ) -> void
1491
2288
 
2289
+ def to_hash: -> {
2290
+ access_amount: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::AccessAmount,
2291
+ commit_duration: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration,
2292
+ priority: Float,
2293
+ product_id: String,
2294
+ starting_at: Time,
2295
+ applicable_product_ids: ::Array[String],
2296
+ applicable_product_tags: ::Array[String],
2297
+ description: String,
2298
+ ending_before: Time,
2299
+ invoice_amount: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount,
2300
+ name: String,
2301
+ netsuite_sales_order_id: String,
2302
+ proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
2303
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
2304
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
2305
+ rollover_fraction: Float,
2306
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier],
2307
+ temporary_id: String
2308
+ }
2309
+
1492
2310
  type access_amount =
1493
- { credit_type_id: String, quantity: Float, unit_price: Float }
2311
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1494
2312
 
1495
2313
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1496
2314
  attr_accessor credit_type_id: String
1497
2315
 
1498
- attr_accessor quantity: Float
1499
-
1500
2316
  attr_accessor unit_price: Float
1501
2317
 
2318
+ attr_reader quantity: Float?
2319
+
2320
+ def quantity=: (Float) -> Float
2321
+
1502
2322
  def initialize: (
1503
2323
  credit_type_id: String,
1504
- quantity: Float,
1505
- unit_price: Float
2324
+ unit_price: Float,
2325
+ ?quantity: Float
1506
2326
  ) -> void
2327
+
2328
+ def to_hash: -> {
2329
+ credit_type_id: String,
2330
+ unit_price: Float,
2331
+ quantity: Float
2332
+ }
1507
2333
  end
1508
2334
 
1509
2335
  type commit_duration =
1510
2336
  {
1511
- unit: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit,
1512
- value: Float
2337
+ value: Float,
2338
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
1513
2339
  }
1514
2340
 
1515
2341
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1516
- attr_accessor unit: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
1517
-
1518
2342
  attr_accessor value: Float
1519
2343
 
2344
+ attr_reader unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit?
2345
+
2346
+ def unit=: (
2347
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
2348
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
2349
+
1520
2350
  def initialize: (
1521
- unit: MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit,
1522
- value: Float
2351
+ value: Float,
2352
+ ?unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
1523
2353
  ) -> void
1524
2354
 
2355
+ def to_hash: -> {
2356
+ value: Float,
2357
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
2358
+ }
2359
+
1525
2360
  type unit = :PERIODS
1526
2361
 
1527
2362
  module Unit
@@ -1529,7 +2364,7 @@ module MetronomeSDK
1529
2364
 
1530
2365
  PERIODS: :PERIODS
1531
2366
 
1532
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit]
2367
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit]
1533
2368
  end
1534
2369
  end
1535
2370
 
@@ -1548,6 +2383,12 @@ module MetronomeSDK
1548
2383
  quantity: Float,
1549
2384
  unit_price: Float
1550
2385
  ) -> void
2386
+
2387
+ def to_hash: -> {
2388
+ credit_type_id: String,
2389
+ quantity: Float,
2390
+ unit_price: Float
2391
+ }
1551
2392
  end
1552
2393
 
1553
2394
  type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
@@ -1560,7 +2401,7 @@ module MetronomeSDK
1560
2401
  LAST: :LAST
1561
2402
  FIRST_AND_LAST: :FIRST_AND_LAST
1562
2403
 
1563
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::proration]
2404
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration]
1564
2405
  end
1565
2406
 
1566
2407
  type rate_type = :COMMIT_RATE | :LIST_RATE
@@ -1571,20 +2412,64 @@ module MetronomeSDK
1571
2412
  COMMIT_RATE: :COMMIT_RATE
1572
2413
  LIST_RATE: :LIST_RATE
1573
2414
 
1574
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::rate_type]
2415
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type]
1575
2416
  end
1576
2417
 
1577
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2418
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2419
+
2420
+ module RecurrenceFrequency
2421
+ extend MetronomeSDK::Internal::Type::Enum
2422
+
2423
+ MONTHLY: :MONTHLY
2424
+ QUARTERLY: :QUARTERLY
2425
+ ANNUAL: :ANNUAL
2426
+ WEEKLY: :WEEKLY
2427
+
2428
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency]
2429
+ end
2430
+
2431
+ type specifier =
2432
+ {
2433
+ presentation_group_values: ::Hash[Symbol, String],
2434
+ pricing_group_values: ::Hash[Symbol, String],
2435
+ product_id: String,
2436
+ product_tags: ::Array[String]
2437
+ }
2438
+
2439
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2440
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
2441
+
2442
+ def presentation_group_values=: (
2443
+ ::Hash[Symbol, String]
2444
+ ) -> ::Hash[Symbol, String]
2445
+
2446
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
2447
+
2448
+ def pricing_group_values=: (
2449
+ ::Hash[Symbol, String]
2450
+ ) -> ::Hash[Symbol, String]
2451
+
2452
+ attr_reader product_id: String?
2453
+
2454
+ def product_id=: (String) -> String
2455
+
2456
+ attr_reader product_tags: ::Array[String]?
1578
2457
 
1579
- module RecurrenceFrequency
1580
- extend MetronomeSDK::Internal::Type::Enum
2458
+ def product_tags=: (::Array[String]) -> ::Array[String]
1581
2459
 
1582
- MONTHLY: :MONTHLY
1583
- QUARTERLY: :QUARTERLY
1584
- ANNUAL: :ANNUAL
1585
- WEEKLY: :WEEKLY
2460
+ def initialize: (
2461
+ ?presentation_group_values: ::Hash[Symbol, String],
2462
+ ?pricing_group_values: ::Hash[Symbol, String],
2463
+ ?product_id: String,
2464
+ ?product_tags: ::Array[String]
2465
+ ) -> void
1586
2466
 
1587
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::recurrence_frequency]
2467
+ def to_hash: -> {
2468
+ presentation_group_values: ::Hash[Symbol, String],
2469
+ pricing_group_values: ::Hash[Symbol, String],
2470
+ product_id: String,
2471
+ product_tags: ::Array[String]
2472
+ }
1588
2473
  end
1589
2474
  end
1590
2475
 
@@ -1601,10 +2486,11 @@ module MetronomeSDK
1601
2486
  ending_before: Time,
1602
2487
  name: String,
1603
2488
  netsuite_sales_order_id: String,
1604
- proration: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::proration,
1605
- rate_type: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::rate_type,
1606
- recurrence_frequency: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2489
+ proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2490
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2491
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
1607
2492
  rollover_fraction: Float,
2493
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier],
1608
2494
  temporary_id: String
1609
2495
  }
1610
2496
 
@@ -1643,28 +2529,34 @@ module MetronomeSDK
1643
2529
 
1644
2530
  def netsuite_sales_order_id=: (String) -> String
1645
2531
 
1646
- attr_reader proration: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::proration?
2532
+ attr_reader proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration?
1647
2533
 
1648
2534
  def proration=: (
1649
- MetronomeSDK::V1::ContractCreateParams::RecurringCredit::proration
1650
- ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCredit::proration
2535
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
2536
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
1651
2537
 
1652
- attr_reader rate_type: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::rate_type?
2538
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type?
1653
2539
 
1654
2540
  def rate_type=: (
1655
- MetronomeSDK::V1::ContractCreateParams::RecurringCredit::rate_type
1656
- ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCredit::rate_type
2541
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type
2542
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type
1657
2543
 
1658
- attr_reader recurrence_frequency: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::recurrence_frequency?
2544
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency?
1659
2545
 
1660
2546
  def recurrence_frequency=: (
1661
- MetronomeSDK::V1::ContractCreateParams::RecurringCredit::recurrence_frequency
1662
- ) -> MetronomeSDK::V1::ContractCreateParams::RecurringCredit::recurrence_frequency
2547
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency
2548
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency
1663
2549
 
1664
2550
  attr_reader rollover_fraction: Float?
1665
2551
 
1666
2552
  def rollover_fraction=: (Float) -> Float
1667
2553
 
2554
+ attr_reader specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier]?
2555
+
2556
+ def specifiers=: (
2557
+ ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier]
2558
+ ) -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier]
2559
+
1668
2560
  attr_reader temporary_id: String?
1669
2561
 
1670
2562
  def temporary_id=: (String) -> String
@@ -1681,46 +2573,84 @@ module MetronomeSDK
1681
2573
  ?ending_before: Time,
1682
2574
  ?name: String,
1683
2575
  ?netsuite_sales_order_id: String,
1684
- ?proration: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::proration,
1685
- ?rate_type: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::rate_type,
1686
- ?recurrence_frequency: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2576
+ ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2577
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2578
+ ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
1687
2579
  ?rollover_fraction: Float,
2580
+ ?specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier],
1688
2581
  ?temporary_id: String
1689
2582
  ) -> void
1690
2583
 
2584
+ def to_hash: -> {
2585
+ access_amount: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::AccessAmount,
2586
+ commit_duration: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration,
2587
+ priority: Float,
2588
+ product_id: String,
2589
+ starting_at: Time,
2590
+ applicable_product_ids: ::Array[String],
2591
+ applicable_product_tags: ::Array[String],
2592
+ description: String,
2593
+ ending_before: Time,
2594
+ name: String,
2595
+ netsuite_sales_order_id: String,
2596
+ proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
2597
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
2598
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
2599
+ rollover_fraction: Float,
2600
+ specifiers: ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier],
2601
+ temporary_id: String
2602
+ }
2603
+
1691
2604
  type access_amount =
1692
- { credit_type_id: String, quantity: Float, unit_price: Float }
2605
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1693
2606
 
1694
2607
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1695
2608
  attr_accessor credit_type_id: String
1696
2609
 
1697
- attr_accessor quantity: Float
1698
-
1699
2610
  attr_accessor unit_price: Float
1700
2611
 
2612
+ attr_reader quantity: Float?
2613
+
2614
+ def quantity=: (Float) -> Float
2615
+
1701
2616
  def initialize: (
1702
2617
  credit_type_id: String,
1703
- quantity: Float,
1704
- unit_price: Float
2618
+ unit_price: Float,
2619
+ ?quantity: Float
1705
2620
  ) -> void
2621
+
2622
+ def to_hash: -> {
2623
+ credit_type_id: String,
2624
+ unit_price: Float,
2625
+ quantity: Float
2626
+ }
1706
2627
  end
1707
2628
 
1708
2629
  type commit_duration =
1709
2630
  {
1710
- unit: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit,
1711
- value: Float
2631
+ value: Float,
2632
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
1712
2633
  }
1713
2634
 
1714
2635
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1715
- attr_accessor unit: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
1716
-
1717
2636
  attr_accessor value: Float
1718
2637
 
2638
+ attr_reader unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit?
2639
+
2640
+ def unit=: (
2641
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
2642
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
2643
+
1719
2644
  def initialize: (
1720
- unit: MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit,
1721
- value: Float
2645
+ value: Float,
2646
+ ?unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
1722
2647
  ) -> void
1723
2648
 
2649
+ def to_hash: -> {
2650
+ value: Float,
2651
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
2652
+ }
2653
+
1724
2654
  type unit = :PERIODS
1725
2655
 
1726
2656
  module Unit
@@ -1728,7 +2658,7 @@ module MetronomeSDK
1728
2658
 
1729
2659
  PERIODS: :PERIODS
1730
2660
 
1731
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit]
2661
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit]
1732
2662
  end
1733
2663
  end
1734
2664
 
@@ -1742,7 +2672,7 @@ module MetronomeSDK
1742
2672
  LAST: :LAST
1743
2673
  FIRST_AND_LAST: :FIRST_AND_LAST
1744
2674
 
1745
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::proration]
2675
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration]
1746
2676
  end
1747
2677
 
1748
2678
  type rate_type = :COMMIT_RATE | :LIST_RATE
@@ -1753,7 +2683,7 @@ module MetronomeSDK
1753
2683
  COMMIT_RATE: :COMMIT_RATE
1754
2684
  LIST_RATE: :LIST_RATE
1755
2685
 
1756
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::rate_type]
2686
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type]
1757
2687
  end
1758
2688
 
1759
2689
  type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
@@ -1766,7 +2696,51 @@ module MetronomeSDK
1766
2696
  ANNUAL: :ANNUAL
1767
2697
  WEEKLY: :WEEKLY
1768
2698
 
1769
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::recurrence_frequency]
2699
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency]
2700
+ end
2701
+
2702
+ type specifier =
2703
+ {
2704
+ presentation_group_values: ::Hash[Symbol, String],
2705
+ pricing_group_values: ::Hash[Symbol, String],
2706
+ product_id: String,
2707
+ product_tags: ::Array[String]
2708
+ }
2709
+
2710
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2711
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
2712
+
2713
+ def presentation_group_values=: (
2714
+ ::Hash[Symbol, String]
2715
+ ) -> ::Hash[Symbol, String]
2716
+
2717
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
2718
+
2719
+ def pricing_group_values=: (
2720
+ ::Hash[Symbol, String]
2721
+ ) -> ::Hash[Symbol, String]
2722
+
2723
+ attr_reader product_id: String?
2724
+
2725
+ def product_id=: (String) -> String
2726
+
2727
+ attr_reader product_tags: ::Array[String]?
2728
+
2729
+ def product_tags=: (::Array[String]) -> ::Array[String]
2730
+
2731
+ def initialize: (
2732
+ ?presentation_group_values: ::Hash[Symbol, String],
2733
+ ?pricing_group_values: ::Hash[Symbol, String],
2734
+ ?product_id: String,
2735
+ ?product_tags: ::Array[String]
2736
+ ) -> void
2737
+
2738
+ def to_hash: -> {
2739
+ presentation_group_values: ::Hash[Symbol, String],
2740
+ pricing_group_values: ::Hash[Symbol, String],
2741
+ product_id: String,
2742
+ product_tags: ::Array[String]
2743
+ }
1770
2744
  end
1771
2745
  end
1772
2746
 
@@ -1774,7 +2748,7 @@ module MetronomeSDK
1774
2748
  {
1775
2749
  fraction: Float,
1776
2750
  netsuite_reseller_id: String,
1777
- reseller_type: MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
2751
+ reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
1778
2752
  starting_at: Time,
1779
2753
  applicable_product_ids: ::Array[String],
1780
2754
  applicable_product_tags: ::Array[String],
@@ -1789,7 +2763,7 @@ module MetronomeSDK
1789
2763
 
1790
2764
  attr_accessor netsuite_reseller_id: String
1791
2765
 
1792
- attr_accessor reseller_type: MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::reseller_type
2766
+ attr_accessor reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type
1793
2767
 
1794
2768
  attr_accessor starting_at: Time
1795
2769
 
@@ -1824,7 +2798,7 @@ module MetronomeSDK
1824
2798
  def initialize: (
1825
2799
  fraction: Float,
1826
2800
  netsuite_reseller_id: String,
1827
- reseller_type: MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
2801
+ reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
1828
2802
  starting_at: Time,
1829
2803
  ?applicable_product_ids: ::Array[String],
1830
2804
  ?applicable_product_tags: ::Array[String],
@@ -1834,6 +2808,19 @@ module MetronomeSDK
1834
2808
  ?reseller_contract_value: Float
1835
2809
  ) -> void
1836
2810
 
2811
+ def to_hash: -> {
2812
+ fraction: Float,
2813
+ netsuite_reseller_id: String,
2814
+ reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
2815
+ starting_at: Time,
2816
+ applicable_product_ids: ::Array[String],
2817
+ applicable_product_tags: ::Array[String],
2818
+ aws_options: MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::AwsOptions,
2819
+ ending_before: Time,
2820
+ gcp_options: MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::GcpOptions,
2821
+ reseller_contract_value: Float
2822
+ }
2823
+
1837
2824
  type reseller_type = :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1838
2825
 
1839
2826
  module ResellerType
@@ -1844,7 +2831,7 @@ module MetronomeSDK
1844
2831
  GCP: :GCP
1845
2832
  GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1846
2833
 
1847
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::reseller_type]
2834
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type]
1848
2835
  end
1849
2836
 
1850
2837
  type aws_options =
@@ -1872,6 +2859,12 @@ module MetronomeSDK
1872
2859
  ?aws_offer_id: String,
1873
2860
  ?aws_payer_reference_id: String
1874
2861
  ) -> void
2862
+
2863
+ def to_hash: -> {
2864
+ aws_account_number: String,
2865
+ aws_offer_id: String,
2866
+ aws_payer_reference_id: String
2867
+ }
1875
2868
  end
1876
2869
 
1877
2870
  type gcp_options = { gcp_account_id: String, gcp_offer_id: String }
@@ -1889,6 +2882,8 @@ module MetronomeSDK
1889
2882
  ?gcp_account_id: String,
1890
2883
  ?gcp_offer_id: String
1891
2884
  ) -> void
2885
+
2886
+ def to_hash: -> { gcp_account_id: String, gcp_offer_id: String }
1892
2887
  end
1893
2888
  end
1894
2889
 
@@ -1920,6 +2915,13 @@ module MetronomeSDK
1920
2915
  ?netsuite_sales_order_id: String
1921
2916
  ) -> void
1922
2917
 
2918
+ def to_hash: -> {
2919
+ product_id: String,
2920
+ schedule: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule,
2921
+ name: String,
2922
+ netsuite_sales_order_id: String
2923
+ }
2924
+
1923
2925
  type schedule =
1924
2926
  {
1925
2927
  credit_type_id: String,
@@ -1950,11 +2952,17 @@ module MetronomeSDK
1950
2952
  ?schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
1951
2953
  ) -> void
1952
2954
 
2955
+ def to_hash: -> {
2956
+ credit_type_id: String,
2957
+ recurring_schedule: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule,
2958
+ schedule_items: ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2959
+ }
2960
+
1953
2961
  type recurring_schedule =
1954
2962
  {
1955
- amount_distribution: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2963
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
1956
2964
  ending_before: Time,
1957
- frequency: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
2965
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
1958
2966
  starting_at: Time,
1959
2967
  amount: Float,
1960
2968
  quantity: Float,
@@ -1962,11 +2970,11 @@ module MetronomeSDK
1962
2970
  }
1963
2971
 
1964
2972
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
1965
- attr_accessor amount_distribution: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution
2973
+ attr_accessor amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution
1966
2974
 
1967
2975
  attr_accessor ending_before: Time
1968
2976
 
1969
- attr_accessor frequency: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency
2977
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency
1970
2978
 
1971
2979
  attr_accessor starting_at: Time
1972
2980
 
@@ -1983,15 +2991,25 @@ module MetronomeSDK
1983
2991
  def unit_price=: (Float) -> Float
1984
2992
 
1985
2993
  def initialize: (
1986
- amount_distribution: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2994
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
1987
2995
  ending_before: Time,
1988
- frequency: MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
2996
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
1989
2997
  starting_at: Time,
1990
2998
  ?amount: Float,
1991
2999
  ?quantity: Float,
1992
3000
  ?unit_price: Float
1993
3001
  ) -> void
1994
3002
 
3003
+ def to_hash: -> {
3004
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
3005
+ ending_before: Time,
3006
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
3007
+ starting_at: Time,
3008
+ amount: Float,
3009
+ quantity: Float,
3010
+ unit_price: Float
3011
+ }
3012
+
1995
3013
  type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
1996
3014
 
1997
3015
  module AmountDistribution
@@ -2001,7 +3019,7 @@ module MetronomeSDK
2001
3019
  DIVIDED_ROUNDED: :DIVIDED_ROUNDED
2002
3020
  EACH: :EACH
2003
3021
 
2004
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution]
3022
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution]
2005
3023
  end
2006
3024
 
2007
3025
  type frequency = :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL
@@ -2014,7 +3032,7 @@ module MetronomeSDK
2014
3032
  SEMI_ANNUAL: :SEMI_ANNUAL
2015
3033
  ANNUAL: :ANNUAL
2016
3034
 
2017
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency]
3035
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency]
2018
3036
  end
2019
3037
  end
2020
3038
 
@@ -2047,6 +3065,13 @@ module MetronomeSDK
2047
3065
  ?quantity: Float,
2048
3066
  ?unit_price: Float
2049
3067
  ) -> void
3068
+
3069
+ def to_hash: -> {
3070
+ timestamp: Time,
3071
+ amount: Float,
3072
+ quantity: Float,
3073
+ unit_price: Float
3074
+ }
2050
3075
  end
2051
3076
  end
2052
3077
  end
@@ -2085,6 +3110,13 @@ module MetronomeSDK
2085
3110
  threshold_amount: Float
2086
3111
  ) -> void
2087
3112
 
3113
+ def to_hash: -> {
3114
+ commit: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::Commit,
3115
+ is_enabled: bool,
3116
+ payment_gate_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig,
3117
+ threshold_amount: Float
3118
+ }
3119
+
2088
3120
  type commit =
2089
3121
  { product_id: String, description: String, name: String }
2090
3122
 
@@ -2104,17 +3136,30 @@ module MetronomeSDK
2104
3136
  ?description: String,
2105
3137
  ?name: String
2106
3138
  ) -> void
3139
+
3140
+ def to_hash: -> {
3141
+ product_id: String,
3142
+ description: String,
3143
+ name: String
3144
+ }
2107
3145
  end
2108
3146
 
2109
3147
  type payment_gate_config =
2110
3148
  {
2111
- payment_gate_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3149
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3150
+ precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2112
3151
  stripe_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2113
- tax_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
3152
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2114
3153
  }
2115
3154
 
2116
3155
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2117
- attr_accessor payment_gate_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
3156
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
3157
+
3158
+ attr_reader precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
3159
+
3160
+ def precalculated_tax_config=: (
3161
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3162
+ ) -> MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2118
3163
 
2119
3164
  attr_reader stripe_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
2120
3165
 
@@ -2122,18 +3167,26 @@ module MetronomeSDK
2122
3167
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2123
3168
  ) -> MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2124
3169
 
2125
- attr_reader tax_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type?
3170
+ attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type?
2126
3171
 
2127
3172
  def tax_type=: (
2128
- MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2129
- ) -> MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
3173
+ MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
3174
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2130
3175
 
2131
3176
  def initialize: (
2132
- payment_gate_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3177
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3178
+ ?precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2133
3179
  ?stripe_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2134
- ?tax_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
3180
+ ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2135
3181
  ) -> void
2136
3182
 
3183
+ def to_hash: -> {
3184
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3185
+ precalculated_tax_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
3186
+ stripe_config: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
3187
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
3188
+ }
3189
+
2137
3190
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
2138
3191
 
2139
3192
  module PaymentGateType
@@ -2143,21 +3196,49 @@ module MetronomeSDK
2143
3196
  STRIPE: :STRIPE
2144
3197
  EXTERNAL: :EXTERNAL
2145
3198
 
2146
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
3199
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
3200
+ end
3201
+
3202
+ type precalculated_tax_config =
3203
+ { tax_amount: Float, tax_name: String }
3204
+
3205
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3206
+ attr_accessor tax_amount: Float
3207
+
3208
+ attr_reader tax_name: String?
3209
+
3210
+ def tax_name=: (String) -> String
3211
+
3212
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
3213
+
3214
+ def to_hash: -> { tax_amount: Float, tax_name: String }
2147
3215
  end
2148
3216
 
2149
3217
  type stripe_config =
2150
3218
  {
2151
- payment_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3219
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3220
+ invoice_metadata: ::Hash[Symbol, String]
2152
3221
  }
2153
3222
 
2154
3223
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2155
- attr_accessor payment_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3224
+ attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3225
+
3226
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
3227
+
3228
+ def invoice_metadata=: (
3229
+ ::Hash[Symbol, String]
3230
+ ) -> ::Hash[Symbol, String]
2156
3231
 
2157
3232
  def initialize: (
2158
- payment_type: MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3233
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3234
+ ?invoice_metadata: ::Hash[Symbol, String]
2159
3235
  ) -> void
2160
3236
 
3237
+ def to_hash: -> {
3238
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3239
+ invoice_metadata: ::Hash[Symbol, String]
3240
+ }
3241
+
2161
3242
  type payment_type = :INVOICE | :PAYMENT_INTENT
2162
3243
 
2163
3244
  module PaymentType
@@ -2166,19 +3247,174 @@ module MetronomeSDK
2166
3247
  INVOICE: :INVOICE
2167
3248
  PAYMENT_INTENT: :PAYMENT_INTENT
2168
3249
 
2169
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
3250
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
2170
3251
  end
2171
3252
  end
2172
3253
 
2173
- type tax_type = :NONE | :STRIPE
3254
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
2174
3255
 
2175
3256
  module TaxType
2176
3257
  extend MetronomeSDK::Internal::Type::Enum
2177
3258
 
2178
3259
  NONE: :NONE
2179
3260
  STRIPE: :STRIPE
3261
+ ANROK: :ANROK
3262
+ PRECALCULATED: :PRECALCULATED
3263
+
3264
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type]
3265
+ end
3266
+ end
3267
+ end
3268
+
3269
+ type subscription =
3270
+ {
3271
+ collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
3272
+ initial_quantity: Float,
3273
+ proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
3274
+ subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3275
+ custom_fields: ::Hash[Symbol, String],
3276
+ description: String,
3277
+ ending_before: Time,
3278
+ name: String,
3279
+ starting_at: Time
3280
+ }
3281
+
3282
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
3283
+ attr_accessor collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule
3284
+
3285
+ attr_accessor initial_quantity: Float
3286
+
3287
+ attr_accessor proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration
3288
+
3289
+ attr_accessor subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate
3290
+
3291
+ attr_reader custom_fields: ::Hash[Symbol, String]?
3292
+
3293
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
3294
+
3295
+ attr_reader description: String?
3296
+
3297
+ def description=: (String) -> String
3298
+
3299
+ attr_reader ending_before: Time?
3300
+
3301
+ def ending_before=: (Time) -> Time
3302
+
3303
+ attr_reader name: String?
3304
+
3305
+ def name=: (String) -> String
3306
+
3307
+ attr_reader starting_at: Time?
3308
+
3309
+ def starting_at=: (Time) -> Time
3310
+
3311
+ def initialize: (
3312
+ collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
3313
+ initial_quantity: Float,
3314
+ proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
3315
+ subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3316
+ ?custom_fields: ::Hash[Symbol, String],
3317
+ ?description: String,
3318
+ ?ending_before: Time,
3319
+ ?name: String,
3320
+ ?starting_at: Time
3321
+ ) -> void
3322
+
3323
+ def to_hash: -> {
3324
+ collection_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule,
3325
+ initial_quantity: Float,
3326
+ proration: MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
3327
+ subscription_rate: MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
3328
+ custom_fields: ::Hash[Symbol, String],
3329
+ description: String,
3330
+ ending_before: Time,
3331
+ name: String,
3332
+ starting_at: Time
3333
+ }
3334
+
3335
+ type collection_schedule = :ADVANCE | :ARREARS
3336
+
3337
+ module CollectionSchedule
3338
+ extend MetronomeSDK::Internal::Type::Enum
3339
+
3340
+ ADVANCE: :ADVANCE
3341
+ ARREARS: :ARREARS
3342
+
3343
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::collection_schedule]
3344
+ end
3345
+
3346
+ type proration =
3347
+ {
3348
+ invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
3349
+ is_prorated: bool
3350
+ }
3351
+
3352
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3353
+ attr_reader invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior?
3354
+
3355
+ def invoice_behavior=: (
3356
+ MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior
3357
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior
3358
+
3359
+ attr_reader is_prorated: bool?
3360
+
3361
+ def is_prorated=: (bool) -> bool
3362
+
3363
+ def initialize: (
3364
+ ?invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
3365
+ ?is_prorated: bool
3366
+ ) -> void
3367
+
3368
+ def to_hash: -> {
3369
+ invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior,
3370
+ is_prorated: bool
3371
+ }
2180
3372
 
2181
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type]
3373
+ type invoice_behavior =
3374
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
3375
+
3376
+ module InvoiceBehavior
3377
+ extend MetronomeSDK::Internal::Type::Enum
3378
+
3379
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
3380
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
3381
+
3382
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::invoice_behavior]
3383
+ end
3384
+ end
3385
+
3386
+ type subscription_rate =
3387
+ {
3388
+ billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::billing_frequency,
3389
+ product_id: String
3390
+ }
3391
+
3392
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3393
+ attr_accessor billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::billing_frequency
3394
+
3395
+ attr_accessor product_id: String
3396
+
3397
+ def initialize: (
3398
+ billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::billing_frequency,
3399
+ product_id: String
3400
+ ) -> void
3401
+
3402
+ def to_hash: -> {
3403
+ billing_frequency: MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::billing_frequency,
3404
+ product_id: String
3405
+ }
3406
+
3407
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
3408
+
3409
+ module BillingFrequency
3410
+ extend MetronomeSDK::Internal::Type::Enum
3411
+
3412
+ MONTHLY: :MONTHLY
3413
+ QUARTERLY: :QUARTERLY
3414
+ ANNUAL: :ANNUAL
3415
+ WEEKLY: :WEEKLY
3416
+
3417
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::billing_frequency]
2182
3418
  end
2183
3419
  end
2184
3420
  end
@@ -2186,14 +3422,14 @@ module MetronomeSDK
2186
3422
  type transition =
2187
3423
  {
2188
3424
  from_contract_id: String,
2189
- type: MetronomeSDK::V1::ContractCreateParams::Transition::type_,
3425
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_,
2190
3426
  future_invoice_behavior: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
2191
3427
  }
2192
3428
 
2193
3429
  class Transition < MetronomeSDK::Internal::Type::BaseModel
2194
3430
  attr_accessor from_contract_id: String
2195
3431
 
2196
- attr_accessor type: MetronomeSDK::V1::ContractCreateParams::Transition::type_
3432
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_
2197
3433
 
2198
3434
  attr_reader future_invoice_behavior: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior?
2199
3435
 
@@ -2203,10 +3439,16 @@ module MetronomeSDK
2203
3439
 
2204
3440
  def initialize: (
2205
3441
  from_contract_id: String,
2206
- type: MetronomeSDK::V1::ContractCreateParams::Transition::type_,
3442
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_,
2207
3443
  ?future_invoice_behavior: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
2208
3444
  ) -> void
2209
3445
 
3446
+ def to_hash: -> {
3447
+ from_contract_id: String,
3448
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_,
3449
+ future_invoice_behavior: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
3450
+ }
3451
+
2210
3452
  type type_ = :SUPERSEDE | :RENEWAL
2211
3453
 
2212
3454
  module Type
@@ -2215,21 +3457,25 @@ module MetronomeSDK
2215
3457
  SUPERSEDE: :SUPERSEDE
2216
3458
  RENEWAL: :RENEWAL
2217
3459
 
2218
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Transition::type_]
3460
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_]
2219
3461
  end
2220
3462
 
2221
3463
  type future_invoice_behavior =
2222
3464
  {
2223
- trueup: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
3465
+ trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
2224
3466
  }
2225
3467
 
2226
3468
  class FutureInvoiceBehavior < MetronomeSDK::Internal::Type::BaseModel
2227
- attr_accessor trueup: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
3469
+ attr_accessor trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
2228
3470
 
2229
3471
  def initialize: (
2230
- ?trueup: MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
3472
+ ?trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
2231
3473
  ) -> void
2232
3474
 
3475
+ def to_hash: -> {
3476
+ trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
3477
+ }
3478
+
2233
3479
  type trueup = :REMOVE | :AS_IS
2234
3480
 
2235
3481
  module Trueup
@@ -2238,43 +3484,50 @@ module MetronomeSDK
2238
3484
  REMOVE: :REMOVE
2239
3485
  AS_IS: :AS_IS
2240
3486
 
2241
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup]
3487
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup]
2242
3488
  end
2243
3489
  end
2244
3490
  end
2245
3491
 
2246
3492
  type usage_statement_schedule =
2247
3493
  {
2248
- frequency: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::frequency,
3494
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency,
2249
3495
  billing_anchor_date: Time,
2250
- day: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::day,
3496
+ day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day,
2251
3497
  invoice_generation_starting_at: Time
2252
3498
  }
2253
3499
 
2254
3500
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
2255
- attr_accessor frequency: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::frequency
3501
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency
2256
3502
 
2257
3503
  attr_reader billing_anchor_date: Time?
2258
3504
 
2259
3505
  def billing_anchor_date=: (Time) -> Time
2260
3506
 
2261
- attr_reader day: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::day?
3507
+ attr_reader day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day?
2262
3508
 
2263
3509
  def day=: (
2264
- MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::day
2265
- ) -> MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::day
3510
+ MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day
3511
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day
2266
3512
 
2267
3513
  attr_reader invoice_generation_starting_at: Time?
2268
3514
 
2269
3515
  def invoice_generation_starting_at=: (Time) -> Time
2270
3516
 
2271
3517
  def initialize: (
2272
- frequency: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::frequency,
3518
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency,
2273
3519
  ?billing_anchor_date: Time,
2274
- ?day: MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::day,
3520
+ ?day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day,
2275
3521
  ?invoice_generation_starting_at: Time
2276
3522
  ) -> void
2277
3523
 
3524
+ def to_hash: -> {
3525
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency,
3526
+ billing_anchor_date: Time,
3527
+ day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day,
3528
+ invoice_generation_starting_at: Time
3529
+ }
3530
+
2278
3531
  type frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2279
3532
 
2280
3533
  module Frequency
@@ -2285,7 +3538,7 @@ module MetronomeSDK
2285
3538
  ANNUAL: :ANNUAL
2286
3539
  WEEKLY: :WEEKLY
2287
3540
 
2288
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::frequency]
3541
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency]
2289
3542
  end
2290
3543
 
2291
3544
  type day = :FIRST_OF_MONTH | :CONTRACT_START | :CUSTOM_DATE
@@ -2297,7 +3550,7 @@ module MetronomeSDK
2297
3550
  CONTRACT_START: :CONTRACT_START
2298
3551
  CUSTOM_DATE: :CUSTOM_DATE
2299
3552
 
2300
- def self?.values: -> ::Array[MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::day]
3553
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day]
2301
3554
  end
2302
3555
  end
2303
3556
  end