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,6 +11,10 @@ module MetronomeSDK
11
11
  data: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data
12
12
  ) -> void
13
13
 
14
+ def to_hash: -> {
15
+ data: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data
16
+ }
17
+
14
18
  type data =
15
19
  {
16
20
  id: String,
@@ -30,11 +34,13 @@ module MetronomeSDK
30
34
  customer_billing_provider_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration,
31
35
  discounts: ::Array[MetronomeSDK::Discount],
32
36
  ending_before: Time,
37
+ hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration,
33
38
  multiplier_override_prioritization: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::multiplier_override_prioritization,
34
39
  name: String,
35
40
  net_payment_terms_days: Float,
36
41
  netsuite_sales_order_id: String,
37
42
  prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration,
43
+ priority: Float,
38
44
  professional_services: ::Array[MetronomeSDK::ProService],
39
45
  rate_card_id: String,
40
46
  recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit],
@@ -43,6 +49,7 @@ module MetronomeSDK
43
49
  salesforce_opportunity_id: String,
44
50
  scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
45
51
  spend_threshold_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration,
52
+ subscriptions: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription],
46
53
  total_contract_value: Float,
47
54
  uniqueness_key: String
48
55
  }
@@ -100,6 +107,12 @@ module MetronomeSDK
100
107
 
101
108
  def ending_before=: (Time) -> Time
102
109
 
110
+ attr_reader hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration?
111
+
112
+ def hierarchy_configuration=: (
113
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration
114
+ ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration
115
+
103
116
  attr_reader multiplier_override_prioritization: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::multiplier_override_prioritization?
104
117
 
105
118
  def multiplier_override_prioritization=: (
@@ -124,6 +137,10 @@ module MetronomeSDK
124
137
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration
125
138
  ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration
126
139
 
140
+ attr_reader priority: Float?
141
+
142
+ def priority=: (Float) -> Float
143
+
127
144
  attr_reader professional_services: ::Array[MetronomeSDK::ProService]?
128
145
 
129
146
  def professional_services=: (
@@ -168,6 +185,12 @@ module MetronomeSDK
168
185
  MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration
169
186
  ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration
170
187
 
188
+ attr_reader subscriptions: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription]?
189
+
190
+ def subscriptions=: (
191
+ ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription]
192
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription]
193
+
171
194
  attr_reader total_contract_value: Float?
172
195
 
173
196
  def total_contract_value=: (Float) -> Float
@@ -194,11 +217,13 @@ module MetronomeSDK
194
217
  ?customer_billing_provider_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration,
195
218
  ?discounts: ::Array[MetronomeSDK::Discount],
196
219
  ?ending_before: Time,
220
+ ?hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration,
197
221
  ?multiplier_override_prioritization: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::multiplier_override_prioritization,
198
222
  ?name: String,
199
223
  ?net_payment_terms_days: Float,
200
224
  ?netsuite_sales_order_id: String,
201
225
  ?prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration,
226
+ ?priority: Float,
202
227
  ?professional_services: ::Array[MetronomeSDK::ProService],
203
228
  ?rate_card_id: String,
204
229
  ?recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit],
@@ -207,10 +232,49 @@ module MetronomeSDK
207
232
  ?salesforce_opportunity_id: String,
208
233
  ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
209
234
  ?spend_threshold_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration,
235
+ ?subscriptions: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription],
210
236
  ?total_contract_value: Float,
211
237
  ?uniqueness_key: String
212
238
  ) -> void
213
239
 
240
+ def to_hash: -> {
241
+ id: String,
242
+ commits: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit],
243
+ created_at: Time,
244
+ created_by: String,
245
+ customer_id: String,
246
+ overrides: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override],
247
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
248
+ starting_at: Time,
249
+ transitions: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Transition],
250
+ usage_filter: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::UsageFilter],
251
+ usage_statement_schedule: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::UsageStatementSchedule,
252
+ archived_at: Time,
253
+ credits: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit],
254
+ custom_fields: ::Hash[Symbol, String],
255
+ customer_billing_provider_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration,
256
+ discounts: ::Array[MetronomeSDK::Discount],
257
+ ending_before: Time,
258
+ hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration,
259
+ multiplier_override_prioritization: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::multiplier_override_prioritization,
260
+ name: String,
261
+ net_payment_terms_days: Float,
262
+ netsuite_sales_order_id: String,
263
+ prepaid_balance_threshold_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration,
264
+ priority: Float,
265
+ professional_services: ::Array[MetronomeSDK::ProService],
266
+ rate_card_id: String,
267
+ recurring_commits: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit],
268
+ recurring_credits: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit],
269
+ reseller_royalties: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ResellerRoyalty],
270
+ salesforce_opportunity_id: String,
271
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::scheduled_charges_on_usage_invoices,
272
+ spend_threshold_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration,
273
+ subscriptions: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription],
274
+ total_contract_value: Float,
275
+ uniqueness_key: String
276
+ }
277
+
214
278
  type commit =
215
279
  {
216
280
  id: String,
@@ -225,6 +289,7 @@ module MetronomeSDK
225
289
  contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Contract,
226
290
  custom_fields: ::Hash[Symbol, String],
227
291
  description: String,
292
+ hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration,
228
293
  invoice_contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract,
229
294
  invoice_schedule: MetronomeSDK::SchedulePointInTime,
230
295
  ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::ledger],
@@ -234,7 +299,8 @@ module MetronomeSDK
234
299
  rate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::rate_type,
235
300
  rolled_over_from: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::RolledOverFrom,
236
301
  rollover_fraction: Float,
237
- salesforce_opportunity_id: String
302
+ salesforce_opportunity_id: String,
303
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier]
238
304
  }
239
305
 
240
306
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -286,6 +352,12 @@ module MetronomeSDK
286
352
 
287
353
  def description=: (String) -> String
288
354
 
355
+ attr_reader hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration?
356
+
357
+ def hierarchy_configuration=: (
358
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration
359
+ ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration
360
+
289
361
  attr_reader invoice_contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract?
290
362
 
291
363
  def invoice_contract=: (
@@ -336,6 +408,12 @@ module MetronomeSDK
336
408
 
337
409
  def salesforce_opportunity_id=: (String) -> String
338
410
 
411
+ attr_reader specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier]?
412
+
413
+ def specifiers=: (
414
+ ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier]
415
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier]
416
+
339
417
  def initialize: (
340
418
  id: String,
341
419
  product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Product,
@@ -349,6 +427,7 @@ module MetronomeSDK
349
427
  ?contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Contract,
350
428
  ?custom_fields: ::Hash[Symbol, String],
351
429
  ?description: String,
430
+ ?hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration,
352
431
  ?invoice_contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract,
353
432
  ?invoice_schedule: MetronomeSDK::SchedulePointInTime,
354
433
  ?ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::ledger],
@@ -358,9 +437,37 @@ module MetronomeSDK
358
437
  ?rate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::rate_type,
359
438
  ?rolled_over_from: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::RolledOverFrom,
360
439
  ?rollover_fraction: Float,
361
- ?salesforce_opportunity_id: String
440
+ ?salesforce_opportunity_id: String,
441
+ ?specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier]
362
442
  ) -> void
363
443
 
444
+ def to_hash: -> {
445
+ id: String,
446
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Product,
447
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::type_,
448
+ access_schedule: MetronomeSDK::ScheduleDuration,
449
+ applicable_contract_ids: ::Array[String],
450
+ applicable_product_ids: ::Array[String],
451
+ applicable_product_tags: ::Array[String],
452
+ archived_at: Time,
453
+ balance: Float,
454
+ contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Contract,
455
+ custom_fields: ::Hash[Symbol, String],
456
+ description: String,
457
+ hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration,
458
+ invoice_contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract,
459
+ invoice_schedule: MetronomeSDK::SchedulePointInTime,
460
+ ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::ledger],
461
+ name: String,
462
+ netsuite_sales_order_id: String,
463
+ priority: Float,
464
+ rate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::rate_type,
465
+ rolled_over_from: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::RolledOverFrom,
466
+ rollover_fraction: Float,
467
+ salesforce_opportunity_id: String,
468
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier]
469
+ }
470
+
364
471
  type product = { id: String, name: String }
365
472
 
366
473
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -369,6 +476,8 @@ module MetronomeSDK
369
476
  attr_accessor name: String
370
477
 
371
478
  def initialize: (id: String, name: String) -> void
479
+
480
+ def to_hash: -> { id: String, name: String }
372
481
  end
373
482
 
374
483
  type type_ = :PREPAID | :POSTPAID
@@ -388,6 +497,122 @@ module MetronomeSDK
388
497
  attr_accessor id: String
