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
@@ -49,7 +49,7 @@ module MetronomeSDK
49
49
 
50
50
  # @!attribute scheduled_charges
51
51
  #
52
- # @return [Array<MetronomeSDK::ScheduledCharge>]
52
+ # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
53
53
  required :scheduled_charges,
54
54
  -> {
55
55
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge]
@@ -104,7 +104,7 @@ module MetronomeSDK
104
104
  # @!attribute discounts
105
105
  # This field's availability is dependent on your client's configuration.
106
106
  #
107
- # @return [Array<MetronomeSDK::Discount>, nil]
107
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
108
108
  optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
109
109
 
110
110
  # @!attribute ending_before
@@ -112,6 +112,14 @@ module MetronomeSDK
112
112
  # @return [Time, nil]
113
113
  optional :ending_before, Time
114
114
 
115
+ # @!attribute hierarchy_configuration
116
+ # Either a **parent** configuration with a list of children or a **child**
117
+ # configuration with a single parent.
118
+ #
119
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
120
+ optional :hierarchy_configuration,
121
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration }
122
+
115
123
  # @!attribute multiplier_override_prioritization
116
124
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
117
125
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
@@ -144,10 +152,16 @@ module MetronomeSDK
144
152
  optional :prepaid_balance_threshold_configuration,
145
153
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration }
146
154
 
155
+ # @!attribute priority
156
+ # Priority of the contract.
157
+ #
158
+ # @return [Float, nil]
159
+ optional :priority, Float
160
+
147
161
  # @!attribute professional_services
148
162
  # This field's availability is dependent on your client's configuration.
149
163
  #
150
- # @return [Array<MetronomeSDK::ProService>, nil]
164
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
151
165
  optional :professional_services,
152
166
  -> {
153
167
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
@@ -200,6 +214,13 @@ module MetronomeSDK
200
214
  optional :spend_threshold_configuration,
201
215
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration }
202
216
 
217
+ # @!attribute subscriptions
218
+ # List of subscriptions on the contract.
219
+ #
220
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>, nil]
221
+ optional :subscriptions,
222
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription] }
223
+
203
224
  # @!attribute total_contract_value
204
225
  #
205
226
  # @return [Float, nil]
@@ -213,7 +234,7 @@ module MetronomeSDK
213
234
  # @return [String, nil]
214
235
  optional :uniqueness_key, String
215
236
 
216
- # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, total_contract_value: nil, uniqueness_key: nil)
237
+ # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
217
238
  # Some parameter documentations has been truncated, see
218
239
  # {MetronomeSDK::Models::V2::ContractListResponse::Data} for more details.
219
240
  #
@@ -229,7 +250,7 @@ module MetronomeSDK
229
250
  #
230
251
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
231
252
  #
232
- # @param scheduled_charges [Array<MetronomeSDK::ScheduledCharge>]
253
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
233
254
  #
234
255
  # @param starting_at [Time]
235
256
  #
@@ -247,10 +268,12 @@ module MetronomeSDK
247
268
  #
248
269
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
249
270
  #
250
- # @param discounts [Array<MetronomeSDK::Discount>] This field's availability is dependent on your client's configuration.
271
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
251
272
  #
252
273
  # @param ending_before [Time]
253
274
  #
275
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
276
+ #
254
277
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
255
278
  #
256
279
  # @param name [String]
@@ -261,7 +284,9 @@ module MetronomeSDK
261
284
  #
262
285
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration]
263
286
  #
264
- # @param professional_services [Array<MetronomeSDK::ProService>] This field's availability is dependent on your client's configuration.
287
+ # @param priority [Float] Priority of the contract.
288
+ #
289
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
265
290
  #
266
291
  # @param rate_card_id [String]
267
292
  #
@@ -277,6 +302,8 @@ module MetronomeSDK
277
302
  #
278
303
  # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration]
279
304
  #
305
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] List of subscriptions on the contract.
306
+ #
280
307
  # @param total_contract_value [Float]
281
308
  #
282
309
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -301,7 +328,7 @@ module MetronomeSDK
301
328
  # The schedule that the customer will gain access to the credits purposed with
302
329
  # this commit.
303
330
  #
304
- # @return [MetronomeSDK::ScheduleDuration, nil]
331
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
305
332
  optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
306
333
 
307
334
  # @!attribute applicable_contract_ids
@@ -352,6 +379,13 @@ module MetronomeSDK
352
379
  # @return [String, nil]
353
380
  optional :description, String
354
381
 
382
+ # @!attribute hierarchy_configuration
383
+ # Optional configuration for commit hierarchy access control
384
+ #
385
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration, nil]
386
+ optional :hierarchy_configuration,
387
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration }
388
+
355
389
  # @!attribute invoice_contract
356
390
  # The contract that this commit will be billed on.
357
391
  #
@@ -362,7 +396,7 @@ module MetronomeSDK
362
396
  # @!attribute invoice_schedule
363
397
  # The schedule that the customer will be invoiced for this commit.
364
398
  #
365
- # @return [MetronomeSDK::SchedulePointInTime, nil]
399
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
366
400
  optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
367
401
 
368
402
  # @!attribute ledger
@@ -413,7 +447,16 @@ module MetronomeSDK
413
447
  # @return [String, nil]
414
448
  optional :salesforce_opportunity_id, String
415
449
 
416
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil)
450
+ # @!attribute specifiers
451
+ # List of filters that determine what kind of customer usage draws down a commit
452
+ # or credit. A customer's usage needs to meet the condition of at least one of the
453
+ # specifiers to contribute to a commit's or credit's drawdown.
454
+ #
455
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier>, nil]
456
+ optional :specifiers,
457
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier] }
458
+
459
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
417
460
  # Some parameter documentations has been truncated, see
418
461
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit} for more details.
419
462
  #
@@ -423,7 +466,7 @@ module MetronomeSDK
423
466
  #
424
467
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
425
468
  #
426
- # @param access_schedule [MetronomeSDK::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
469
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
427
470
  #
428
471
  # @param applicable_contract_ids [Array<String>]
429
472
  #
@@ -441,9 +484,11 @@ module MetronomeSDK
441
484
  #
442
485
  # @param description [String]
443
486
  #
487
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
488
+ #
444
489
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
445
490
  #
446
- # @param invoice_schedule [MetronomeSDK::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
491
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
447
492
  #
448
493
  # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
449
494
  #
@@ -460,6 +505,8 @@ module MetronomeSDK
460
505
  # @param rollover_fraction [Float]
461
506
  #
462
507
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
508
+ #
509
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
463
510
 
464
511
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#product
465
512
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -500,6 +547,103 @@ module MetronomeSDK
500
547
  # @param id [String]
501
548
  end
502
549
 
550
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#hierarchy_configuration
551
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
552
+ # @!attribute child_access
553
+ #
554
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
555
+ required :child_access,
556
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess }
557
+
558
+ # @!method initialize(child_access:)
559
+ # Optional configuration for commit hierarchy access control
560
+ #
561
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
562
+
563
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration#child_access
564
+ module ChildAccess
565
+ extend MetronomeSDK::Internal::Type::Union
566
+
567
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
568
+
569
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
570
+
571
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
572
+
573
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
574
+ # @!attribute type
575
+ #
576
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
577
+ required :type,
578
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
579
+
580
+ # @!method initialize(type:)
581
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
582
+
583
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
584
+ module Type
585
+ extend MetronomeSDK::Internal::Type::Enum
586
+
587
+ ALL = :ALL
588
+
589
+ # @!method self.values
590
+ # @return [Array<Symbol>]
591
+ end
592
+ end
593
+
594
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
595
+ # @!attribute type
596
+ #
597
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
598
+ required :type,
599
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
600
+
601
+ # @!method initialize(type:)
602
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
603
+
604
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
605
+ module Type
606
+ extend MetronomeSDK::Internal::Type::Enum
607
+
608
+ NONE = :NONE
609
+
610
+ # @!method self.values
611
+ # @return [Array<Symbol>]
612
+ end
613
+ end
614
+
615
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
616
+ # @!attribute contract_ids
617
+ #
618
+ # @return [Array<String>]
619
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
620
+
621
+ # @!attribute type
622
+ #
623
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
624
+ required :type,
625
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
626
+
627
+ # @!method initialize(contract_ids:, type:)
628
+ # @param contract_ids [Array<String>]
629
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
630
+
631
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
632
+ module Type
633
+ extend MetronomeSDK::Internal::Type::Enum
634
+
635
+ CONTRACT_IDS = :CONTRACT_IDS
636
+
637
+ # @!method self.values
638
+ # @return [Array<Symbol>]
639
+ end
640
+ end
641
+
642
+ # @!method self.variants
643
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
644
+ end
645
+ end
646
+
503
647
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
504
648
  class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
505
649
  # @!attribute id
@@ -1075,26 +1219,6 @@ module MetronomeSDK
1075
1219
 
1076
1220
  # @!method self.variants
1077
1221
  # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1078
-
1079
- define_sorbet_constant!(:Variants) do
1080
- T.type_alias do
1081
- T.any(
1082
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry,
1083
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry,
1084
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry,
1085
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
1086
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
1087
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
1088
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
1089
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
1090
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
1091
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry,
1092
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry,
1093
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry,
1094
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry
1095
- )
1096
- end
1097
- end
1098
1222
  end
1099
1223
 
1100
1224
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
@@ -1124,6 +1248,44 @@ module MetronomeSDK
1124
1248
  # @param commit_id [String]
1125
1249
  # @param contract_id [String]
1126
1250
  end
1251
+
1252
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1253
+ # @!attribute presentation_group_values
1254
+ #
1255
+ # @return [Hash{Symbol=>String}, nil]
1256
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1257
+
1258
+ # @!attribute pricing_group_values
1259
+ #
1260
+ # @return [Hash{Symbol=>String}, nil]
1261
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1262
+
1263
+ # @!attribute product_id
1264
+ # If provided, the specifier will only apply to the product with the specified ID.
1265
+ #
1266
+ # @return [String, nil]
1267
+ optional :product_id, String
1268
+
1269
+ # @!attribute product_tags
1270
+ # If provided, the specifier will only apply to products with all the specified
1271
+ # tags.
1272
+ #
1273
+ # @return [Array<String>, nil]
1274
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1275
+
1276
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1277
+ # Some parameter documentations has been truncated, see
1278
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier} for
1279
+ # more details.
1280
+ #
1281
+ # @param presentation_group_values [Hash{Symbol=>String}]
1282
+ #
1283
+ # @param pricing_group_values [Hash{Symbol=>String}]
1284
+ #
1285
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1286
+ #
1287
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1288
+ end
1127
1289
  end
1128
1290
 
1129
1291
  class Override < MetronomeSDK::Internal::Type::BaseModel
@@ -1217,6 +1379,12 @@ module MetronomeSDK
1217
1379
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type]
1218
1380
 
1219
1381
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1382
+ # @!attribute billing_frequency
1383
+ #
1384
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency, nil]
1385
+ optional :billing_frequency,
1386
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency }
1387
+
1220
1388
  # @!attribute commit_ids
1221
1389
  #
1222
1390
  # @return [Array<String>, nil]
@@ -1252,7 +1420,8 @@ module MetronomeSDK
1252
1420
  # @return [Array<String>, nil]
1253
1421
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1254
1422
 
1255
- # @!method initialize(commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1423
+ # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1424
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency]
1256
1425
  # @param commit_ids [Array<String>]
1257
1426
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
1258
1427
  # @param pricing_group_values [Hash{Symbol=>String}]
@@ -1260,6 +1429,19 @@ module MetronomeSDK
1260
1429
  # @param product_tags [Array<String>]
1261
1430
  # @param recurring_commit_ids [Array<String>]
1262
1431
  # @param recurring_credit_ids [Array<String>]
1432
+
1433
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier#billing_frequency
1434
+ module BillingFrequency
1435
+ extend MetronomeSDK::Internal::Type::Enum
1436
+
1437
+ MONTHLY = :MONTHLY
1438
+ QUARTERLY = :QUARTERLY
1439
+ ANNUAL = :ANNUAL
1440
+ WEEKLY = :WEEKLY
1441
+
1442
+ # @!method self.values
1443
+ # @return [Array<Symbol>]
1444
+ end
1263
1445
  end