389
498
 
390
499
  def initialize: (id: String) -> void
500
+
501
+ def to_hash: -> { id: String }
502
+ end
503
+
504
+ type hierarchy_configuration =
505
+ {
506
+ child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::child_access
507
+ }
508
+
509
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
510
+ attr_accessor child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::child_access
511
+
512
+ def initialize: (
513
+ child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::child_access
514
+ ) -> void
515
+
516
+ def to_hash: -> {
517
+ child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::child_access
518
+ }
519
+
520
+ type child_access =
521
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
522
+ | MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
523
+ | MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
524
+
525
+ module ChildAccess
526
+ extend MetronomeSDK::Internal::Type::Union
527
+
528
+ type commit_hierarchy_child_access_all =
529
+ {
530
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
531
+ }
532
+
533
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
534
+ attr_accessor type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
535
+
536
+ def initialize: (
537
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
538
+ ) -> void
539
+
540
+ def to_hash: -> {
541
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
542
+ }
543
+
544
+ type type_ = :ALL
545
+
546
+ module Type
547
+ extend MetronomeSDK::Internal::Type::Enum
548
+
549
+ ALL: :ALL
550
+
551
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
552
+ end
553
+ end
554
+
555
+ type commit_hierarchy_child_access_none =
556
+ {
557
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
558
+ }
559
+
560
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
561
+ attr_accessor type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
562
+
563
+ def initialize: (
564
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
565
+ ) -> void
566
+
567
+ def to_hash: -> {
568
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
569
+ }
570
+
571
+ type type_ = :NONE
572
+
573
+ module Type
574
+ extend MetronomeSDK::Internal::Type::Enum
575
+
576
+ NONE: :NONE
577
+
578
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
579
+ end
580
+ end
581
+
582
+ type commit_hierarchy_child_access_contract_ids =
583
+ {
584
+ contract_ids: ::Array[String],
585
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
586
+ }
587
+
588
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
589
+ attr_accessor contract_ids: ::Array[String]
590
+
591
+ attr_accessor type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
592
+
593
+ def initialize: (
594
+ contract_ids: ::Array[String],
595
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
596
+ ) -> void
597
+
598
+ def to_hash: -> {
599
+ contract_ids: ::Array[String],
600
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
601
+ }
602
+
603
+ type type_ = :CONTRACT_IDS
604
+
605
+ module Type
606
+ extend MetronomeSDK::Internal::Type::Enum
607
+
608
+ CONTRACT_IDS: :CONTRACT_IDS
609
+
610
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
611
+ end
612
+ end
613
+
614
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::child_access]
615
+ end
391
616
  end
392
617
 
393
618
  type invoice_contract = { id: String }
@@ -396,6 +621,8 @@ module MetronomeSDK
396
621
  attr_accessor id: String
397
622
 
398
623
  def initialize: (id: String) -> void
624
+
625
+ def to_hash: -> { id: String }
399
626
  end
400
627
 
401
628
  type ledger =
@@ -440,6 +667,13 @@ module MetronomeSDK
440
667
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::type_
441
668
  ) -> void
442
669
 
670
+ def to_hash: -> {
671
+ amount: Float,
672
+ segment_id: String,
673
+ timestamp: Time,
674
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::type_
675
+ }
676
+
443
677
  type type_ = :PREPAID_COMMIT_SEGMENT_START
444
678
 
445
679
  module Type
@@ -479,6 +713,14 @@ module MetronomeSDK
479
713
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
480
714
  ) -> void
481
715
 
716
+ def to_hash: -> {
717
+ amount: Float,
718
+ invoice_id: String,
719
+ segment_id: String,
720
+ timestamp: Time,
721
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
722
+ }
723
+
482
724
  type type_ = :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
483
725
 
484
726
  module Type
@@ -518,6 +760,14 @@ module MetronomeSDK
518
760
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::type_
519
761
  ) -> void
520
762
 
763
+ def to_hash: -> {
764
+ amount: Float,
765
+ new_contract_id: String,
766
+ segment_id: String,
767
+ timestamp: Time,
768
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::type_
769
+ }
770
+
521
771
  type type_ = :PREPAID_COMMIT_ROLLOVER
522
772
 
523
773
  module Type
@@ -553,6 +803,13 @@ module MetronomeSDK
553
803
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::type_
554
804
  ) -> void
555
805
 
806
+ def to_hash: -> {
807
+ amount: Float,
808
+ segment_id: String,
809
+ timestamp: Time,
810
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::type_
811
+ }
812
+
556
813
  type type_ = :PREPAID_COMMIT_EXPIRATION
557
814
 
558
815
  module Type
@@ -592,6 +849,14 @@ module MetronomeSDK
592
849
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_
593
850
  ) -> void
594
851
 
852
+ def to_hash: -> {
853
+ amount: Float,
854
+ invoice_id: String,
855
+ segment_id: String,
856
+ timestamp: Time,
857
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::type_
858
+ }
859
+
595
860
  type type_ = :PREPAID_COMMIT_CANCELED
596
861
 
597
862
  module Type
@@ -631,6 +896,14 @@ module MetronomeSDK
631
896
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_
632
897
  ) -> void
633
898
 
899
+ def to_hash: -> {
900
+ amount: Float,
901
+ invoice_id: String,
902
+ segment_id: String,
903
+ timestamp: Time,
904
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::type_
905
+ }
906
+
634
907
  type type_ = :PREPAID_COMMIT_CREDITED
635
908
 
636
909
  module Type
@@ -662,6 +935,12 @@ module MetronomeSDK
662
935
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::type_
663
936
  ) -> void
664
937
 
938
+ def to_hash: -> {
939
+ amount: Float,
940
+ timestamp: Time,
941
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::type_
942
+ }
943
+
665
944
  type type_ = :POSTPAID_COMMIT_INITIAL_BALANCE
666
945
 
667
946
  module Type
@@ -701,6 +980,14 @@ module MetronomeSDK
701
980
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
702
981
  ) -> void
703
982
 
983
+ def to_hash: -> {
984
+ amount: Float,
985
+ invoice_id: String,
986
+ segment_id: String,
987
+ timestamp: Time,
988
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::type_
989
+ }
990
+
704
991
  type type_ = :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
705
992
 
706
993
  module Type
@@ -740,6 +1027,14 @@ module MetronomeSDK
740
1027
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::type_
741
1028
  ) -> void
742
1029
 
1030
+ def to_hash: -> {
1031
+ amount: Float,
1032
+ new_contract_id: String,
1033
+ segment_id: String,
1034
+ timestamp: Time,
1035
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::type_
1036
+ }
1037
+
743
1038
  type type_ = :POSTPAID_COMMIT_ROLLOVER
744
1039
 
745
1040
  module Type
@@ -775,6 +1070,13 @@ module MetronomeSDK
775
1070
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_
776
1071
  ) -> void
777
1072
 
1073
+ def to_hash: -> {
1074
+ amount: Float,
1075
+ invoice_id: String,
1076
+ timestamp: Time,
1077
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::type_
1078
+ }
1079
+
778
1080
  type type_ = :POSTPAID_COMMIT_TRUEUP
779
1081
 
780
1082
  module Type
@@ -810,6 +1112,13 @@ module MetronomeSDK
810
1112
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::type_
811
1113
  ) -> void
812
1114
 
1115
+ def to_hash: -> {
1116
+ amount: Float,
1117
+ reason: String,
1118
+ timestamp: Time,
1119
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::type_
1120
+ }
1121
+
813
1122
  type type_ = :PREPAID_COMMIT_MANUAL
814
1123
 
815
1124
  module Type
@@ -845,6 +1154,13 @@ module MetronomeSDK
845
1154
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::type_
846
1155
  ) -> void
847
1156
 
1157
+ def to_hash: -> {
1158
+ amount: Float,
1159
+ reason: String,
1160
+ timestamp: Time,
1161
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::type_
1162
+ }
1163
+
848
1164
  type type_ = :POSTPAID_COMMIT_MANUAL
849
1165
 
850
1166
  module Type
@@ -876,6 +1192,12 @@ module MetronomeSDK
876
1192
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::type_
877
1193
  ) -> void
878
1194
 
1195
+ def to_hash: -> {
1196
+ amount: Float,
1197
+ timestamp: Time,
1198
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::type_
1199
+ }
1200
+
879
1201
  type type_ = :POSTPAID_COMMIT_EXPIRATION
880
1202
 
881
1203
  module Type
@@ -909,6 +1231,52 @@ module MetronomeSDK
909
1231
  attr_accessor contract_id: String
910
1232
 
911
1233
  def initialize: (commit_id: String, contract_id: String) -> void