1264
1446
 
1265
1447
  class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
@@ -1288,7 +1470,7 @@ module MetronomeSDK
1288
1470
 
1289
1471
  # @!attribute credit_type
1290
1472
  #
1291
- # @return [MetronomeSDK::CreditTypeData, nil]
1473
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
1292
1474
  optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1293
1475
 
1294
1476
  # @!attribute custom_rate
@@ -1322,7 +1504,7 @@ module MetronomeSDK
1322
1504
  # @!attribute tiers
1323
1505
  # Only set for TIERED rate_type.
1324
1506
  #
1325
- # @return [Array<MetronomeSDK::Tier>, nil]
1507
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1326
1508
  optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1327
1509
 
1328
1510
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
@@ -1332,7 +1514,7 @@ module MetronomeSDK
1332
1514
  #
1333
1515
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1334
1516
  #
1335
- # @param credit_type [MetronomeSDK::CreditTypeData]
1517
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1336
1518
  #
1337
1519
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1338
1520
  #
@@ -1342,7 +1524,7 @@ module MetronomeSDK
1342
1524
  #
1343
1525
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1344
1526
  #
1345
- # @param tiers [Array<MetronomeSDK::Tier>] Only set for TIERED rate_type.
1527
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1346
1528
 
1347
1529
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#rate_type
1348
1530
  module RateType
@@ -1524,7 +1706,7 @@ module MetronomeSDK
1524
1706
  # @!attribute access_schedule
1525
1707
  # The schedule that the customer will gain access to the credits.
1526
1708
  #
1527
- # @return [MetronomeSDK::ScheduleDuration, nil]
1709
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1528
1710
  optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
1529
1711
 
1530
1712
  # @!attribute applicable_contract_ids
@@ -1570,6 +1752,13 @@ module MetronomeSDK
1570
1752
  # @return [String, nil]
1571
1753
  optional :description, String
1572
1754
 
1755
+ # @!attribute hierarchy_configuration
1756
+ # Optional configuration for credit hierarchy access control
1757
+ #
1758
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration, nil]
1759
+ optional :hierarchy_configuration,
1760
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration }
1761
+
1573
1762
  # @!attribute ledger
1574
1763
  # A list of ordered events that impact the balance of a credit. For example, an
1575
1764
  # invoice deduction or an expiration.
@@ -1602,7 +1791,16 @@ module MetronomeSDK
1602
1791
  # @return [String, nil]
1603
1792
  optional :salesforce_opportunity_id, String
1604
1793
 
1605
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil)
1794
+ # @!attribute specifiers
1795
+ # List of filters that determine what kind of customer usage draws down a commit
1796
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1797
+ # specifiers to contribute to a commit's or credit's drawdown.
1798
+ #
1799
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier>, nil]
1800
+ optional :specifiers,
1801
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier] }
1802
+
1803
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
1606
1804
  # Some parameter documentations has been truncated, see
1607
1805
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit} for more details.
1608
1806
  #
@@ -1612,7 +1810,7 @@ module MetronomeSDK
1612
1810
  #
1613
1811
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
1614
1812
  #
1615
- # @param access_schedule [MetronomeSDK::ScheduleDuration] The schedule that the customer will gain access to the credits.
1813
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
1616
1814
  #
1617
1815
  # @param applicable_contract_ids [Array<String>]
1618
1816
  #
@@ -1628,6 +1826,8 @@ module MetronomeSDK
1628
1826
  #
1629
1827
  # @param description [String]
1630
1828
  #
1829
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1830
+ #
1631
1831
  # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1632
1832
  #
1633
1833
  # @param name [String]
@@ -1637,6 +1837,8 @@ module MetronomeSDK
1637
1837
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
1638
1838
  #
1639
1839
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
1840
+ #
1841
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1640
1842
 
1641
1843
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#product
1642
1844
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -1676,6 +1878,103 @@ module MetronomeSDK
1676
1878
  # @param id [String]
1677
1879
  end
1678
1880
 
1881
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#hierarchy_configuration
1882
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1883
+ # @!attribute child_access
1884
+ #
1885
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1886
+ required :child_access,
1887
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess }
1888
+
1889
+ # @!method initialize(child_access:)
1890
+ # Optional configuration for credit hierarchy access control
1891
+ #
1892
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1893
+
1894
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration#child_access
1895
+ module ChildAccess
1896
+ extend MetronomeSDK::Internal::Type::Union
1897
+
1898
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
1899
+
1900
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
1901
+
1902
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
1903
+
1904
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1905
+ # @!attribute type
1906
+ #
1907
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1908
+ required :type,
1909
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
1910
+
1911
+ # @!method initialize(type:)
1912
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1913
+
1914
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1915
+ module Type
1916
+ extend MetronomeSDK::Internal::Type::Enum
1917
+
1918
+ ALL = :ALL
1919
+
1920
+ # @!method self.values
1921
+ # @return [Array<Symbol>]
1922
+ end
1923
+ end
1924
+
1925
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1926
+ # @!attribute type
1927
+ #
1928
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1929
+ required :type,
1930
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
1931
+
1932
+ # @!method initialize(type:)
1933
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1934
+
1935
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1936
+ module Type
1937
+ extend MetronomeSDK::Internal::Type::Enum
1938
+
1939
+ NONE = :NONE
1940
+
1941
+ # @!method self.values
1942
+ # @return [Array<Symbol>]
1943
+ end
1944
+ end
1945
+
1946
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1947
+ # @!attribute contract_ids
1948
+ #
1949
+ # @return [Array<String>]
1950
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1951
+
1952
+ # @!attribute type
1953
+ #
1954
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1955
+ required :type,
1956
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
1957
+
1958
+ # @!method initialize(contract_ids:, type:)
1959
+ # @param contract_ids [Array<String>]
1960
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1961
+
1962
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1963
+ module Type
1964
+ extend MetronomeSDK::Internal::Type::Enum
1965
+
1966
+ CONTRACT_IDS = :CONTRACT_IDS
1967
+
1968
+ # @!method self.values
1969
+ # @return [Array<Symbol>]
1970
+ end
1971
+ end
1972
+
1973
+ # @!method self.variants
1974
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1975
+ end
1976
+ end
1977
+
1679
1978
  module Ledger
1680
1979
  extend MetronomeSDK::Internal::Type::Union
1681
1980
 
@@ -1945,19 +2244,44 @@ module MetronomeSDK
1945
2244
 
1946
2245
  # @!method self.variants
1947
2246
  # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry)]
2247
+ end
1948
2248
 
1949
- define_sorbet_constant!(:Variants) do
1950
- T.type_alias do
1951
- T.any(
1952
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry,
1953
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry,
1954
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry,
1955
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry,
1956
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry,
1957
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry
1958
- )
1959
- end
1960
- end
2249
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2250
+ # @!attribute presentation_group_values
2251
+ #
2252
+ # @return [Hash{Symbol=>String}, nil]
2253
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2254
+
2255
+ # @!attribute pricing_group_values
2256
+ #
2257
+ # @return [Hash{Symbol=>String}, nil]
2258
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2259
+
2260
+ # @!attribute product_id
2261
+ # If provided, the specifier will only apply to the product with the specified ID.
2262
+ #
2263
+ # @return [String, nil]
2264
+ optional :product_id, String
2265
+
2266
+ # @!attribute product_tags
2267
+ # If provided, the specifier will only apply to products with all the specified
2268
+ # tags.
2269
+ #
2270
+ # @return [Array<String>, nil]
2271
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2272
+
2273
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2274
+ # Some parameter documentations has been truncated, see
2275
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier} for
2276
+ # more details.
2277
+ #
2278
+ # @param presentation_group_values [Hash{Symbol=>String}]
2279
+ #
2280
+ # @param pricing_group_values [Hash{Symbol=>String}]
2281
+ #
2282
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2283
+ #
2284
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1961
2285
  end
1962
2286
  end
1963
2287
 
@@ -2012,6 +2336,84 @@ module MetronomeSDK
2012
2336
  end
2013
2337
  end
2014
2338
 
2339
+ # Either a **parent** configuration with a list of children or a **child**
2340
+ # configuration with a single parent.
2341
+ #
2342
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#hierarchy_configuration
2343
+ module HierarchyConfiguration
2344
+ extend MetronomeSDK::Internal::Type::Union
2345
+
2346
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration }
2347
+
2348
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration }
2349
+
2350
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2351
+ # @!attribute children
2352
+ # List of contracts that belong to this parent.
2353
+ #
2354
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
2355
+ required :children,
2356
+ -> do
2357
+ MetronomeSDK::Internal::Type::ArrayOf[
2358
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
2359
+ ]
2360
+ end
2361
+
2362
+ # @!method initialize(children:)
2363
+ # @param children [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
2364
+
2365
+ class Child < MetronomeSDK::Internal::Type::BaseModel
2366
+ # @!attribute contract_id
2367
+ #
2368
+ # @return [String]
2369
+ required :contract_id, String
2370
+
2371
+ # @!attribute customer_id
2372
+ #
2373
+ # @return [String]
2374
+ required :customer_id, String
2375
+
2376
+ # @!method initialize(contract_id:, customer_id:)
2377
+ # @param contract_id [String]
2378
+ # @param customer_id [String]
2379
+ end
2380
+ end
2381
+
2382
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2383
+ # @!attribute parent
2384
+ # The single parent contract/customer for this child.
2385
+ #
2386
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
2387
+ required :parent,
2388
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
2389
+
2390
+ # @!method initialize(parent:)
2391
+ # @param parent [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
2392
+
2393
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration#parent
2394
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
2395
+ # @!attribute contract_id
2396
+ #
2397
+ # @return [String]
2398
+ required :contract_id, String
2399
+
2400
+ # @!attribute customer_id
2401
+ #
2402
+ # @return [String]
2403
+ required :customer_id, String
2404
+
2405
+ # @!method initialize(contract_id:, customer_id:)
2406
+ # The single parent contract/customer for this child.
2407
+ #
2408
+ # @param contract_id [String]
2409
+ # @param customer_id [String]
2410
+ end
2411
+ end
2412
+
2413
+ # @!method self.variants
2414
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration)]
2415
+ end
2416
+
2015
2417
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2016
2418
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
2017
2419
  # each multiplier; the one with the lowest priority value will be prioritized
@@ -2063,7 +2465,14 @@ module MetronomeSDK
2063
2465
  # @return [Float]
2064
2466
  required :threshold_amount, Float
2065
2467
 
2066
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2468
+ # @!attribute custom_credit_type_id
2469
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2470
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2471
+ #
2472
+ # @return [String, nil]
2473
+ optional :custom_credit_type_id, String
2474
+
2475
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
2067
2476
  # Some parameter documentations has been truncated, see
2068
2477
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration}
2069
2478
  # for more details.
@@ -2077,6 +2486,8 @@ module MetronomeSDK
2077
2486
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2078
2487
  #
2079
2488
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2489
+ #
2490
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
2080
2491
 
2081
2492
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2082
2493
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2088,16 +2499,17 @@ module MetronomeSDK
2088
2499
  required :product_id, String
2089
2500
 
2090
2501
  # @!attribute applicable_product_ids
2091
- # Which products the threshold commit applies to. If both applicable_product_ids
2092
- # and applicable_product_tags are not provided, the commit applies to all
2093
- # products.
2502
+ # Which products the threshold commit applies to. If applicable_product_ids,
2503
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2504
+ # all products.
2094
2505
  #
2095
2506
  # @return [Array<String>, nil]
2096
2507
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2097
2508
 
2098
2509
  # @!attribute applicable_product_tags
2099
- # Which tags the threshold commit applies to. If both applicable_product_ids and
2100
- # applicable_product_tags are not provided, the commit applies to all products.
2510
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2511
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2512
+ # all products.
2101
2513
  #
2102
2514
  # @return [Array<String>, nil]