1234
+
1235
+ def to_hash: -> { commit_id: String, contract_id: String }
1236
+ end
1237
+
1238
+ type specifier =
1239
+ {
1240
+ presentation_group_values: ::Hash[Symbol, String],
1241
+ pricing_group_values: ::Hash[Symbol, String],
1242
+ product_id: String,
1243
+ product_tags: ::Array[String]
1244
+ }
1245
+
1246
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1247
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1248
+
1249
+ def presentation_group_values=: (
1250
+ ::Hash[Symbol, String]
1251
+ ) -> ::Hash[Symbol, String]
1252
+
1253
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1254
+
1255
+ def pricing_group_values=: (
1256
+ ::Hash[Symbol, String]
1257
+ ) -> ::Hash[Symbol, String]
1258
+
1259
+ attr_reader product_id: String?
1260
+
1261
+ def product_id=: (String) -> String
1262
+
1263
+ attr_reader product_tags: ::Array[String]?
1264
+
1265
+ def product_tags=: (::Array[String]) -> ::Array[String]
1266
+
1267
+ def initialize: (
1268
+ ?presentation_group_values: ::Hash[Symbol, String],
1269
+ ?pricing_group_values: ::Hash[Symbol, String],
1270
+ ?product_id: String,
1271
+ ?product_tags: ::Array[String]
1272
+ ) -> void
1273
+
1274
+ def to_hash: -> {
1275
+ presentation_group_values: ::Hash[Symbol, String],
1276
+ pricing_group_values: ::Hash[Symbol, String],
1277
+ product_id: String,
1278
+ product_tags: ::Array[String]
1279
+ }
912
1280
  end
913
1281
  end
914
1282
 
@@ -1012,8 +1380,26 @@ module MetronomeSDK
1012
1380
  ?type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::type_
1013
1381
  ) -> void
1014
1382
 
1383
+ def to_hash: -> {
1384
+ id: String,
1385
+ starting_at: Time,
1386
+ applicable_product_tags: ::Array[String],
1387
+ ending_before: Time,
1388
+ entitled: bool,
1389
+ is_commit_specific: bool,
1390
+ multiplier: Float,
1391
+ override_specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier],
1392
+ override_tiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideTier],
1393
+ overwrite_rate: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate,
1394
+ priority: Float,
1395
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::Product,
1396
+ target: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::target,
1397
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::type_
1398
+ }
1399
+
1015
1400
  type override_specifier =
1016
1401
  {
1402
+ billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency,
1017
1403
  commit_ids: ::Array[String],
1018
1404
  presentation_group_values: ::Hash[Symbol, String?],
1019
1405
  pricing_group_values: ::Hash[Symbol, String],
@@ -1024,6 +1410,12 @@ module MetronomeSDK
1024
1410
  }
1025
1411
 
1026
1412
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1413
+ attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency?
1414
+
1415
+ def billing_frequency=: (
1416
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency
1417
+ ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency
1418
+
1027
1419
  attr_reader commit_ids: ::Array[String]?
1028
1420
 
1029
1421
  def commit_ids=: (::Array[String]) -> ::Array[String]
@@ -1057,6 +1449,7 @@ module MetronomeSDK
1057
1449
  def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
1058
1450
 
1059
1451
  def initialize: (
1452
+ ?billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency,
1060
1453
  ?commit_ids: ::Array[String],
1061
1454
  ?presentation_group_values: ::Hash[Symbol, String?],
1062
1455
  ?pricing_group_values: ::Hash[Symbol, String],
@@ -1065,18 +1458,44 @@ module MetronomeSDK
1065
1458
  ?recurring_commit_ids: ::Array[String],
1066
1459
  ?recurring_credit_ids: ::Array[String]
1067
1460
  ) -> void
1068
- end
1069
-
1070
- type override_tier = { multiplier: Float, size: Float }
1071
1461
 
1072
- class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
1073
- attr_accessor multiplier: Float
1074
-
1075
- attr_reader size: Float?
1462
+ def to_hash: -> {
1463
+ billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency,
1464
+ commit_ids: ::Array[String],
1465
+ presentation_group_values: ::Hash[Symbol, String?],
1466
+ pricing_group_values: ::Hash[Symbol, String],
1467
+ product_id: String,
1468
+ product_tags: ::Array[String],
1469
+ recurring_commit_ids: ::Array[String],
1470
+ recurring_credit_ids: ::Array[String]
1471
+ }
1472
+
1473
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1474
+
1475
+ module BillingFrequency
1476
+ extend MetronomeSDK::Internal::Type::Enum
1477
+
1478
+ MONTHLY: :MONTHLY
1479
+ QUARTERLY: :QUARTERLY
1480
+ ANNUAL: :ANNUAL
1481
+ WEEKLY: :WEEKLY
1482
+
1483
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::billing_frequency]
1484
+ end
1485
+ end
1486
+
1487
+ type override_tier = { multiplier: Float, size: Float }
1488
+
1489
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
1490
+ attr_accessor multiplier: Float
1491
+
1492
+ attr_reader size: Float?
1076
1493
 
1077
1494
  def size=: (Float) -> Float
1078
1495
 
1079
1496
  def initialize: (multiplier: Float, ?size: Float) -> void
1497
+
1498
+ def to_hash: -> { multiplier: Float, size: Float }
1080
1499
  end
1081
1500
 
1082
1501
  type overwrite_rate =
@@ -1131,6 +1550,16 @@ module MetronomeSDK
1131
1550
  ?tiers: ::Array[MetronomeSDK::Tier]
1132
1551
  ) -> void
1133
1552
 
1553
+ def to_hash: -> {
1554
+ rate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::rate_type,
1555
+ credit_type: MetronomeSDK::CreditTypeData,
1556
+ custom_rate: ::Hash[Symbol, top],
1557
+ is_prorated: bool,
1558
+ price: Float,
1559
+ quantity: Float,
1560
+ tiers: ::Array[MetronomeSDK::Tier]
1561
+ }
1562
+
1134
1563
  type rate_type =
1135
1564
  :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
1136
1565
 
@@ -1155,6 +1584,8 @@ module MetronomeSDK
1155
1584
  attr_accessor name: String
1156
1585
 
1157
1586
  def initialize: (id: String, name: String) -> void
1587
+
1588
+ def to_hash: -> { id: String, name: String }
1158
1589
  end
1159
1590
 
1160
1591
  type target = :COMMIT_RATE | :LIST_RATE
@@ -1201,6 +1632,12 @@ module MetronomeSDK
1201
1632
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Transition::type_
1202
1633
  ) -> void
1203
1634
 
1635
+ def to_hash: -> {
1636
+ from_contract_id: String,
1637
+ to_contract_id: String,
1638
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Transition::type_
1639
+ }
1640
+
1204
1641
  type type_ = :SUPERSEDE | :RENEWAL
1205
1642
 
1206
1643
  module Type
@@ -1238,6 +1675,13 @@ module MetronomeSDK
1238
1675
  starting_at: Time,
1239
1676
  ?ending_before: Time
1240
1677
  ) -> void
1678
+
1679
+ def to_hash: -> {
1680
+ group_key: String,
1681
+ group_values: ::Array[String],
1682
+ starting_at: Time,
1683
+ ending_before: Time
1684
+ }
1241
1685
  end
1242
1686
 
1243
1687
  type usage_statement_schedule =
@@ -1256,6 +1700,11 @@ module MetronomeSDK
1256
1700
  frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::UsageStatementSchedule::frequency
1257
1701
  ) -> void
1258
1702
 
1703
+ def to_hash: -> {
1704
+ billing_anchor_date: Time,
1705
+ frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::UsageStatementSchedule::frequency
1706
+ }
1707
+
1259
1708
  type frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1260
1709
 
1261
1710
  module Frequency
@@ -1283,11 +1732,13 @@ module MetronomeSDK
1283
1732
  contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Contract,
1284
1733
  custom_fields: ::Hash[Symbol, String],
1285
1734
  description: String,
1735
+ hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration,
1286
1736
  ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::ledger],
1287
1737
  name: String,
1288
1738
  netsuite_sales_order_id: String,
1289
1739
  priority: Float,
1290
- salesforce_opportunity_id: String
1740
+ salesforce_opportunity_id: String,
1741
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier]
1291
1742
  }
1292
1743
 
1293
1744
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -1335,6 +1786,12 @@ module MetronomeSDK
1335
1786
 
1336
1787
  def description=: (String) -> String
1337
1788
 
1789
+ attr_reader hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration?
1790
+
1791
+ def hierarchy_configuration=: (
1792
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration
1793
+ ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration
1794
+
1338
1795
  attr_reader ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::ledger]?
1339
1796
 