2103
2515
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -2114,20 +2526,74 @@ module MetronomeSDK
2114
2526
  # @return [String, nil]
2115
2527
  optional :name, String
2116
2528
 
2117
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
2529
+ # @!attribute specifiers
2530
+ # List of filters that determine what kind of customer usage draws down a commit
2531
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2532
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2533
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2534
+ #
2535
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2536
+ optional :specifiers,
2537
+ -> do
2538
+ MetronomeSDK::Internal::Type::ArrayOf[
2539
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
2540
+ ]
2541
+ end
2542
+
2543
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
2118
2544
  # Some parameter documentations has been truncated, see
2119
2545
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit}
2120
2546
  # for more details.
2121
2547
  #
2122
2548
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2123
2549
  #
2124
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2550
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
2125
2551
  #
2126
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2552
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
2127
2553
  #
2128
2554
  # @param description [String]
2129
2555
  #
2130
2556
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2557
+ #
2558
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2559
+
2560
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2561
+ # @!attribute presentation_group_values
2562
+ #
2563
+ # @return [Hash{Symbol=>String}, nil]
2564
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2565
+
2566
+ # @!attribute pricing_group_values
2567
+ #
2568
+ # @return [Hash{Symbol=>String}, nil]
2569
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2570
+
2571
+ # @!attribute product_id
2572
+ # If provided, the specifier will only apply to the product with the specified ID.
2573
+ #
2574
+ # @return [String, nil]
2575
+ optional :product_id, String
2576
+
2577
+ # @!attribute product_tags
2578
+ # If provided, the specifier will only apply to products with all the specified
2579
+ # tags.
2580
+ #
2581
+ # @return [Array<String>, nil]
2582
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2583
+
2584
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2585
+ # Some parameter documentations has been truncated, see
2586
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
2587
+ # for more details.
2588
+ #
2589
+ # @param presentation_group_values [Hash{Symbol=>String}]
2590
+ #
2591
+ # @param pricing_group_values [Hash{Symbol=>String}]
2592
+ #
2593
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2594
+ #
2595
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2596
+ end
2131
2597
  end
2132
2598
 
2133
2599
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#payment_gate_config
@@ -2142,8 +2608,15 @@ module MetronomeSDK
2142
2608
  required :payment_gate_type,
2143
2609
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2144
2610
 
2611
+ # @!attribute precalculated_tax_config
2612
+ # Only applicable if using PRECALCULATED as your tax type.
2613
+ #
2614
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2615
+ optional :precalculated_tax_config,
2616
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
2617
+
2145
2618
  # @!attribute stripe_config
2146
- # Only applicable if using Stripe as your payment gateway through Metronome.
2619
+ # Only applicable if using STRIPE as your payment gateway type.
2147
2620
  #
2148
2621
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2149
2622
  optional :stripe_config,
@@ -2158,14 +2631,16 @@ module MetronomeSDK
2158
2631
  optional :tax_type,
2159
2632
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2160
2633
 
2161
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2634
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2162
2635
  # Some parameter documentations has been truncated, see
2163
2636
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2164
2637
  # for more details.
2165
2638
  #
2166
2639
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2167
2640
  #
2168
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2641
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2642
+ #
2643
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
2169
2644
  #
2170
2645
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2171
2646
 
@@ -2186,6 +2661,34 @@ module MetronomeSDK
2186
2661
  # @return [Array<Symbol>]
2187
2662
  end
2188
2663
 
2664
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2665
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2666
+ # @!attribute tax_amount
2667
+ # Amount of tax to be applied. This should be in the same currency and
2668
+ # denomination as the commit's invoice schedule
2669
+ #
2670
+ # @return [Float]
2671
+ required :tax_amount, Float
2672
+
2673
+ # @!attribute tax_name
2674
+ # Name of the tax to be applied. This may be used in an invoice line item
2675
+ # description.
2676
+ #
2677
+ # @return [String, nil]
2678
+ optional :tax_name, String
2679
+
2680
+ # @!method initialize(tax_amount:, tax_name: nil)
2681
+ # Some parameter documentations has been truncated, see
2682
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2683
+ # for more details.
2684
+ #
2685
+ # Only applicable if using PRECALCULATED as your tax type.
2686
+ #
2687
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2688
+ #
2689
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2690
+ end
2691
+
2189
2692
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2190
2693
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2191
2694
  # @!attribute payment_type
@@ -2195,10 +2698,23 @@ module MetronomeSDK
2195
2698
  required :payment_type,
2196
2699
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2197
2700
 
2198
- # @!method initialize(payment_type:)
2199
- # Only applicable if using Stripe as your payment gateway through Metronome.
2701
+ # @!attribute invoice_metadata
2702
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2703
+ # your payment type.
2704
+ #
2705
+ # @return [Hash{Symbol=>String}, nil]
2706
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2707
+
2708
+ # @!method initialize(payment_type:, invoice_metadata: nil)
2709
+ # Some parameter documentations has been truncated, see
2710
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2711
+ # for more details.
2712
+ #
2713
+ # Only applicable if using STRIPE as your payment gateway type.
2200
2714
  #
2201
2715
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2716
+ #
2717
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2202
2718
 
2203
2719
  # If left blank, will default to INVOICE
2204
2720
  #
@@ -2224,6 +2740,8 @@ module MetronomeSDK
2224
2740
 
2225
2741
  NONE = :NONE
2226
2742
  STRIPE = :STRIPE
2743
+ ANROK = :ANROK
2744
+ PRECALCULATED = :PRECALCULATED
2227
2745
 
2228
2746
  # @!method self.values
2229
2747
  # @return [Array<Symbol>]
@@ -2326,6 +2844,7 @@ module MetronomeSDK
2326
2844
  # @!attribute proration
2327
2845
  # Determines whether the first and last commit will be prorated. If not provided,
2328
2846
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2847
+ # subscription_config:
2329
2848
  #
2330
2849
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration, nil]
2331
2850
  optional :proration,
@@ -2335,7 +2854,7 @@ module MetronomeSDK
2335
2854
  # The frequency at which the recurring commits will be created. If not provided: -
2336
2855
  # The commits will be created on the usage invoice frequency. If provided: - The
2337
2856
  # period defined in the duration will correspond to this frequency. - Commits will
2338
- # be created aligned with the recurring commit's start_date rather than the usage
2857
+ # be created aligned with the recurring commit's starting_at rather than the usage
2339
2858
  # invoice dates.
2340
2859
  #
2341
2860
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
@@ -2350,7 +2869,16 @@ module MetronomeSDK
2350
2869
  # @return [Float, nil]
2351
2870
  optional :rollover_fraction, Float
2352
2871
 
2353
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
2872
+ # @!attribute specifiers
2873
+ # List of filters that determine what kind of customer usage draws down a commit
2874
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2875
+ # specifiers to contribute to a commit's or credit's drawdown.
2876
+ #
2877
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>, nil]
2878
+ optional :specifiers,
2879
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier] }
2880
+
2881
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
2354
2882
  # Some parameter documentations has been truncated, see
2355
2883
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
2356
2884
  # details.
@@ -2390,6 +2918,8 @@ module MetronomeSDK
2390
2918
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2391
2919
  #
2392
2920
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2921
+ #
2922
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2393
2923
 
2394
2924
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#access_amount
2395
2925
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2398,22 +2928,22 @@ module MetronomeSDK
2398
2928
  # @return [String]
2399
2929
  required :credit_type_id, String
2400
2930
 
2401
- # @!attribute quantity
2402
- #
2403
- # @return [Float]
2404
- required :quantity, Float
2405
-
2406
2931
  # @!attribute unit_price
2407
2932
  #
2408
2933
  # @return [Float]
2409
2934
  required :unit_price, Float
2410
2935
 
2411
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2936
+ # @!attribute quantity
2937
+ #
2938
+ # @return [Float, nil]
2939
+ optional :quantity, Float
2940
+
2941
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2412
2942
  # The amount of commit to grant.
2413
2943
  #
2414
2944
  # @param credit_type_id [String]
2415
- # @param quantity [Float]
2416
2945
  # @param unit_price [Float]
2946
+ # @param quantity [Float]
2417
2947
  end
2418
2948
 
2419
2949
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#commit_duration
@@ -2514,6 +3044,7 @@ module MetronomeSDK
2514
3044
 
2515
3045
  # Determines whether the first and last commit will be prorated. If not provided,
2516
3046
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3047
+ # subscription_config:
2517
3048
  #
2518
3049
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#proration
2519
3050
  module Proration
@@ -2531,7 +3062,7 @@ module MetronomeSDK
2531
3062
  # The frequency at which the recurring commits will be created. If not provided: -
2532
3063
  # The commits will be created on the usage invoice frequency. If provided: - The
2533
3064
  # period defined in the duration will correspond to this frequency. - Commits will
2534
- # be created aligned with the recurring commit's start_date rather than the usage
3065
+ # be created aligned with the recurring commit's starting_at rather than the usage
2535
3066
  # invoice dates.
2536
3067
  #
2537
3068
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#recurrence_frequency
@@ -2546,6 +3077,44 @@ module MetronomeSDK
2546
3077
  # @!method self.values
2547
3078
  # @return [Array<Symbol>]
2548
3079
  end
3080
+
3081
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3082
+ # @!attribute presentation_group_values
3083
+ #
3084
+ # @return [Hash{Symbol=>String}, nil]
3085
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3086
+
3087
+ # @!attribute pricing_group_values
3088
+ #
3089
+ # @return [Hash{Symbol=>String}, nil]
3090
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3091
+
3092
+ # @!attribute product_id
3093
+ # If provided, the specifier will only apply to the product with the specified ID.
3094
+ #
3095
+ # @return [String, nil]
3096
+ optional :product_id, String
3097
+
3098
+ # @!attribute product_tags
3099
+ # If provided, the specifier will only apply to products with all the specified
3100
+ # tags.
3101
+ #
3102
+ # @return [Array<String>, nil]
3103
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3104
+
3105
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3106
+ # Some parameter documentations has been truncated, see
3107
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier}
3108
+ # for more details.
3109
+ #
3110
+ # @param presentation_group_values [Hash{Symbol=>String}]
3111
+ #
3112
+ # @param pricing_group_values [Hash{Symbol=>String}]
3113
+ #
3114
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3115
+ #
3116
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3117
+ end
2549
3118
  end
2550
3119
 
2551
3120
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2636,6 +3205,7 @@ module MetronomeSDK
2636
3205
  # @!attribute proration
2637
3206
  # Determines whether the first and last commit will be prorated. If not provided,
2638
3207
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3208
+ # subscription_config:
2639
3209
  #
2640
3210
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration, nil]
2641
3211
  optional :proration,
@@ -2645,7 +3215,7 @@ module MetronomeSDK
2645
3215
  # The frequency at which the recurring commits will be created. If not provided: -
2646
3216
  # The commits will be created on the usage invoice frequency. If provided: - The
2647
3217
  # period defined in the duration will correspond to this frequency. - Commits will
2648
- # be created aligned with the recurring commit's start_date rather than the usage
3218
+ # be created aligned with the recurring commit's starting_at rather than the usage
2649
3219
  # invoice dates.
2650
3220
  #
2651
3221
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
@@ -2660,7 +3230,16 @@ module MetronomeSDK
2660
3230
  # @return [Float, nil]
2661
3231
  optional :rollover_fraction, Float
2662
3232
 
2663
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
3233
+ # @!attribute specifiers
3234
+ # List of filters that determine what kind of customer usage draws down a commit
3235
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3236
+ # specifiers to contribute to a commit's or credit's drawdown.
3237
+ #
3238
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>, nil]
3239
+ optional :specifiers,
3240
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier] }
3241
+
3242
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
2664
3243
  # Some parameter documentations has been truncated, see
2665
3244
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
2666
3245
  # details.
@@ -2698,6 +3277,8 @@ module MetronomeSDK
2698
3277
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2699
3278
  #
2700
3279
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3280
+ #
3281
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2701
3282
 
2702
3283
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#access_amount
2703
3284
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2706,22 +3287,22 @@ module MetronomeSDK
2706
3287
  # @return [String]
2707
3288
  required :credit_type_id, String
2708
3289
 