1340
1797
  def ledger=: (
@@ -1357,6 +1814,12 @@ module MetronomeSDK
1357
1814
 
1358
1815
  def salesforce_opportunity_id=: (String) -> String
1359
1816
 
1817
+ attr_reader specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier]?
1818
+
1819
+ def specifiers=: (
1820
+ ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier]
1821
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier]
1822
+
1360
1823
  def initialize: (
1361
1824
  id: String,
1362
1825
  product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Product,
@@ -1369,13 +1832,36 @@ module MetronomeSDK
1369
1832
  ?contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Contract,
1370
1833
  ?custom_fields: ::Hash[Symbol, String],
1371
1834
  ?description: String,
1835
+ ?hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration,
1372
1836
  ?ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::ledger],
1373
1837
  ?name: String,
1374
1838
  ?netsuite_sales_order_id: String,
1375
1839
  ?priority: Float,
1376
- ?salesforce_opportunity_id: String
1840
+ ?salesforce_opportunity_id: String,
1841
+ ?specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier]
1377
1842
  ) -> void
1378
1843
 
1844
+ def to_hash: -> {
1845
+ id: String,
1846
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Product,
1847
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::type_,
1848
+ access_schedule: MetronomeSDK::ScheduleDuration,
1849
+ applicable_contract_ids: ::Array[String],
1850
+ applicable_product_ids: ::Array[String],
1851
+ applicable_product_tags: ::Array[String],
1852
+ balance: Float,
1853
+ contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Contract,
1854
+ custom_fields: ::Hash[Symbol, String],
1855
+ description: String,
1856
+ hierarchy_configuration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration,
1857
+ ledger: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::ledger],
1858
+ name: String,
1859
+ netsuite_sales_order_id: String,
1860
+ priority: Float,
1861
+ salesforce_opportunity_id: String,
1862
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier]
1863
+ }
1864
+
1379
1865
  type product = { id: String, name: String }
1380
1866
 
1381
1867
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -1384,6 +1870,8 @@ module MetronomeSDK
1384
1870
  attr_accessor name: String
1385
1871
 
1386
1872
  def initialize: (id: String, name: String) -> void
1873
+
1874
+ def to_hash: -> { id: String, name: String }
1387
1875
  end
1388
1876
 
1389
1877
  type type_ = :CREDIT
@@ -1402,6 +1890,122 @@ module MetronomeSDK
1402
1890
  attr_accessor id: String
1403
1891
 
1404
1892
  def initialize: (id: String) -> void
1893
+
1894
+ def to_hash: -> { id: String }
1895
+ end
1896
+
1897
+ type hierarchy_configuration =
1898
+ {
1899
+ child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::child_access
1900
+ }
1901
+
1902
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1903
+ attr_accessor child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::child_access
1904
+
1905
+ def initialize: (
1906
+ child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::child_access
1907
+ ) -> void
1908
+
1909
+ def to_hash: -> {
1910
+ child_access: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::child_access
1911
+ }
1912
+
1913
+ type child_access =
1914
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1915
+ | MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1916
+ | MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1917
+
1918
+ module ChildAccess
1919
+ extend MetronomeSDK::Internal::Type::Union
1920
+
1921
+ type commit_hierarchy_child_access_all =
1922
+ {
1923
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1924
+ }
1925
+
1926
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1927
+ attr_accessor type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1928
+
1929
+ def initialize: (
1930
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1931
+ ) -> void
1932
+
1933
+ def to_hash: -> {
1934
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1935
+ }
1936
+
1937
+ type type_ = :ALL
1938
+
1939
+ module Type
1940
+ extend MetronomeSDK::Internal::Type::Enum
1941
+
1942
+ ALL: :ALL
1943
+
1944
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
1945
+ end
1946
+ end
1947
+
1948
+ type commit_hierarchy_child_access_none =
1949
+ {
1950
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1951
+ }
1952
+
1953
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1954
+ attr_accessor type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1955
+
1956
+ def initialize: (
1957
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1958
+ ) -> void
1959
+
1960
+ def to_hash: -> {
1961
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1962
+ }
1963
+
1964
+ type type_ = :NONE
1965
+
1966
+ module Type
1967
+ extend MetronomeSDK::Internal::Type::Enum
1968
+
1969
+ NONE: :NONE
1970
+
1971
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
1972
+ end
1973
+ end
1974
+
1975
+ type commit_hierarchy_child_access_contract_ids =
1976
+ {
1977
+ contract_ids: ::Array[String],
1978
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1979
+ }
1980
+
1981
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1982
+ attr_accessor contract_ids: ::Array[String]
1983
+
1984
+ attr_accessor type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1985
+
1986
+ def initialize: (
1987
+ contract_ids: ::Array[String],
1988
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1989
+ ) -> void
1990
+
1991
+ def to_hash: -> {
1992
+ contract_ids: ::Array[String],
1993
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1994
+ }
1995
+
1996
+ type type_ = :CONTRACT_IDS
1997
+
1998
+ module Type
1999
+ extend MetronomeSDK::Internal::Type::Enum
2000
+
2001
+ CONTRACT_IDS: :CONTRACT_IDS
2002
+
2003
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
2004
+ end
2005
+ end
2006
+
2007
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::child_access]
2008
+ end
1405
2009
  end
1406
2010
 
1407
2011
  type ledger =
@@ -1439,6 +2043,13 @@ module MetronomeSDK
1439
2043
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::type_
1440
2044
  ) -> void
1441
2045
 
2046
+ def to_hash: -> {
2047
+ amount: Float,
2048
+ segment_id: String,
2049
+ timestamp: Time,
2050
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::type_
2051
+ }
2052
+
1442
2053
  type type_ = :CREDIT_SEGMENT_START
1443
2054
 
1444
2055
  module Type
@@ -1478,6 +2089,14 @@ module MetronomeSDK
1478
2089
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
1479
2090
  ) -> void
1480
2091
 
2092
+ def to_hash: -> {
2093
+ amount: Float,
2094
+ invoice_id: String,
2095
+ segment_id: String,
2096
+ timestamp: Time,
2097
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::type_
2098
+ }
2099
+
1481
2100
  type type_ = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
1482
2101
 
1483
2102
  module Type
@@ -1513,6 +2132,13 @@ module MetronomeSDK
1513
2132
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::type_
1514
2133
  ) -> void
1515
2134
 
2135
+ def to_hash: -> {
2136
+ amount: Float,
2137
+ segment_id: String,
2138
+ timestamp: Time,
2139
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::type_
2140
+ }
2141
+
1516
2142
  type type_ = :CREDIT_EXPIRATION
1517
2143
 
1518
2144
  module Type
@@ -1552,6 +2178,14 @@ module MetronomeSDK
1552
2178
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::type_
1553
2179
  ) -> void
1554
2180
 
2181
+ def to_hash: -> {
2182
+ amount: Float,
2183
+ invoice_id: String,
2184
+ segment_id: String,
2185
+ timestamp: Time,
2186
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::type_
2187
+ }
2188
+
1555
2189
  type type_ = :CREDIT_CANCELED
1556
2190
 
1557
2191
  module Type
@@ -1591,6 +2225,14 @@ module MetronomeSDK
1591
2225
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::type_
1592
2226
  ) -> void
1593
2227
 
2228
+ def to_hash: -> {
2229
+ amount: Float,
2230
+ invoice_id: String,
2231
+ segment_id: String,
2232
+ timestamp: Time,
2233
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::type_
2234
+ }
2235
+
1594
2236
  type type_ = :CREDIT_CREDITED
1595
2237
 
1596
2238
  module Type
@@ -1626,6 +2268,13 @@ module MetronomeSDK
1626
2268
  type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::type_
1627
2269
  ) -> void
1628
2270
 
2271
+ def to_hash: -> {
2272
+ amount: Float,
2273
+ reason: String,
2274
+ timestamp: Time,
2275
+ type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::type_
2276
+ }
2277
+
1629
2278
  type type_ = :CREDIT_MANUAL
1630
2279
 
1631
2280
  module Type
@@ -1639,6 +2288,50 @@ module MetronomeSDK
1639
2288
 
1640
2289
  def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::ledger]
1641
2290
  end
2291
+
2292
+ type specifier =
2293
+ {
2294
+ presentation_group_values: ::Hash[Symbol, String],
2295
+ pricing_group_values: ::Hash[Symbol, String],
2296
+ product_id: String,
2297
+ product_tags: ::Array[String]
2298
+ }
2299
+
2300
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2301
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
2302
+
2303
+ def presentation_group_values=: (
2304
+ ::Hash[Symbol, String]
2305
+ ) -> ::Hash[Symbol, String]
2306
+
2307
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
2308
+
2309
+ def pricing_group_values=: (
2310
+ ::Hash[Symbol, String]
2311
+ ) -> ::Hash[Symbol, String]
2312
+
2313
+ attr_reader product_id: String?
2314
+
2315
+ def product_id=: (String) -> String
2316
+
2317
+ attr_reader product_tags: ::Array[String]?
2318
+
2319
+ def product_tags=: (::Array[String]) -> ::Array[String]
2320
+
2321
+ def initialize: (
2322
+ ?presentation_group_values: ::Hash[Symbol, String],
2323
+ ?pricing_group_values: ::Hash[Symbol, String],
2324
+ ?product_id: String,
2325
+ ?product_tags: ::Array[String]
2326
+ ) -> void
2327
+
2328
+ def to_hash: -> {
2329
+ presentation_group_values: ::Hash[Symbol, String],
2330
+ pricing_group_values: ::Hash[Symbol, String],
2331
+ product_id: String,
2332
+ product_tags: ::Array[String]
2333
+ }
2334
+ end
1642
2335
  end
1643
2336
 
1644
2337
  type customer_billing_provider_configuration =
@@ -1657,6 +2350,11 @@ module MetronomeSDK
1657
2350
  delivery_method: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::delivery_method
1658
2351
  ) -> void
1659
2352
 
2353
+ def to_hash: -> {
2354
+ billing_provider: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::billing_provider,
2355
+ delivery_method: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::delivery_method
2356
+ }
2357
+
1660
2358
  type billing_provider =
1661
2359
  :aws_marketplace
1662
2360
  | :stripe
@@ -1697,6 +2395,80 @@ module MetronomeSDK
1697
2395
  end
1698
2396
  end
1699
2397
 
2398
+ type hierarchy_configuration =
2399
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration
2400
+ | MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration
2401
+
2402
+ module HierarchyConfiguration
2403
+ extend MetronomeSDK::Internal::Type::Union
2404
+
2405
+ type parent_hierarchy_configuration =
2406
+ {
2407
+ children: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
2408
+ }
2409
+
2410
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2411
+ attr_accessor children: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
2412
+
2413
+ def initialize: (
2414
+ children: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
2415
+ ) -> void
2416
+
2417
+ def to_hash: -> {
2418
+ children: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
2419
+ }
2420
+
2421
+ type child = { contract_id: String, customer_id: String }
2422
+
2423
+ class Child < MetronomeSDK::Internal::Type::BaseModel
2424
+ attr_accessor contract_id: String
2425
+
2426
+ attr_accessor customer_id: String
2427
+
2428
+ def initialize: (
2429
+ contract_id: String,
2430
+ customer_id: String
2431
+ ) -> void
2432
+
2433
+ def to_hash: -> { contract_id: String, customer_id: String }
2434
+ end
2435
+ end
2436
+
2437
+ type child_hierarchy_configuration =
2438
+ {
2439
+ parent: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
2440
+ }
2441
+
2442
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2443
+ attr_accessor parent: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
2444
+
2445
+ def initialize: (
2446
+ parent: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
2447
+ ) -> void
2448
+
2449
+ def to_hash: -> {
2450
+ parent: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
2451
+ }
2452
+
2453
+ type parent = { contract_id: String, customer_id: String }
2454
+
2455
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
2456
+ attr_accessor contract_id: String
2457
+
2458
+ attr_accessor customer_id: String
2459
+
2460
+ def initialize: (
2461
+ contract_id: String,
2462
+ customer_id: String
2463
+ ) -> void
2464
+
2465
+ def to_hash: -> { contract_id: String, customer_id: String }
2466
+ end
2467
+ end
2468
+
2469
+ def self?.variants: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::hierarchy_configuration]
2470
+ end
2471
+
1700
2472
  type multiplier_override_prioritization =
1701
2473
  :LOWEST_MULTIPLIER | :EXPLICIT
1702
2474
 
@@ -1715,7 +2487,8 @@ module MetronomeSDK
1715
2487
  is_enabled: bool,
1716
2488
  payment_gate_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1717
2489
  recharge_to_amount: Float,
1718
- threshold_amount: Float
2490
+ threshold_amount: Float,
2491
+ custom_credit_type_id: String
1719
2492
  }
1720
2493
 
1721
2494
  class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -1729,21 +2502,36 @@ module MetronomeSDK
1729
2502
 
1730
2503
  attr_accessor threshold_amount: Float
1731
2504
 
2505
+ attr_reader custom_credit_type_id: String?
2506
+
2507
+ def custom_credit_type_id=: (String) -> String
2508
+
1732
2509
  def initialize: (
1733
2510
  commit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit,
1734
2511
  is_enabled: bool,
1735
2512
  payment_gate_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
1736
2513
  recharge_to_amount: Float,
1737
- threshold_amount: Float
2514
+ threshold_amount: Float,
2515
+ ?custom_credit_type_id: String
1738
2516
  ) -> void
1739
2517
 
2518
+ def to_hash: -> {
2519
+ commit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit,
2520
+ is_enabled: bool,
2521
+ payment_gate_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
2522
+ recharge_to_amount: Float,
2523
+ threshold_amount: Float,
2524
+ custom_credit_type_id: String
2525
+ }
2526
+
1740
2527
  type commit =
1741
2528
  {
1742
2529
  product_id: String,
1743
2530
  applicable_product_ids: ::Array[String],
1744
2531
  applicable_product_tags: ::Array[String],
1745
2532
  description: String,
1746
- name: String
2533
+ name: String,
2534
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1747
2535
  }
1748
2536
 
1749
2537
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -1765,24 +2553,91 @@ module MetronomeSDK
1765
2553
 
1766
2554
  def name=: (String) -> String
1767
2555
 