2709
- # @!attribute quantity
2710
- #
2711
- # @return [Float]
2712
- required :quantity, Float
2713
-
2714
3290
  # @!attribute unit_price
2715
3291
  #
2716
3292
  # @return [Float]
2717
3293
  required :unit_price, Float
2718
3294
 
2719
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3295
+ # @!attribute quantity
3296
+ #
3297
+ # @return [Float, nil]
3298
+ optional :quantity, Float
3299
+
3300
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2720
3301
  # The amount of commit to grant.
2721
3302
  #
2722
3303
  # @param credit_type_id [String]
2723
- # @param quantity [Float]
2724
3304
  # @param unit_price [Float]
3305
+ # @param quantity [Float]
2725
3306
  end
2726
3307
 
2727
3308
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#commit_duration
@@ -2797,6 +3378,7 @@ module MetronomeSDK
2797
3378
 
2798
3379
  # Determines whether the first and last commit will be prorated. If not provided,
2799
3380
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3381
+ # subscription_config:
2800
3382
  #
2801
3383
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#proration
2802
3384
  module Proration
@@ -2814,7 +3396,7 @@ module MetronomeSDK
2814
3396
  # The frequency at which the recurring commits will be created. If not provided: -
2815
3397
  # The commits will be created on the usage invoice frequency. If provided: - The
2816
3398
  # period defined in the duration will correspond to this frequency. - Commits will
2817
- # be created aligned with the recurring commit's start_date rather than the usage
3399
+ # be created aligned with the recurring commit's starting_at rather than the usage
2818
3400
  # invoice dates.
2819
3401
  #
2820
3402
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#recurrence_frequency
@@ -2829,6 +3411,44 @@ module MetronomeSDK
2829
3411
  # @!method self.values
2830
3412
  # @return [Array<Symbol>]
2831
3413
  end
3414
+
3415
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3416
+ # @!attribute presentation_group_values
3417
+ #
3418
+ # @return [Hash{Symbol=>String}, nil]
3419
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3420
+
3421
+ # @!attribute pricing_group_values
3422
+ #
3423
+ # @return [Hash{Symbol=>String}, nil]
3424
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3425
+
3426
+ # @!attribute product_id
3427
+ # If provided, the specifier will only apply to the product with the specified ID.
3428
+ #
3429
+ # @return [String, nil]
3430
+ optional :product_id, String
3431
+
3432
+ # @!attribute product_tags
3433
+ # If provided, the specifier will only apply to products with all the specified
3434
+ # tags.
3435
+ #
3436
+ # @return [Array<String>, nil]
3437
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3438
+
3439
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3440
+ # Some parameter documentations has been truncated, see
3441
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier}
3442
+ # for more details.
3443
+ #
3444
+ # @param presentation_group_values [Hash{Symbol=>String}]
3445
+ #
3446
+ # @param pricing_group_values [Hash{Symbol=>String}]
3447
+ #
3448
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3449
+ #
3450
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3451
+ end
2832
3452
  end
2833
3453
 
2834
3454
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -3061,8 +3681,15 @@ module MetronomeSDK
3061
3681
  required :payment_gate_type,
3062
3682
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
3063
3683
 
3684
+ # @!attribute precalculated_tax_config
3685
+ # Only applicable if using PRECALCULATED as your tax type.
3686
+ #
3687
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
3688
+ optional :precalculated_tax_config,
3689
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
3690
+
3064
3691
  # @!attribute stripe_config
3065
- # Only applicable if using Stripe as your payment gateway through Metronome.
3692
+ # Only applicable if using STRIPE as your payment gateway type.
3066
3693
  #
3067
3694
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3068
3695
  optional :stripe_config,
@@ -3077,14 +3704,16 @@ module MetronomeSDK
3077
3704
  optional :tax_type,
3078
3705
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
3079
3706
 
3080
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3707
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3081
3708
  # Some parameter documentations has been truncated, see
3082
3709
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
3083
3710
  # for more details.
3084
3711
  #
3085
3712
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3086
3713
  #
3087
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3714
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
3715
+ #
3716
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
3088
3717
  #
3089
3718
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3090
3719
 
@@ -3105,6 +3734,34 @@ module MetronomeSDK
3105
3734
  # @return [Array<Symbol>]
3106
3735
  end
3107
3736
 
3737
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
3738
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3739
+ # @!attribute tax_amount
3740
+ # Amount of tax to be applied. This should be in the same currency and
3741
+ # denomination as the commit's invoice schedule
3742
+ #
3743
+ # @return [Float]
3744
+ required :tax_amount, Float
3745
+
3746
+ # @!attribute tax_name
3747
+ # Name of the tax to be applied. This may be used in an invoice line item
3748
+ # description.
3749
+ #
3750
+ # @return [String, nil]
3751
+ optional :tax_name, String
3752
+
3753
+ # @!method initialize(tax_amount:, tax_name: nil)
3754
+ # Some parameter documentations has been truncated, see
3755
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
3756
+ # for more details.
3757
+ #
3758
+ # Only applicable if using PRECALCULATED as your tax type.
3759
+ #
3760
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
3761
+ #
3762
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
3763
+ end
3764
+
3108
3765
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3109
3766
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3110
3767
  # @!attribute payment_type
@@ -3114,10 +3771,23 @@ module MetronomeSDK
3114
3771
  required :payment_type,
3115
3772
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3116
3773
 
3117
- # @!method initialize(payment_type:)
3118
- # Only applicable if using Stripe as your payment gateway through Metronome.
3774
+ # @!attribute invoice_metadata
3775
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3776
+ # your payment type.
3777
+ #
3778
+ # @return [Hash{Symbol=>String}, nil]
3779
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
3780
+
3781
+ # @!method initialize(payment_type:, invoice_metadata: nil)
3782
+ # Some parameter documentations has been truncated, see
3783
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
3784
+ # for more details.
3785
+ #
3786
+ # Only applicable if using STRIPE as your payment gateway type.
3119
3787
  #
3120
3788
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3789
+ #
3790
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3121
3791
 
3122
3792
  # If left blank, will default to INVOICE
3123
3793
  #