2556
+ attr_reader specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier]?
2557
+
2558
+ def specifiers=: (
2559
+ ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
2560
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
2561
+
1768
2562
  def initialize: (
1769
2563
  product_id: String,
1770
2564
  ?applicable_product_ids: ::Array[String],
1771
2565
  ?applicable_product_tags: ::Array[String],
1772
2566
  ?description: String,
1773
- ?name: String
2567
+ ?name: String,
2568
+ ?specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1774
2569
  ) -> void
1775
- end
1776
2570
 
1777
- type payment_gate_config =
1778
- {
1779
- payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1780
- stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1781
- tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2571
+ def to_hash: -> {
2572
+ product_id: String,
2573
+ applicable_product_ids: ::Array[String],
2574
+ applicable_product_tags: ::Array[String],
2575
+ description: String,
2576
+ name: String,
2577
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1782
2578
  }
1783
2579
 
1784
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1785
- attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
2580
+ type specifier =
2581
+ {
2582
+ presentation_group_values: ::Hash[Symbol, String],
2583
+ pricing_group_values: ::Hash[Symbol, String],
2584
+ product_id: String,
2585
+ product_tags: ::Array[String]
2586
+ }
2587
+
2588
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2589
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
2590
+
2591
+ def presentation_group_values=: (
2592
+ ::Hash[Symbol, String]
2593
+ ) -> ::Hash[Symbol, String]
2594
+
2595
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
2596
+
2597
+ def pricing_group_values=: (
2598
+ ::Hash[Symbol, String]
2599
+ ) -> ::Hash[Symbol, String]
2600
+
2601
+ attr_reader product_id: String?
2602
+
2603
+ def product_id=: (String) -> String
2604
+
2605
+ attr_reader product_tags: ::Array[String]?
2606
+
2607
+ def product_tags=: (::Array[String]) -> ::Array[String]
2608
+
2609
+ def initialize: (
2610
+ ?presentation_group_values: ::Hash[Symbol, String],
2611
+ ?pricing_group_values: ::Hash[Symbol, String],
2612
+ ?product_id: String,
2613
+ ?product_tags: ::Array[String]
2614
+ ) -> void
2615
+
2616
+ def to_hash: -> {
2617
+ presentation_group_values: ::Hash[Symbol, String],
2618
+ pricing_group_values: ::Hash[Symbol, String],
2619
+ product_id: String,
2620
+ product_tags: ::Array[String]
2621
+ }
2622
+ end
2623
+ end
2624
+
2625
+ type payment_gate_config =
2626
+ {
2627
+ payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2628
+ precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2629
+ stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
2630
+ tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2631
+ }
2632
+
2633
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2634
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
2635
+
2636
+ attr_reader precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
2637
+
2638
+ def precalculated_tax_config=: (
2639
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2640
+ ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1786
2641
 
1787
2642
  attr_reader stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig?
1788
2643
 
@@ -1798,10 +2653,18 @@ module MetronomeSDK
1798
2653
 
1799
2654
  def initialize: (
1800
2655
  payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2656
+ ?precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1801
2657
  ?stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1802
2658
  ?tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
1803
2659
  ) -> void
1804
2660
 
2661
+ def to_hash: -> {
2662
+ payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2663
+ precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2664
+ stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
2665
+ tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
2666
+ }
2667
+
1805
2668
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
1806
2669
 
1807
2670
  module PaymentGateType
@@ -1814,18 +2677,46 @@ module MetronomeSDK
1814
2677
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
1815
2678
  end
1816
2679
 
2680
+ type precalculated_tax_config =
2681
+ { tax_amount: Float, tax_name: String }
2682
+
2683
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2684
+ attr_accessor tax_amount: Float
2685
+
2686
+ attr_reader tax_name: String?
2687
+
2688
+ def tax_name=: (String) -> String
2689
+
2690
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
2691
+
2692
+ def to_hash: -> { tax_amount: Float, tax_name: String }
2693
+ end
2694
+
1817
2695
  type stripe_config =
1818
2696
  {
1819
- payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2697
+ payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
2698
+ invoice_metadata: ::Hash[Symbol, String]
1820
2699
  }
1821
2700
 
1822
2701
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1823
2702
  attr_accessor payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1824
2703
 
2704
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
2705
+
2706
+ def invoice_metadata=: (
2707
+ ::Hash[Symbol, String]
2708
+ ) -> ::Hash[Symbol, String]
2709
+
1825
2710
  def initialize: (
1826
- payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2711
+ payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
2712
+ ?invoice_metadata: ::Hash[Symbol, String]
1827
2713
  ) -> void
1828
2714
 
2715
+ def to_hash: -> {
2716
+ payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
2717
+ invoice_metadata: ::Hash[Symbol, String]
2718
+ }
2719
+
1829
2720
  type payment_type = :INVOICE | :PAYMENT_INTENT
1830
2721
 
1831
2722
  module PaymentType
@@ -1838,13 +2729,15 @@ module MetronomeSDK
1838
2729
  end
1839
2730
  end
1840
2731
 
1841
- type tax_type = :NONE | :STRIPE
2732
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
1842
2733
 
1843
2734
  module TaxType
1844
2735
  extend MetronomeSDK::Internal::Type::Enum
1845
2736
 
1846
2737
  NONE: :NONE
1847
2738
  STRIPE: :STRIPE
2739
+ ANROK: :ANROK
2740
+ PRECALCULATED: :PRECALCULATED
1848
2741
 
1849
2742
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
1850
2743
  end
@@ -1870,7 +2763,8 @@ module MetronomeSDK
1870
2763
  netsuite_sales_order_id: String,
1871
2764
  proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::proration,
1872
2765
  recurrence_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::recurrence_frequency,
1873
- rollover_fraction: Float
2766
+ rollover_fraction: Float,
2767
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier]
1874
2768
  }
1875
2769
 
1876
2770
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
@@ -1940,6 +2834,12 @@ module MetronomeSDK
1940
2834
 
1941
2835
  def rollover_fraction=: (Float) -> Float
1942
2836
 
2837
+ attr_reader specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier]?
2838
+
2839
+ def specifiers=: (
2840
+ ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier]
2841
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier]
2842
+
1943
2843
  def initialize: (
1944
2844
  id: String,
1945
2845
  access_amount: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::AccessAmount,
@@ -1958,24 +2858,55 @@ module MetronomeSDK
1958
2858
  ?netsuite_sales_order_id: String,
1959
2859
  ?proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::proration,
1960
2860
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::recurrence_frequency,
1961
- ?rollover_fraction: Float
2861
+ ?rollover_fraction: Float,
2862
+ ?specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier]
1962
2863
  ) -> void
1963
2864
 
2865
+ def to_hash: -> {
2866
+ id: String,
2867
+ access_amount: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::AccessAmount,
2868
+ commit_duration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::CommitDuration,
2869
+ priority: Float,
2870
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Product,
2871
+ rate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::rate_type,
2872
+ starting_at: Time,
2873
+ applicable_product_ids: ::Array[String],
2874
+ applicable_product_tags: ::Array[String],
2875
+ contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Contract,
2876
+ description: String,
2877
+ ending_before: Time,
2878
+ invoice_amount: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::InvoiceAmount,
2879
+ name: String,
2880
+ netsuite_sales_order_id: String,
2881
+ proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::proration,
2882
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::recurrence_frequency,
2883
+ rollover_fraction: Float,
2884
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier]
2885
+ }
2886
+
1964
2887
  type access_amount =
1965
- { credit_type_id: String, quantity: Float, unit_price: Float }
2888
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1966
2889
 
1967
2890
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1968
2891
  attr_accessor credit_type_id: String
1969
2892
 
1970
- attr_accessor quantity: Float
1971
-
1972
2893
  attr_accessor unit_price: Float
1973
2894
 
2895
+ attr_reader quantity: Float?
2896
+
2897
+ def quantity=: (Float) -> Float
2898
+
1974
2899
  def initialize: (
1975
2900
  credit_type_id: String,
1976
- quantity: Float,
1977
- unit_price: Float
2901
+ unit_price: Float,
2902
+ ?quantity: Float
1978
2903
  ) -> void
2904
+
2905
+ def to_hash: -> {
2906
+ credit_type_id: String,
2907
+ unit_price: Float,
2908
+ quantity: Float
2909
+ }
1979
2910
  end
1980
2911
 
1981
2912
  type commit_duration =
@@ -1998,6 +2929,11 @@ module MetronomeSDK
1998
2929
  ?unit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::CommitDuration::unit
1999
2930
  ) -> void
2000
2931
 
2932
+ def to_hash: -> {
2933
+ value: Float,
2934
+ unit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::CommitDuration::unit
2935
+ }
2936
+
2001
2937
  type unit = :PERIODS
2002
2938
 
2003
2939
  module Unit
@@ -2017,6 +2953,8 @@ module MetronomeSDK
2017
2953
  attr_accessor name: String
2018
2954
 
2019
2955
  def initialize: (id: String, name: String) -> void
2956
+
2957
+ def to_hash: -> { id: String, name: String }
2020
2958
  end
2021
2959
 
2022
2960
  type rate_type = :COMMIT_RATE | :LIST_RATE
@@ -2036,6 +2974,8 @@ module MetronomeSDK
2036
2974
  attr_accessor id: String
2037
2975
 
2038
2976
  def initialize: (id: String) -> void
2977
+
2978
+ def to_hash: -> { id: String }
2039
2979
  end
2040
2980
 
2041
2981
  type invoice_amount =
@@ -2053,6 +2993,12 @@ module MetronomeSDK
2053
2993
  quantity: Float,
2054
2994
  unit_price: Float
2055
2995
  ) -> void
2996
+
2997
+ def to_hash: -> {
2998
+ credit_type_id: String,
2999
+ quantity: Float,
3000
+ unit_price: Float
3001
+ }
2056
3002
  end
2057
3003
 
2058
3004
  type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
@@ -2081,6 +3027,50 @@ module MetronomeSDK
2081
3027
 
2082
3028
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::recurrence_frequency]
2083
3029
  end
3030
+
3031
+ type specifier =
3032
+ {
3033
+ presentation_group_values: ::Hash[Symbol, String],
3034
+ pricing_group_values: ::Hash[Symbol, String],
3035
+ product_id: String,
3036
+ product_tags: ::Array[String]
3037
+ }
3038
+
3039
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3040
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
3041
+
3042
+ def presentation_group_values=: (
3043
+ ::Hash[Symbol, String]
3044
+ ) -> ::Hash[Symbol, String]
3045
+
3046
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
3047
+
3048
+ def pricing_group_values=: (
3049
+ ::Hash[Symbol, String]
3050
+ ) -> ::Hash[Symbol, String]
3051
+
3052
+ attr_reader product_id: String?
3053
+
3054
+ def product_id=: (String) -> String
3055
+
3056
+ attr_reader product_tags: ::Array[String]?
3057
+
3058
+ def product_tags=: (::Array[String]) -> ::Array[String]
3059
+
3060
+ def initialize: (
3061
+ ?presentation_group_values: ::Hash[Symbol, String],
3062
+ ?pricing_group_values: ::Hash[Symbol, String],
3063
+ ?product_id: String,
3064
+ ?product_tags: ::Array[String]
3065
+ ) -> void
3066
+
3067
+ def to_hash: -> {
3068
+ presentation_group_values: ::Hash[Symbol, String],
3069
+ pricing_group_values: ::Hash[Symbol, String],
3070
+ product_id: String,
3071
+ product_tags: ::Array[String]
3072
+ }
3073
+ end
2084
3074
  end
2085
3075
 
2086
3076
  type recurring_credit =
@@ -2101,7 +3091,8 @@ module MetronomeSDK
2101
3091
  netsuite_sales_order_id: String,
2102
3092
  proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::proration,
2103
3093
  recurrence_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::recurrence_frequency,
2104
- rollover_fraction: Float
3094
+ rollover_fraction: Float,
3095
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier]
2105
3096
  }
2106
3097
 
2107
3098
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2165,6 +3156,12 @@ module MetronomeSDK
2165
3156
 
2166
3157
  def rollover_fraction=: (Float) -> Float
2167
3158
 
3159
+ attr_reader specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier]?
3160
+
3161
+ def specifiers=: (
3162
+ ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier]
3163
+ ) -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier]
3164
+
2168
3165
  def initialize: (
2169
3166
  id: String,
2170
3167
  access_amount: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::AccessAmount,
@@ -2182,24 +3179,54 @@ module MetronomeSDK
2182
3179
  ?netsuite_sales_order_id: String,
2183
3180
  ?proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::proration,
2184
3181
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::recurrence_frequency,
2185
- ?rollover_fraction: Float
3182
+ ?rollover_fraction: Float,
3183
+ ?specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier]
2186
3184
  ) -> void
2187
3185
 
3186
+ def to_hash: -> {
3187
+ id: String,
3188
+ access_amount: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::AccessAmount,
3189
+ commit_duration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::CommitDuration,
3190
+ priority: Float,
3191
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Product,
3192
+ rate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::rate_type,
3193
+ starting_at: Time,
3194
+ applicable_product_ids: ::Array[String],
3195
+ applicable_product_tags: ::Array[String],
3196
+ contract: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Contract,
3197
+ description: String,
3198
+ ending_before: Time,
3199
+ name: String,
3200
+ netsuite_sales_order_id: String,
3201
+ proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::proration,
3202
+ recurrence_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::recurrence_frequency,
3203
+ rollover_fraction: Float,
3204
+ specifiers: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier]
3205
+ }
3206
+
2188
3207
  type access_amount =
2189
- { credit_type_id: String, quantity: Float, unit_price: Float }
3208
+ { credit_type_id: String, unit_price: Float, quantity: Float }
2190
3209
 
2191
3210
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
2192
3211
  attr_accessor credit_type_id: String
2193
3212
 
2194
- attr_accessor quantity: Float
2195
-
2196
3213
  attr_accessor unit_price: Float
2197
3214
 
3215
+ attr_reader quantity: Float?
3216
+
3217
+ def quantity=: (Float) -> Float
3218
+
2198
3219
  def initialize: (
2199
3220
  credit_type_id: String,
2200
- quantity: Float,
2201
- unit_price: Float
3221
+ unit_price: Float,
3222
+ ?quantity: Float
2202
3223
  ) -> void
3224
+
3225
+ def to_hash: -> {
3226
+ credit_type_id: String,
3227
+ unit_price: Float,
3228
+ quantity: Float
3229
+ }
2203
3230
  end
2204
3231
 
2205
3232
  type commit_duration =
@@ -2222,6 +3249,11 @@ module MetronomeSDK
2222
3249
  ?unit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::CommitDuration::unit
2223
3250
  ) -> void
2224
3251
 
3252
+ def to_hash: -> {
3253
+ value: Float,
3254
+ unit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::CommitDuration::unit
3255
+ }
3256
+
2225
3257
  type unit = :PERIODS
2226
3258
 
2227
3259
  module Unit
@@ -2241,6 +3273,8 @@ module MetronomeSDK
2241
3273
  attr_accessor name: String
2242
3274
 
2243
3275
  def initialize: (id: String, name: String) -> void
3276
+
3277
+ def to_hash: -> { id: String, name: String }
2244
3278
  end
2245
3279
 
2246
3280
  type rate_type = :COMMIT_RATE | :LIST_RATE
@@ -2260,6 +3294,8 @@ module MetronomeSDK
2260
3294
  attr_accessor id: String
2261
3295
 
2262
3296
  def initialize: (id: String) -> void
3297
+
3298
+ def to_hash: -> { id: String }
2263
3299
  end
2264
3300
 
2265
3301
  type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
@@ -2288,6 +3324,50 @@ module MetronomeSDK
2288
3324
 
2289
3325
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::recurrence_frequency]
2290
3326
  end
3327
+
3328
+ type specifier =
3329
+ {
3330
+ presentation_group_values: ::Hash[Symbol, String],
3331
+ pricing_group_values: ::Hash[Symbol, String],
3332
+ product_id: String,
3333
+ product_tags: ::Array[String]
3334
+ }
3335
+
3336
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3337
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
3338
+
3339
+ def presentation_group_values=: (
3340
+ ::Hash[Symbol, String]
3341
+ ) -> ::Hash[Symbol, String]
3342
+
3343
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
3344
+
3345
+ def pricing_group_values=: (
3346
+ ::Hash[Symbol, String]
3347
+ ) -> ::Hash[Symbol, String]
3348
+
3349
+ attr_reader product_id: String?
3350
+
3351
+ def product_id=: (String) -> String
3352
+
3353
+ attr_reader product_tags: ::Array[String]?
3354
+
3355
+ def product_tags=: (::Array[String]) -> ::Array[String]
3356
+
3357
+ def initialize: (
3358
+ ?presentation_group_values: ::Hash[Symbol, String],
3359
+ ?pricing_group_values: ::Hash[Symbol, String],
3360
+ ?product_id: String,
3361
+ ?product_tags: ::Array[String]
3362
+ ) -> void
3363
+
3364
+ def to_hash: -> {
3365
+ presentation_group_values: ::Hash[Symbol, String],
3366
+ pricing_group_values: ::Hash[Symbol, String],
3367
+ product_id: String,
3368
+ product_tags: ::Array[String]
3369
+ }
3370
+ end
2291
3371
  end
2292
3372
 
2293
3373
  type reseller_royalty =
@@ -2306,6 +3386,11 @@ module MetronomeSDK
2306
3386
  segments: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ResellerRoyalty::Segment]
2307
3387
  ) -> void
2308
3388
 
3389
+ def to_hash: -> {
3390
+ reseller_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ResellerRoyalty::reseller_type,
3391
+ segments: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ResellerRoyalty::Segment]
3392
+ }
3393
+
2309
3394
  type reseller_type =
2310
3395
  :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
2311
3396
 
@@ -2398,6 +3483,22 @@ module MetronomeSDK
2398
3483
  ?reseller_contract_value: Float
2399
3484
  ) -> void
2400
3485
 
3486
+ def to_hash: -> {
3487
+ fraction: Float,
3488
+ netsuite_reseller_id: String,
3489
+ reseller_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ResellerRoyalty::Segment::reseller_type,
3490
+ starting_at: Time,
3491
+ applicable_product_ids: ::Array[String],
3492
+ applicable_product_tags: ::Array[String],
3493
+ aws_account_number: String,
3494
+ aws_offer_id: String,
3495
+ aws_payer_reference_id: String,
3496
+ ending_before: Time,
3497
+ gcp_account_id: String,
3498
+ gcp_offer_id: String,
3499
+ reseller_contract_value: Float
3500
+ }
3501
+
2401
3502
  type reseller_type =
2402
3503
  :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
2403
3504
 
@@ -2448,6 +3549,13 @@ module MetronomeSDK
2448
3549
  threshold_amount: Float
2449
3550
  ) -> void
2450
3551
 
3552
+ def to_hash: -> {
3553
+ commit: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::Commit,
3554
+ is_enabled: bool,
3555
+ payment_gate_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig,
3556
+ threshold_amount: Float
3557
+ }
3558
+
2451
3559
  type commit =
2452
3560
  { product_id: String, description: String, name: String }
2453
3561
 
@@ -2467,11 +3575,18 @@ module MetronomeSDK
2467
3575
  ?description: String,
2468
3576
  ?name: String
2469
3577
  ) -> void
3578
+
3579
+ def to_hash: -> {
3580
+ product_id: String,
3581
+ description: String,
3582
+ name: String
3583
+ }
2470
3584
  end
2471
3585
 
2472
3586
  type payment_gate_config =
2473
3587
  {
2474
3588
  payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3589
+ precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2475
3590
  stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2476
3591
  tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2477
3592
  }
@@ -2479,6 +3594,12 @@ module MetronomeSDK
2479
3594
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2480
3595
  attr_accessor payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
2481
3596
 
3597
+ attr_reader precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
3598
+
3599
+ def precalculated_tax_config=: (
3600
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3601
+ ) -> MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3602
+
2482
3603
  attr_reader stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
2483
3604
 