@@ -3143,11 +3813,213 @@ module MetronomeSDK
3143
3813
 
3144
3814
  NONE = :NONE
3145
3815
  STRIPE = :STRIPE
3816
+ ANROK = :ANROK
3817
+ PRECALCULATED = :PRECALCULATED
3818
+
3819
+ # @!method self.values
3820
+ # @return [Array<Symbol>]
3821
+ end
3822
+ end
3823
+ end
3824
+
3825
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
3826
+ # @!attribute collection_schedule
3827
+ #
3828
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
3829
+ required :collection_schedule,
3830
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule }
3831
+
3832
+ # @!attribute proration
3833
+ #
3834
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
3835
+ required :proration, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration }
3836
+
3837
+ # @!attribute quantity_schedule
3838
+ # List of quantity schedule items for the subscription. Only includes the current
3839
+ # quantity and future quantity changes.
3840
+ #
3841
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
3842
+ required :quantity_schedule,
3843
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule] }
3844
+
3845
+ # @!attribute starting_at
3846
+ #
3847
+ # @return [Time]
3848
+ required :starting_at, Time
3849
+
3850
+ # @!attribute subscription_rate
3851
+ #
3852
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
3853
+ required :subscription_rate,
3854
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate }
3855
+
3856
+ # @!attribute id
3857
+ #
3858
+ # @return [String, nil]
3859
+ optional :id, String
3860
+
3861
+ # @!attribute custom_fields
3862
+ #
3863
+ # @return [Hash{Symbol=>String}, nil]
3864
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
3865
+
3866
+ # @!attribute description
3867
+ #
3868
+ # @return [String, nil]
3869
+ optional :description, String
3870
+
3871
+ # @!attribute ending_before
3872
+ #
3873
+ # @return [Time, nil]
3874
+ optional :ending_before, Time
3875
+
3876
+ # @!attribute fiat_credit_type_id
3877
+ #
3878
+ # @return [String, nil]
3879
+ optional :fiat_credit_type_id, String
3880
+
3881
+ # @!attribute name
3882
+ #
3883
+ # @return [String, nil]
3884
+ optional :name, String
3885
+
3886
+ # @!method initialize(collection_schedule:, proration:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil)
3887
+ # Some parameter documentations has been truncated, see
3888
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription} for more
3889
+ # details.
3890
+ #
3891
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
3892
+ #
3893
+ # @param proration [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
3894
+ #
3895
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
3896
+ #
3897
+ # @param starting_at [Time]
3898
+ #
3899
+ # @param subscription_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
3900
+ #
3901
+ # @param id [String]
3902
+ #
3903
+ # @param custom_fields [Hash{Symbol=>String}]
3904
+ #
3905
+ # @param description [String]
3906
+ #
3907
+ # @param ending_before [Time]
3908
+ #
3909
+ # @param fiat_credit_type_id [String]
3910
+ #
3911
+ # @param name [String]
3912
+
3913
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#collection_schedule
3914
+ module CollectionSchedule
3915
+ extend MetronomeSDK::Internal::Type::Enum
3916
+
3917
+ ADVANCE = :ADVANCE
3918
+ ARREARS = :ARREARS
3919
+
3920
+ # @!method self.values
3921
+ # @return [Array<Symbol>]
3922
+ end
3923
+
3924
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#proration
3925
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3926
+ # @!attribute invoice_behavior
3927
+ #
3928
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
3929
+ required :invoice_behavior,
3930
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior }
3931
+
3932
+ # @!attribute is_prorated
3933
+ #
3934
+ # @return [Boolean]
3935
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3936
+
3937
+ # @!method initialize(invoice_behavior:, is_prorated:)
3938
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
3939
+ # @param is_prorated [Boolean]
3940
+
3941
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration#invoice_behavior
3942
+ module InvoiceBehavior
3943
+ extend MetronomeSDK::Internal::Type::Enum
3944
+
3945
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
3946
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
3146
3947
 
3147
3948
  # @!method self.values
3148
3949
  # @return [Array<Symbol>]
3149
3950
  end
3150
3951
  end
3952
+
3953
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
3954
+ # @!attribute quantity
3955
+ #
3956
+ # @return [Float]
3957
+ required :quantity, Float
3958
+
3959
+ # @!attribute starting_at
3960
+ #
3961
+ # @return [Time]
3962
+ required :starting_at, Time
3963
+
3964
+ # @!attribute ending_before
3965
+ #
3966
+ # @return [Time, nil]
3967
+ optional :ending_before, Time
3968
+
3969
+ # @!method initialize(quantity:, starting_at:, ending_before: nil)
3970
+ # @param quantity [Float]
3971
+ # @param starting_at [Time]
3972
+ # @param ending_before [Time]
3973
+ end
3974
+
3975
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#subscription_rate
3976
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3977
+ # @!attribute billing_frequency
3978
+ #
3979
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
3980
+ required :billing_frequency,
3981
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency }
3982
+
3983
+ # @!attribute product
3984
+ #
3985
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
3986
+ required :product,
3987
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product }
3988
+
3989
+ # @!method initialize(billing_frequency:, product:)
3990
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
3991
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
3992
+
3993
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate#billing_frequency
3994
+ module BillingFrequency
3995
+ extend MetronomeSDK::Internal::Type::Enum
3996
+
3997
+ MONTHLY = :MONTHLY
3998
+ QUARTERLY = :QUARTERLY
3999
+ ANNUAL = :ANNUAL
4000
+ WEEKLY = :WEEKLY
4001
+
4002
+ # @!method self.values
4003
+ # @return [Array<Symbol>]
4004
+ end
4005
+
4006
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate#product
4007
+ class Product < MetronomeSDK::Internal::Type::BaseModel
4008
+ # @!attribute id
4009
+ #
4010
+ # @return [String]
4011
+ required :id, String
4012
+
4013
+ # @!attribute name
4014
+ #
4015
+ # @return [String]
4016
+ required :name, String
4017
+
4018
+ # @!method initialize(id:, name:)
4019
+ # @param id [String]
4020
+ # @param name [String]
4021
+ end
4022
+ end
3151
4023
  end
3152
4024
  end
3153
4025
  end