2484
3605
  def stripe_config=: (
@@ -2493,10 +3614,18 @@ module MetronomeSDK
2493
3614
 
2494
3615
  def initialize: (
2495
3616
  payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3617
+ ?precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2496
3618
  ?stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2497
3619
  ?tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2498
3620
  ) -> void
2499
3621
 
3622
+ def to_hash: -> {
3623
+ payment_gate_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
3624
+ precalculated_tax_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
3625
+ stripe_config: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
3626
+ tax_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::tax_type
3627
+ }
3628
+
2500
3629
  type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
2501
3630
 
2502
3631
  module PaymentGateType
@@ -2509,18 +3638,46 @@ module MetronomeSDK
2509
3638
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
2510
3639
  end
2511
3640
 
3641
+ type precalculated_tax_config =
3642
+ { tax_amount: Float, tax_name: String }
3643
+
3644
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3645
+ attr_accessor tax_amount: Float
3646
+
3647
+ attr_reader tax_name: String?
3648
+
3649
+ def tax_name=: (String) -> String
3650
+
3651
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
3652
+
3653
+ def to_hash: -> { tax_amount: Float, tax_name: String }
3654
+ end
3655
+
2512
3656
  type stripe_config =
2513
3657
  {
2514
- payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3658
+ payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3659
+ invoice_metadata: ::Hash[Symbol, String]
2515
3660
  }
2516
3661
 
2517
3662
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2518
3663
  attr_accessor payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2519
3664
 
3665
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
3666
+
3667
+ def invoice_metadata=: (
3668
+ ::Hash[Symbol, String]
3669
+ ) -> ::Hash[Symbol, String]
3670
+
2520
3671
  def initialize: (
2521
- payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
3672
+ payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3673
+ ?invoice_metadata: ::Hash[Symbol, String]
2522
3674
  ) -> void
2523
3675
 
3676
+ def to_hash: -> {
3677
+ payment_type: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
3678
+ invoice_metadata: ::Hash[Symbol, String]
3679
+ }
3680
+
2524
3681
  type payment_type = :INVOICE | :PAYMENT_INTENT
2525
3682
 
2526
3683
  module PaymentType
@@ -2533,18 +3690,218 @@ module MetronomeSDK
2533
3690
  end
2534
3691
  end
2535
3692
 
2536
- type tax_type = :NONE | :STRIPE
3693
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
2537
3694
 
2538
3695
  module TaxType
2539
3696
  extend MetronomeSDK::Internal::Type::Enum
2540
3697
 
2541
3698
  NONE: :NONE
2542
3699
  STRIPE: :STRIPE
3700
+ ANROK: :ANROK
3701
+ PRECALCULATED: :PRECALCULATED
2543
3702
 
2544
3703
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::tax_type]
2545
3704
  end
2546
3705
  end
2547
3706
  end
3707
+
3708
+ type subscription =
3709
+ {
3710
+ collection_schedule: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::collection_schedule,
3711
+ proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration,
3712
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule],
3713
+ starting_at: Time,
3714
+ subscription_rate: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate,
3715
+ id: String,
3716
+ custom_fields: ::Hash[Symbol, String],
3717
+ description: String,
3718
+ ending_before: Time,
3719
+ fiat_credit_type_id: String,
3720
+ name: String
3721
+ }
3722
+
3723
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
3724
+ attr_accessor collection_schedule: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::collection_schedule
3725
+
3726
+ attr_accessor proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration
3727
+
3728
+ attr_accessor quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule]
3729
+
3730
+ attr_accessor starting_at: Time
3731
+
3732
+ attr_accessor subscription_rate: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate
3733
+
3734
+ attr_reader id: String?
3735
+
3736
+ def id=: (String) -> String
3737
+
3738
+ attr_reader custom_fields: ::Hash[Symbol, String]?
3739
+
3740
+ def custom_fields=: (
3741
+ ::Hash[Symbol, String]
3742
+ ) -> ::Hash[Symbol, String]
3743
+
3744
+ attr_reader description: String?
3745
+
3746
+ def description=: (String) -> String
3747
+
3748
+ attr_reader ending_before: Time?
3749
+
3750
+ def ending_before=: (Time) -> Time
3751
+
3752
+ attr_reader fiat_credit_type_id: String?
3753
+
3754
+ def fiat_credit_type_id=: (String) -> String
3755
+
3756
+ attr_reader name: String?
3757
+
3758
+ def name=: (String) -> String
3759
+
3760
+ def initialize: (
3761
+ collection_schedule: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::collection_schedule,
3762
+ proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration,
3763
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule],
3764
+ starting_at: Time,
3765
+ subscription_rate: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate,
3766
+ ?id: String,
3767
+ ?custom_fields: ::Hash[Symbol, String],
3768
+ ?description: String,
3769
+ ?ending_before: Time,
3770
+ ?fiat_credit_type_id: String,
3771
+ ?name: String
3772
+ ) -> void
3773
+
3774
+ def to_hash: -> {
3775
+ collection_schedule: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::collection_schedule,
3776
+ proration: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration,
3777
+ quantity_schedule: ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule],
3778
+ starting_at: Time,
3779
+ subscription_rate: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate,
3780
+ id: String,
3781
+ custom_fields: ::Hash[Symbol, String],
3782
+ description: String,
3783
+ ending_before: Time,
3784
+ fiat_credit_type_id: String,
3785
+ name: String
3786
+ }
3787
+
3788
+ type collection_schedule = :ADVANCE | :ARREARS
3789
+
3790
+ module CollectionSchedule
3791
+ extend MetronomeSDK::Internal::Type::Enum
3792
+
3793
+ ADVANCE: :ADVANCE
3794
+ ARREARS: :ARREARS
3795
+
3796
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::collection_schedule]
3797
+ end
3798
+
3799
+ type proration =
3800
+ {
3801
+ invoice_behavior: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::invoice_behavior,
3802
+ is_prorated: bool
3803
+ }
3804
+
3805
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3806
+ attr_accessor invoice_behavior: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::invoice_behavior
3807
+
3808
+ attr_accessor is_prorated: bool
3809
+
3810
+ def initialize: (
3811
+ invoice_behavior: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::invoice_behavior,
3812
+ is_prorated: bool
3813
+ ) -> void
3814
+
3815
+ def to_hash: -> {
3816
+ invoice_behavior: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::invoice_behavior,
3817
+ is_prorated: bool
3818
+ }
3819
+
3820
+ type invoice_behavior =
3821
+ :BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
3822
+
3823
+ module InvoiceBehavior
3824
+ extend MetronomeSDK::Internal::Type::Enum
3825
+
3826
+ BILL_IMMEDIATELY: :BILL_IMMEDIATELY
3827
+ BILL_ON_NEXT_COLLECTION_DATE: :BILL_ON_NEXT_COLLECTION_DATE
3828
+
3829
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::invoice_behavior]
3830
+ end
3831
+ end
3832
+
3833
+ type quantity_schedule =
3834
+ { quantity: Float, starting_at: Time, ending_before: Time }
3835
+
3836
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
3837
+ attr_accessor quantity: Float
3838
+
3839
+ attr_accessor starting_at: Time
3840
+
3841
+ attr_reader ending_before: Time?
3842
+
3843
+ def ending_before=: (Time) -> Time
3844
+
3845
+ def initialize: (
3846
+ quantity: Float,
3847
+ starting_at: Time,
3848
+ ?ending_before: Time
3849
+ ) -> void
3850
+
3851
+ def to_hash: -> {
3852
+ quantity: Float,
3853
+ starting_at: Time,
3854
+ ending_before: Time
3855
+ }
3856
+ end
3857
+
3858
+ type subscription_rate =
3859
+ {
3860
+ billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::billing_frequency,
3861
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product
3862
+ }
3863
+
3864
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3865
+ attr_accessor billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::billing_frequency
3866
+
3867
+ attr_accessor product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product
3868
+
3869
+ def initialize: (
3870
+ billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::billing_frequency,
3871
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product
3872
+ ) -> void
3873
+
3874
+ def to_hash: -> {
3875
+ billing_frequency: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::billing_frequency,
3876
+ product: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product
3877
+ }
3878
+
3879
+ type billing_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
3880
+
3881
+ module BillingFrequency
3882
+ extend MetronomeSDK::Internal::Type::Enum
3883
+
3884
+ MONTHLY: :MONTHLY
3885
+ QUARTERLY: :QUARTERLY
3886
+ ANNUAL: :ANNUAL
3887
+ WEEKLY: :WEEKLY
3888
+
3889
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::billing_frequency]
3890
+ end
3891
+
3892
+ type product = { id: String, name: String }
3893
+
3894
+ class Product < MetronomeSDK::Internal::Type::BaseModel
3895
+ attr_accessor id: String
3896
+
3897
+ attr_accessor name: String
3898
+
3899
+ def initialize: (id: String, name: String) -> void
3900
+
3901
+ def to_hash: -> { id: String, name: String }
3902
+ end
3903
+ end
3904
+ end
2548
3905
  end
2549
3906
  end
2550
3907
  end