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
@@ -5,7 +5,7 @@ module MetronomeSDK
5
5
  class ContractWithoutAmendments < MetronomeSDK::Internal::Type::BaseModel
6
6
  # @!attribute commits
7
7
  #
8
- # @return [Array<MetronomeSDK::Commit>]
8
+ # @return [Array<MetronomeSDK::Models::Commit>]
9
9
  required :commits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Commit] }
10
10
 
11
11
  # @!attribute created_at
@@ -20,12 +20,12 @@ module MetronomeSDK
20
20
 
21
21
  # @!attribute overrides
22
22
  #
23
- # @return [Array<MetronomeSDK::Override>]
23
+ # @return [Array<MetronomeSDK::Models::Override>]
24
24
  required :overrides, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Override] }
25
25
 
26
26
  # @!attribute scheduled_charges
27
27
  #
28
- # @return [Array<MetronomeSDK::ScheduledCharge>]
28
+ # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
29
29
  required :scheduled_charges, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge] }
30
30
 
31
31
  # @!attribute starting_at
@@ -35,7 +35,7 @@ module MetronomeSDK
35
35
 
36
36
  # @!attribute transitions
37
37
  #
38
- # @return [Array<MetronomeSDK::ContractWithoutAmendments::Transition>]
38
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::Transition>]
39
39
  required :transitions,
40
40
  -> {
41
41
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::Transition]
@@ -43,7 +43,7 @@ module MetronomeSDK
43
43
 
44
44
  # @!attribute usage_statement_schedule
45
45
  #
46
- # @return [MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule]
46
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule]
47
47
  required :usage_statement_schedule,
48
48
  -> {
49
49
  MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule
@@ -51,13 +51,13 @@ module MetronomeSDK
51
51
 
52
52
  # @!attribute credits
53
53
  #
54
- # @return [Array<MetronomeSDK::Credit>, nil]
54
+ # @return [Array<MetronomeSDK::Models::Credit>, nil]
55
55
  optional :credits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Credit] }
56
56
 
57
57
  # @!attribute discounts
58
58
  # This field's availability is dependent on your client's configuration.
59
59
  #
60
- # @return [Array<MetronomeSDK::Discount>, nil]
60
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
61
61
  optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
62
62
 
63
63
  # @!attribute ending_before
@@ -65,6 +65,14 @@ module MetronomeSDK
65
65
  # @return [Time, nil]
66
66
  optional :ending_before, Time
67
67
 
68
+ # @!attribute hierarchy_configuration
69
+ # Either a **parent** configuration with a list of children or a **child**
70
+ # configuration with a single parent.
71
+ #
72
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
73
+ optional :hierarchy_configuration,
74
+ union: -> { MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration }
75
+
68
76
  # @!attribute name
69
77
  #
70
78
  # @return [String, nil]
@@ -83,14 +91,14 @@ module MetronomeSDK
83
91
 
84
92
  # @!attribute prepaid_balance_threshold_configuration
85
93
  #
86
- # @return [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration, nil]
94
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration, nil]
87
95
  optional :prepaid_balance_threshold_configuration,
88
96
  -> { MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration }
89
97
 
90
98
  # @!attribute professional_services
91
99
  # This field's availability is dependent on your client's configuration.
92
100
  #
93
- # @return [Array<MetronomeSDK::ProService>, nil]
101
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
94
102
  optional :professional_services, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService] }
95
103
 
96
104
  # @!attribute rate_card_id
@@ -100,7 +108,7 @@ module MetronomeSDK
100
108
 
101
109
  # @!attribute recurring_commits
102
110
  #
103
- # @return [Array<MetronomeSDK::ContractWithoutAmendments::RecurringCommit>, nil]
111
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit>, nil]
104
112
  optional :recurring_commits,
105
113
  -> {
106
114
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCommit]
@@ -108,7 +116,7 @@ module MetronomeSDK
108
116
 
109
117
  # @!attribute recurring_credits
110
118
  #
111
- # @return [Array<MetronomeSDK::ContractWithoutAmendments::RecurringCredit>, nil]
119
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit>, nil]
112
120
  optional :recurring_credits,
113
121
  -> {
114
122
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCredit]
@@ -117,7 +125,7 @@ module MetronomeSDK
117
125
  # @!attribute reseller_royalties
118
126
  # This field's availability is dependent on your client's configuration.
119
127
  #
120
- # @return [Array<MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty>, nil]
128
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty>, nil]
121
129
  optional :reseller_royalties,
122
130
  -> {
123
131
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty]
@@ -136,13 +144,13 @@ module MetronomeSDK
136
144
  # after a Contract has been created. If this field is omitted, charges will appear
137
145
  # on a separate invoice from usage charges.
138
146
  #
139
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices, nil]
147
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices, nil]
140
148
  optional :scheduled_charges_on_usage_invoices,
141
149
  enum: -> { MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices }
142
150
 
143
151
  # @!attribute spend_threshold_configuration
144
152
  #
145
- # @return [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration, nil]
153
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration, nil]
146
154
  optional :spend_threshold_configuration,
147
155
  -> { MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration }
148
156
 
@@ -154,62 +162,64 @@ module MetronomeSDK
154
162
 
155
163
  # @!attribute usage_filter
156
164
  #
157
- # @return [MetronomeSDK::ContractWithoutAmendments::UsageFilter, nil]
165
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter, nil]
158
166
  optional :usage_filter, -> { MetronomeSDK::ContractWithoutAmendments::UsageFilter }
159
167
 
160
- # @!method initialize(commits:, created_at:, created_by:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_statement_schedule:, credits: nil, discounts: nil, ending_before: 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, usage_filter: nil)
168
+ # @!method initialize(commits:, created_at:, created_by:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_statement_schedule:, credits: nil, discounts: nil, ending_before: nil, hierarchy_configuration: 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, usage_filter: nil)
161
169
  # Some parameter documentations has been truncated, see
162
- # {MetronomeSDK::ContractWithoutAmendments} for more details.
170
+ # {MetronomeSDK::Models::ContractWithoutAmendments} for more details.
163
171
  #
164
- # @param commits [Array<MetronomeSDK::Commit>]
172
+ # @param commits [Array<MetronomeSDK::Models::Commit>]
165
173
  #
166
174
  # @param created_at [Time]
167
175
  #
168
176
  # @param created_by [String]
169
177
  #
170
- # @param overrides [Array<MetronomeSDK::Override>]
178
+ # @param overrides [Array<MetronomeSDK::Models::Override>]
171
179
  #
172
- # @param scheduled_charges [Array<MetronomeSDK::ScheduledCharge>]
180
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
173
181
  #
174
182
  # @param starting_at [Time]
175
183
  #
176
- # @param transitions [Array<MetronomeSDK::ContractWithoutAmendments::Transition>]
184
+ # @param transitions [Array<MetronomeSDK::Models::ContractWithoutAmendments::Transition>]
177
185
  #
178
- # @param usage_statement_schedule [MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule]
186
+ # @param usage_statement_schedule [MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule]
179
187
  #
180
- # @param credits [Array<MetronomeSDK::Credit>]
188
+ # @param credits [Array<MetronomeSDK::Models::Credit>]
181
189
  #
182
- # @param discounts [Array<MetronomeSDK::Discount>] This field's availability is dependent on your client's configuration.
190
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
183
191
  #
184
192
  # @param ending_before [Time]
185
193
  #
194
+ # @param hierarchy_configuration [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
195
+ #
186
196
  # @param name [String]
187
197
  #
188
198
  # @param net_payment_terms_days [Float]
189
199
  #
190
200
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
191
201
  #
192
- # @param prepaid_balance_threshold_configuration [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration]
202
+ # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration]
193
203
  #
194
- # @param professional_services [Array<MetronomeSDK::ProService>] This field's availability is dependent on your client's configuration.
204
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
195
205
  #
196
206
  # @param rate_card_id [String]
197
207
  #
198
- # @param recurring_commits [Array<MetronomeSDK::ContractWithoutAmendments::RecurringCommit>]
208
+ # @param recurring_commits [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit>]
199
209
  #
200
- # @param recurring_credits [Array<MetronomeSDK::ContractWithoutAmendments::RecurringCredit>]
210
+ # @param recurring_credits [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit>]
201
211
  #
202
- # @param reseller_royalties [Array<MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
212
+ # @param reseller_royalties [Array<MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
203
213
  #
204
214
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
205
215
  #
206
- # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
216
+ # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
207
217
  #
208
- # @param spend_threshold_configuration [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration]
218
+ # @param spend_threshold_configuration [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration]
209
219
  #
210
220
  # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
211
221
  #
212
- # @param usage_filter [MetronomeSDK::ContractWithoutAmendments::UsageFilter]
222
+ # @param usage_filter [MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter]
213
223
 
214
224
  class Transition < MetronomeSDK::Internal::Type::BaseModel
215
225
  # @!attribute from_contract_id
@@ -224,15 +234,15 @@ module MetronomeSDK
224
234
 
225
235
  # @!attribute type
226
236
  #
227
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::Transition::Type]
237
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type]
228
238
  required :type, enum: -> { MetronomeSDK::ContractWithoutAmendments::Transition::Type }
229
239
 
230
240
  # @!method initialize(from_contract_id:, to_contract_id:, type:)
231
241
  # @param from_contract_id [String]
232
242
  # @param to_contract_id [String]
233
- # @param type [Symbol, MetronomeSDK::ContractWithoutAmendments::Transition::Type]
243
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type]
234
244
 
235
- # @see MetronomeSDK::ContractWithoutAmendments::Transition#type
245
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::Transition#type
236
246
  module Type
237
247
  extend MetronomeSDK::Internal::Type::Enum
238
248
 
@@ -244,7 +254,7 @@ module MetronomeSDK
244
254
  end
245
255
  end
246
256
 
247
- # @see MetronomeSDK::ContractWithoutAmendments#usage_statement_schedule
257
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#usage_statement_schedule
248
258
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
249
259
  # @!attribute billing_anchor_date
250
260
  # Contract usage statements follow a selected cadence based on this date.
@@ -254,16 +264,16 @@ module MetronomeSDK
254
264
 
255
265
  # @!attribute frequency
256
266
  #
257
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule::Frequency]
267
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency]
258
268
  required :frequency,
259
269
  enum: -> { MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule::Frequency }
260
270
 
261
271
  # @!method initialize(billing_anchor_date:, frequency:)
262
272
  # @param billing_anchor_date [Time] Contract usage statements follow a selected cadence based on this date.
263
273
  #
264
- # @param frequency [Symbol, MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule::Frequency]
274
+ # @param frequency [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency]
265
275
 
266
- # @see MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule#frequency
276
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule#frequency
267
277
  module Frequency
268
278
  extend MetronomeSDK::Internal::Type::Enum
269
279
 
@@ -277,11 +287,93 @@ module MetronomeSDK
277
287
  end
278
288
  end
279
289
 
280
- # @see MetronomeSDK::ContractWithoutAmendments#prepaid_balance_threshold_configuration
290
+ # Either a **parent** configuration with a list of children or a **child**
291
+ # configuration with a single parent.
292
+ #
293
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#hierarchy_configuration
294
+ module HierarchyConfiguration
295
+ extend MetronomeSDK::Internal::Type::Union
296
+
297
+ variant -> {
298
+ MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration
299
+ }
300
+
301
+ variant -> {
302
+ MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration
303
+ }
304
+
305
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
306
+ # @!attribute children
307
+ # List of contracts that belong to this parent.
308
+ #
309
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
310
+ required :children,
311
+ -> {
312
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
313
+ }
314
+
315
+ # @!method initialize(children:)
316
+ # @param children [Array<MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
317
+
318
+ class Child < MetronomeSDK::Internal::Type::BaseModel
319
+ # @!attribute contract_id
320
+ #
321
+ # @return [String]
322
+ required :contract_id, String
323
+
324
+ # @!attribute customer_id
325
+ #
326
+ # @return [String]
327
+ required :customer_id, String
328
+
329
+ # @!method initialize(contract_id:, customer_id:)
330
+ # @param contract_id [String]
331
+ # @param customer_id [String]
332
+ end
333
+ end
334
+
335
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
336
+ # @!attribute parent
337
+ # The single parent contract/customer for this child.
338
+ #
339
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
340
+ required :parent,
341
+ -> {
342
+ MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
343
+ }
344
+
345
+ # @!method initialize(parent:)
346
+ # @param parent [MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
347
+
348
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration#parent
349
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
350
+ # @!attribute contract_id
351
+ #
352
+ # @return [String]
353
+ required :contract_id, String
354
+
355
+ # @!attribute customer_id
356
+ #
357
+ # @return [String]
358
+ required :customer_id, String
359
+
360
+ # @!method initialize(contract_id:, customer_id:)
361
+ # The single parent contract/customer for this child.
362
+ #
363
+ # @param contract_id [String]
364
+ # @param customer_id [String]
365
+ end
366
+ end
367
+
368
+ # @!method self.variants
369
+ # @return [Array(MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration)]
370
+ end
371
+
372
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#prepaid_balance_threshold_configuration
281
373
  class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
282
374
  # @!attribute commit
283
375
  #
284
- # @return [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit]
376
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit]
285
377
  required :commit,
286
378
  -> { MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit }
287
379
 
@@ -295,7 +387,7 @@ module MetronomeSDK
295
387
 
296
388
  # @!attribute payment_gate_config
297
389
  #
298
- # @return [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
390
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
299
391
  required :payment_gate_config,
300
392
  -> {
301
393
  MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
@@ -314,22 +406,31 @@ module MetronomeSDK
314
406
  # @return [Float]
315
407
  required :threshold_amount, Float
316
408
 
317
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
409
+ # @!attribute custom_credit_type_id
410
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
411
+ # commit amount will be in terms of this credit type instead of the fiat currency.
412
+ #
413
+ # @return [String, nil]
414
+ optional :custom_credit_type_id, String
415
+
416
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
318
417
  # Some parameter documentations has been truncated, see
319
- # {MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration}
418
+ # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration}
320
419
  # for more details.
321
420
  #
322
- # @param commit [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit]
421
+ # @param commit [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit]
323
422
  #
324
423
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
325
424
  #
326
- # @param payment_gate_config [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
425
+ # @param payment_gate_config [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
327
426
  #
328
427
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
329
428
  #
330
429
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's prepaid
430
+ #
431
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
331
432
 
332
- # @see MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration#commit
433
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration#commit
333
434
  class Commit < MetronomeSDK::Internal::Type::BaseModel
334
435
  # @!attribute product_id
335
436
  # The commit product that will be used to generate the line item for commit
@@ -339,16 +440,17 @@ module MetronomeSDK
339
440
  required :product_id, String
340
441
 
341
442
  # @!attribute applicable_product_ids
342
- # Which products the threshold commit applies to. If both applicable_product_ids
343
- # and applicable_product_tags are not provided, the commit applies to all
344
- # products.
443
+ # Which products the threshold commit applies to. If applicable_product_ids,
444
+ # applicable_product_tags or specifiers are not provided, the commit applies to
445
+ # all products.
345
446
  #
346
447
  # @return [Array<String>, nil]
347
448
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
348
449
 
349
450
  # @!attribute applicable_product_tags
350
- # Which tags the threshold commit applies to. If both applicable_product_ids and
351
- # applicable_product_tags are not provided, the commit applies to all products.
451
+ # Which tags the threshold commit applies to. If applicable_product_ids,
452
+ # applicable_product_tags or specifiers are not provided, the commit applies to
453
+ # all products.
352
454
  #
353
455
  # @return [Array<String>, nil]
354
456
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -365,23 +467,75 @@ module MetronomeSDK
365
467
  # @return [String, nil]
366
468
  optional :name, String
367
469
 
368
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
470
+ # @!attribute specifiers
471
+ # List of filters that determine what kind of customer usage draws down a commit
472
+ # or credit. A customer's usage needs to meet the condition of at least one of the
473
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
474
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
475
+ #
476
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
477
+ optional :specifiers,
478
+ -> {
479
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
480
+ }
481
+
482
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
369
483
  # Some parameter documentations has been truncated, see
370
- # {MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit}
484
+ # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit}
371
485
  # for more details.
372
486
  #
373
487
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
374
488
  #
375
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
489
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
376
490
  #
377
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
491
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
378
492
  #
379
493
  # @param description [String]
380
494
  #
381
495
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
496
+ #
497
+ # @param specifiers [Array<MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
498
+
499
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
500
+ # @!attribute presentation_group_values
501
+ #
502
+ # @return [Hash{Symbol=>String}, nil]
503
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
504
+
505
+ # @!attribute pricing_group_values
506
+ #
507
+ # @return [Hash{Symbol=>String}, nil]
508
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
509
+
510
+ # @!attribute product_id
511
+ # If provided, the specifier will only apply to the product with the specified ID.
512
+ #
513
+ # @return [String, nil]
514
+ optional :product_id, String
515
+
516
+ # @!attribute product_tags
517
+ # If provided, the specifier will only apply to products with all the specified
518
+ # tags.
519
+ #
520
+ # @return [Array<String>, nil]
521
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
522
+
523
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
524
+ # Some parameter documentations has been truncated, see
525
+ # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
526
+ # for more details.
527
+ #
528
+ # @param presentation_group_values [Hash{Symbol=>String}]
529
+ #
530
+ # @param pricing_group_values [Hash{Symbol=>String}]
531
+ #
532
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
533
+ #
534
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
535
+ end
382
536
  end
383
537
 
384
- # @see MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration#payment_gate_config
538
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration#payment_gate_config
385
539
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
386
540
  # @!attribute payment_gate_type
387
541
  # Gate access to the commit balance based on successful collection of payment.
@@ -389,16 +543,25 @@ module MetronomeSDK
389
543
  # facilitate payment using your own payment integration. Select NONE if you do not
390
544
  # wish to payment gate the commit balance.
391
545
  #
392
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
546
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
393
547
  required :payment_gate_type,
394
548
  enum: -> {
395
549
  MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
396
550
  }
397
551
 
552
+ # @!attribute precalculated_tax_config
553
+ # Only applicable if using PRECALCULATED as your tax type.
554
+ #
555
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
556
+ optional :precalculated_tax_config,
557
+ -> {
558
+ MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
559
+ }
560
+
398
561
  # @!attribute stripe_config
399
- # Only applicable if using Stripe as your payment gateway through Metronome.
562
+ # Only applicable if using STRIPE as your payment gate type.
400
563
  #
401
- # @return [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
564
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
402
565
  optional :stripe_config,
403
566
  -> {
404
567
  MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -409,29 +572,31 @@ module MetronomeSDK
409
572
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
410
573
  # will default to NONE.
411
574
  #
412
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
575
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
413
576
  optional :tax_type,
414
577
  enum: -> {
415
578
  MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
416
579
  }
417
580
 
418
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
581
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
419
582
  # Some parameter documentations has been truncated, see
420
- # {MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
583
+ # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
421
584
  # for more details.
422
585
  #
423
- # @param payment_gate_type [Symbol, MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
586
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
424
587
  #
425
- # @param stripe_config [MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
588
+ # @param precalculated_tax_config [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
426
589
  #
427
- # @param tax_type [Symbol, MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
590
+ # @param stripe_config [MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
591
+ #
592
+ # @param tax_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
428
593
 
429
594
  # Gate access to the commit balance based on successful collection of payment.
430
595
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
431
596
  # facilitate payment using your own payment integration. Select NONE if you do not
432
597
  # wish to payment gate the commit balance.
433
598
  #
434
- # @see MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
599
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
435
600
  module PaymentGateType
436
601
  extend MetronomeSDK::Internal::Type::Enum
437
602
 
@@ -443,25 +608,66 @@ module MetronomeSDK
443
608
  # @return [Array<Symbol>]
444
609
  end
445
610
 
446
- # @see MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
611
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
612
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
613
+ # @!attribute tax_amount
614
+ # Amount of tax to be applied. This should be in the same currency and
615
+ # denomination as the commit's invoice schedule
616
+ #
617
+ # @return [Float]
618
+ required :tax_amount, Float
619
+
620
+ # @!attribute tax_name
621
+ # Name of the tax to be applied. This may be used in an invoice line item
622
+ # description.
623
+ #
624
+ # @return [String, nil]
625
+ optional :tax_name, String
626
+
627
+ # @!method initialize(tax_amount:, tax_name: nil)
628
+ # Some parameter documentations has been truncated, see
629
+ # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
630
+ # for more details.
631
+ #
632
+ # Only applicable if using PRECALCULATED as your tax type.
633
+ #
634
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
635
+ #
636
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
637
+ end
638
+
639
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
447
640
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
448
641
  # @!attribute payment_type
449
642
  # If left blank, will default to INVOICE
450
643
  #
451
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
644
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
452
645
  required :payment_type,
453
646
  enum: -> {
454
647
  MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
455
648
  }
456
649
 
457
- # @!method initialize(payment_type:)
458
- # Only applicable if using Stripe as your payment gateway through Metronome.
650
+ # @!attribute invoice_metadata
651
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
652
+ # your payment type.
459
653
  #
460
- # @param payment_type [Symbol, MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
654
+ # @return [Hash{Symbol=>String}, nil]
655
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
656
+
657
+ # @!method initialize(payment_type:, invoice_metadata: nil)
658
+ # Some parameter documentations has been truncated, see
659
+ # {MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
660
+ # for more details.
661
+ #
662
+ # Only applicable if using STRIPE as your payment gate type.
663
+ #
664
+ # @param payment_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
665
+ #
666
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
461
667
 
462
668
  # If left blank, will default to INVOICE
463
669
  #
464
- # @see MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
670
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
465
671
  module PaymentType
466
672
  extend MetronomeSDK::Internal::Type::Enum
467
673
 
@@ -477,12 +683,14 @@ module MetronomeSDK
477
683
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
478
684
  # will default to NONE.
479
685
  #
480
- # @see MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
686
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
481
687
  module TaxType
482
688
  extend MetronomeSDK::Internal::Type::Enum
483
689
 
484
690
  NONE = :NONE
485
691
  STRIPE = :STRIPE
692
+ ANROK = :ANROK
693
+ PRECALCULATED = :PRECALCULATED
486
694
 
487
695
  # @!method self.values
488
696
  # @return [Array<Symbol>]
@@ -499,13 +707,13 @@ module MetronomeSDK
499
707
  # @!attribute access_amount
500
708
  # The amount of commit to grant.
501
709
  #
502
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount]
710
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount]
503
711
  required :access_amount, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount }
504
712
 
505
713
  # @!attribute commit_duration
506
714
  # The amount of time the created commits will be valid for
507
715
  #
508
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration]
716
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration]
509
717
  required :commit_duration,
510
718
  -> {
511
719
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration
@@ -519,13 +727,13 @@ module MetronomeSDK
519
727
 
520
728
  # @!attribute product
521
729
  #
522
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product]
730
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product]
523
731
  required :product, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product }
524
732
 
525
733
  # @!attribute rate_type
526
734
  # Whether the created commits will use the commit rate or list rate
527
735
  #
528
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RateType]
736
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType]
529
737
  required :rate_type, enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RateType }
530
738
 
531
739
  # @!attribute starting_at
@@ -548,7 +756,7 @@ module MetronomeSDK
548
756
 
549
757
  # @!attribute contract
550
758
  #
551
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract, nil]
759
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract, nil]
552
760
  optional :contract, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract }
553
761
 
554
762
  # @!attribute description
@@ -566,7 +774,7 @@ module MetronomeSDK
566
774
  # @!attribute invoice_amount
567
775
  # The amount the customer should be billed for the commit. Not required.
568
776
  #
569
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount, nil]
777
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount, nil]
570
778
  optional :invoice_amount,
571
779
  -> {
572
780
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
@@ -588,17 +796,17 @@ module MetronomeSDK
588
796
  # Determines whether the first and last commit will be prorated. If not provided,
589
797
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
590
798
  #
591
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Proration, nil]
799
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration, nil]
592
800
  optional :proration, enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Proration }
593
801
 
594
802
  # @!attribute recurrence_frequency
595
803
  # The frequency at which the recurring commits will be created. If not provided: -
596
804
  # The commits will be created on the usage invoice frequency. If provided: - The
597
805
  # period defined in the duration will correspond to this frequency. - Commits will
598
- # be created aligned with the recurring commit's start_date rather than the usage
806
+ # be created aligned with the recurring commit's starting_at rather than the usage
599
807
  # invoice dates.
600
808
  #
601
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency, nil]
809
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency, nil]
602
810
  optional :recurrence_frequency,
603
811
  enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency }
604
812
 
@@ -610,21 +818,33 @@ module MetronomeSDK
610
818
  # @return [Float, nil]
611
819
  optional :rollover_fraction, Float
612
820
 
613
- # @!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)
821
+ # @!attribute specifiers
822
+ # List of filters that determine what kind of customer usage draws down a commit
823
+ # or credit. A customer's usage needs to meet the condition of at least one of the
824
+ # specifiers to contribute to a commit's or credit's drawdown.
825
+ #
826
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Specifier>, nil]
827
+ optional :specifiers,
828
+ -> {
829
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
830
+ }
831
+
832
+ # @!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)
614
833
  # Some parameter documentations has been truncated, see
615
- # {MetronomeSDK::ContractWithoutAmendments::RecurringCommit} for more details.
834
+ # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit} for more
835
+ # details.
616
836
  #
617
837
  # @param id [String]
618
838
  #
619
- # @param access_amount [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount] The amount of commit to grant.
839
+ # @param access_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount] The amount of commit to grant.
620
840
  #
621
- # @param commit_duration [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for
841
+ # @param commit_duration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for
622
842
  #
623
843
  # @param priority [Float] Will be passed down to the individual commits
624
844
  #
625
- # @param product [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product]
845
+ # @param product [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product]
626
846
  #
627
- # @param rate_type [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
847
+ # @param rate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
628
848
  #
629
849
  # @param starting_at [Time] Determines the start time for the first commit
630
850
  #
@@ -632,50 +852,52 @@ module MetronomeSDK
632
852
  #
633
853
  # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
634
854
  #
635
- # @param contract [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract]
855
+ # @param contract [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract]
636
856
  #
637
857
  # @param description [String] Will be passed down to the individual commits
638
858
  #
639
859
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
640
860
  #
641
- # @param invoice_amount [MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
861
+ # @param invoice_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
642
862
  #
643
863
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
644
864
  #
645
865
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
646
866
  #
647
- # @param proration [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
867
+ # @param proration [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
648
868
  #
649
- # @param recurrence_frequency [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
869
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
650
870
  #
651
871
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
872
+ #
873
+ # @param specifiers [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
652
874
 
653
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#access_amount
875
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#access_amount
654
876
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
655
877
  # @!attribute credit_type_id
656
878
  #
657
879
  # @return [String]
658
880
  required :credit_type_id, String
659
881
 
660
- # @!attribute quantity
661
- #
662
- # @return [Float]
663
- required :quantity, Float
664
-
665
882
  # @!attribute unit_price
666
883
  #
667
884
  # @return [Float]
668
885
  required :unit_price, Float
669
886
 
670
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
887
+ # @!attribute quantity
888
+ #
889
+ # @return [Float, nil]
890
+ optional :quantity, Float
891
+
892
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
671
893
  # The amount of commit to grant.
672
894
  #
673
895
  # @param credit_type_id [String]
674
- # @param quantity [Float]
675
896
  # @param unit_price [Float]
897
+ # @param quantity [Float]
676
898
  end
677
899
 
678
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#commit_duration
900
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#commit_duration
679
901
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
680
902
  # @!attribute value
681
903
  #
@@ -684,7 +906,7 @@ module MetronomeSDK
684
906
 
685
907
  # @!attribute unit
686
908
  #
687
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit, nil]
909
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit, nil]
688
910
  optional :unit,
689
911
  enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit }
690
912
 
@@ -692,9 +914,9 @@ module MetronomeSDK
692
914
  # The amount of time the created commits will be valid for
693
915
  #
694
916
  # @param value [Float]
695
- # @param unit [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit]
917
+ # @param unit [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit]
696
918
 
697
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration#unit
919
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration#unit
698
920
  module Unit
699
921
  extend MetronomeSDK::Internal::Type::Enum
700
922
 
@@ -705,7 +927,7 @@ module MetronomeSDK
705
927
  end
706
928
  end
707
929
 
708
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#product
930
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#product
709
931
  class Product < MetronomeSDK::Internal::Type::BaseModel
710
932
  # @!attribute id
711
933
  #
@@ -724,7 +946,7 @@ module MetronomeSDK
724
946
 
725
947
  # Whether the created commits will use the commit rate or list rate
726
948
  #
727
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#rate_type
949
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#rate_type
728
950
  module RateType
729
951
  extend MetronomeSDK::Internal::Type::Enum
730
952
 
@@ -735,7 +957,7 @@ module MetronomeSDK
735
957
  # @return [Array<Symbol>]
736
958
  end
737
959
 
738
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#contract
960
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#contract
739
961
  class Contract < MetronomeSDK::Internal::Type::BaseModel
740
962
  # @!attribute id
741
963
  #
@@ -746,7 +968,7 @@ module MetronomeSDK
746
968
  # @param id [String]
747
969
  end
748
970
 
749
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#invoice_amount
971
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#invoice_amount
750
972
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
751
973
  # @!attribute credit_type_id
752
974
  #
@@ -774,7 +996,7 @@ module MetronomeSDK
774
996
  # Determines whether the first and last commit will be prorated. If not provided,
775
997
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
776
998
  #
777
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#proration
999
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#proration
778
1000
  module Proration
779
1001
  extend MetronomeSDK::Internal::Type::Enum
780
1002
 
@@ -790,10 +1012,10 @@ module MetronomeSDK
790
1012
  # The frequency at which the recurring commits will be created. If not provided: -
791
1013
  # The commits will be created on the usage invoice frequency. If provided: - The
792
1014
  # period defined in the duration will correspond to this frequency. - Commits will
793
- # be created aligned with the recurring commit's start_date rather than the usage
1015
+ # be created aligned with the recurring commit's starting_at rather than the usage
794
1016
  # invoice dates.
795
1017
  #
796
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCommit#recurrence_frequency
1018
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#recurrence_frequency
797
1019
  module RecurrenceFrequency
798
1020
  extend MetronomeSDK::Internal::Type::Enum
799
1021
 
@@ -805,6 +1027,44 @@ module MetronomeSDK
805
1027
  # @!method self.values
806
1028
  # @return [Array<Symbol>]
807
1029
  end
1030
+
1031
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1032
+ # @!attribute presentation_group_values
1033
+ #
1034
+ # @return [Hash{Symbol=>String}, nil]
1035
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1036
+
1037
+ # @!attribute pricing_group_values
1038
+ #
1039
+ # @return [Hash{Symbol=>String}, nil]
1040
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1041
+
1042
+ # @!attribute product_id
1043
+ # If provided, the specifier will only apply to the product with the specified ID.
1044
+ #
1045
+ # @return [String, nil]
1046
+ optional :product_id, String
1047
+
1048
+ # @!attribute product_tags
1049
+ # If provided, the specifier will only apply to products with all the specified
1050
+ # tags.
1051
+ #
1052
+ # @return [Array<String>, nil]
1053
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1054
+
1055
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1056
+ # Some parameter documentations has been truncated, see
1057
+ # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Specifier}
1058
+ # for more details.
1059
+ #
1060
+ # @param presentation_group_values [Hash{Symbol=>String}]
1061
+ #
1062
+ # @param pricing_group_values [Hash{Symbol=>String}]
1063
+ #
1064
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1065
+ #
1066
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1067
+ end
808
1068
  end
809
1069
 
810
1070
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -816,13 +1076,13 @@ module MetronomeSDK
816
1076
  # @!attribute access_amount
817
1077
  # The amount of commit to grant.
818
1078
  #
819
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount]
1079
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount]
820
1080
  required :access_amount, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount }
821
1081
 
822
1082
  # @!attribute commit_duration
823
1083
  # The amount of time the created commits will be valid for
824
1084
  #
825
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration]
1085
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration]
826
1086
  required :commit_duration,
827
1087
  -> {
828
1088
  MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration
@@ -836,13 +1096,13 @@ module MetronomeSDK
836
1096
 
837
1097
  # @!attribute product
838
1098
  #
839
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product]
1099
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product]
840
1100
  required :product, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product }
841
1101
 
842
1102
  # @!attribute rate_type
843
1103
  # Whether the created commits will use the commit rate or list rate
844
1104
  #
845
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RateType]
1105
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType]
846
1106
  required :rate_type, enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RateType }
847
1107
 
848
1108
  # @!attribute starting_at
@@ -865,7 +1125,7 @@ module MetronomeSDK
865
1125
 
866
1126
  # @!attribute contract
867
1127
  #
868
- # @return [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract, nil]
1128
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract, nil]
869
1129
  optional :contract, -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract }
870
1130
 
871
1131
  # @!attribute description
@@ -896,17 +1156,17 @@ module MetronomeSDK
896
1156
  # Determines whether the first and last commit will be prorated. If not provided,
897
1157
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
898
1158
  #
899
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Proration, nil]
1159
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration, nil]
900
1160
  optional :proration, enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Proration }
901
1161
 
902
1162
  # @!attribute recurrence_frequency
903
1163
  # The frequency at which the recurring commits will be created. If not provided: -
904
1164
  # The commits will be created on the usage invoice frequency. If provided: - The
905
1165
  # period defined in the duration will correspond to this frequency. - Commits will
906
- # be created aligned with the recurring commit's start_date rather than the usage
1166
+ # be created aligned with the recurring commit's starting_at rather than the usage
907
1167
  # invoice dates.
908
1168
  #
909
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency, nil]
1169
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency, nil]
910
1170
  optional :recurrence_frequency,
911
1171
  enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency }
912
1172
 
@@ -918,21 +1178,33 @@ module MetronomeSDK
918
1178
  # @return [Float, nil]
919
1179
  optional :rollover_fraction, Float
920
1180
 
921
- # @!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)
1181
+ # @!attribute specifiers
1182
+ # List of filters that determine what kind of customer usage draws down a commit
1183
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1184
+ # specifiers to contribute to a commit's or credit's drawdown.
1185
+ #
1186
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Specifier>, nil]
1187
+ optional :specifiers,
1188
+ -> {
1189
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1190
+ }
1191
+
1192
+ # @!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)
922
1193
  # Some parameter documentations has been truncated, see
923
- # {MetronomeSDK::ContractWithoutAmendments::RecurringCredit} for more details.
1194
+ # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit} for more
1195
+ # details.
924
1196
  #
925
1197
  # @param id [String]
926
1198
  #
927
- # @param access_amount [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount] The amount of commit to grant.
1199
+ # @param access_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount] The amount of commit to grant.
928
1200
  #
929
- # @param commit_duration [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for
1201
+ # @param commit_duration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for
930
1202
  #
931
1203
  # @param priority [Float] Will be passed down to the individual commits
932
1204
  #
933
- # @param product [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product]
1205
+ # @param product [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product]
934
1206
  #
935
- # @param rate_type [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
1207
+ # @param rate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
936
1208
  #
937
1209
  # @param starting_at [Time] Determines the start time for the first commit
938
1210
  #
@@ -940,7 +1212,7 @@ module MetronomeSDK
940
1212
  #
941
1213
  # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
942
1214
  #
943
- # @param contract [MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract]
1215
+ # @param contract [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract]
944
1216
  #
945
1217
  # @param description [String] Will be passed down to the individual commits
946
1218
  #
@@ -950,38 +1222,40 @@ module MetronomeSDK
950
1222
  #
951
1223
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
952
1224
  #
953
- # @param proration [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1225
+ # @param proration [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
954
1226
  #
955
- # @param recurrence_frequency [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1227
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
956
1228
  #
957
1229
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1230
+ #
1231
+ # @param specifiers [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
958
1232
 
959
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#access_amount
1233
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#access_amount
960
1234
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
961
1235
  # @!attribute credit_type_id
962
1236
  #
963
1237
  # @return [String]
964
1238
  required :credit_type_id, String
965
1239
 
966
- # @!attribute quantity
967
- #
968
- # @return [Float]
969
- required :quantity, Float
970
-
971
1240
  # @!attribute unit_price
972
1241
  #
973
1242
  # @return [Float]
974
1243
  required :unit_price, Float
975
1244
 
976
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
1245
+ # @!attribute quantity
1246
+ #
1247
+ # @return [Float, nil]
1248
+ optional :quantity, Float
1249
+
1250
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
977
1251
  # The amount of commit to grant.
978
1252
  #
979
1253
  # @param credit_type_id [String]
980
- # @param quantity [Float]
981
1254
  # @param unit_price [Float]
1255
+ # @param quantity [Float]
982
1256
  end
983
1257
 
984
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#commit_duration
1258
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#commit_duration
985
1259
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
986
1260
  # @!attribute value
987
1261
  #
@@ -990,7 +1264,7 @@ module MetronomeSDK
990
1264
 
991
1265
  # @!attribute unit
992
1266
  #
993
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit, nil]
1267
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit, nil]
994
1268
  optional :unit,
995
1269
  enum: -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit }
996
1270
 
@@ -998,9 +1272,9 @@ module MetronomeSDK
998
1272
  # The amount of time the created commits will be valid for
999
1273
  #
1000
1274
  # @param value [Float]
1001
- # @param unit [Symbol, MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit]
1275
+ # @param unit [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit]
1002
1276
 
1003
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration#unit
1277
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration#unit
1004
1278
  module Unit
1005
1279
  extend MetronomeSDK::Internal::Type::Enum
1006
1280
 
@@ -1011,7 +1285,7 @@ module MetronomeSDK
1011
1285
  end
1012
1286
  end
1013
1287
 
1014
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#product
1288
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#product
1015
1289
  class Product < MetronomeSDK::Internal::Type::BaseModel
1016
1290
  # @!attribute id
1017
1291
  #
@@ -1030,7 +1304,7 @@ module MetronomeSDK
1030
1304
 
1031
1305
  # Whether the created commits will use the commit rate or list rate
1032
1306
  #
1033
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#rate_type
1307
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#rate_type
1034
1308
  module RateType
1035
1309
  extend MetronomeSDK::Internal::Type::Enum
1036
1310
 
@@ -1041,7 +1315,7 @@ module MetronomeSDK
1041
1315
  # @return [Array<Symbol>]
1042
1316
  end
1043
1317
 
1044
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#contract
1318
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#contract
1045
1319
  class Contract < MetronomeSDK::Internal::Type::BaseModel
1046
1320
  # @!attribute id
1047
1321
  #
@@ -1055,7 +1329,7 @@ module MetronomeSDK
1055
1329
  # Determines whether the first and last commit will be prorated. If not provided,
1056
1330
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1057
1331
  #
1058
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#proration
1332
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#proration
1059
1333
  module Proration
1060
1334
  extend MetronomeSDK::Internal::Type::Enum
1061
1335
 
@@ -1071,10 +1345,10 @@ module MetronomeSDK
1071
1345
  # The frequency at which the recurring commits will be created. If not provided: -
1072
1346
  # The commits will be created on the usage invoice frequency. If provided: - The
1073
1347
  # period defined in the duration will correspond to this frequency. - Commits will
1074
- # be created aligned with the recurring commit's start_date rather than the usage
1348
+ # be created aligned with the recurring commit's starting_at rather than the usage
1075
1349
  # invoice dates.
1076
1350
  #
1077
- # @see MetronomeSDK::ContractWithoutAmendments::RecurringCredit#recurrence_frequency
1351
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#recurrence_frequency
1078
1352
  module RecurrenceFrequency
1079
1353
  extend MetronomeSDK::Internal::Type::Enum
1080
1354
 
@@ -1086,6 +1360,44 @@ module MetronomeSDK
1086
1360
  # @!method self.values
1087
1361
  # @return [Array<Symbol>]
1088
1362
  end
1363
+
1364
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1365
+ # @!attribute presentation_group_values
1366
+ #
1367
+ # @return [Hash{Symbol=>String}, nil]
1368
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1369
+
1370
+ # @!attribute pricing_group_values
1371
+ #
1372
+ # @return [Hash{Symbol=>String}, nil]
1373
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1374
+
1375
+ # @!attribute product_id
1376
+ # If provided, the specifier will only apply to the product with the specified ID.
1377
+ #
1378
+ # @return [String, nil]
1379
+ optional :product_id, String
1380
+
1381
+ # @!attribute product_tags
1382
+ # If provided, the specifier will only apply to products with all the specified
1383
+ # tags.
1384
+ #
1385
+ # @return [Array<String>, nil]
1386
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1387
+
1388
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1389
+ # Some parameter documentations has been truncated, see
1390
+ # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Specifier}
1391
+ # for more details.
1392
+ #
1393
+ # @param presentation_group_values [Hash{Symbol=>String}]
1394
+ #
1395
+ # @param pricing_group_values [Hash{Symbol=>String}]
1396
+ #
1397
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1398
+ #
1399
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1400
+ end
1089
1401
  end
1090
1402
 
1091
1403
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -1101,7 +1413,7 @@ module MetronomeSDK
1101
1413
 
1102
1414
  # @!attribute reseller_type
1103
1415
  #
1104
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty::ResellerType]
1416
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType]
1105
1417
  required :reseller_type,
1106
1418
  enum: -> { MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty::ResellerType }
1107
1419
 
@@ -1158,7 +1470,7 @@ module MetronomeSDK
1158
1470
  # @!method initialize(fraction:, netsuite_reseller_id:, reseller_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, gcp_account_id: nil, gcp_offer_id: nil, reseller_contract_value: nil)
1159
1471
  # @param fraction [Float]
1160
1472
  # @param netsuite_reseller_id [String]
1161
- # @param reseller_type [Symbol, MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty::ResellerType]
1473
+ # @param reseller_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType]
1162
1474
  # @param starting_at [Time]
1163
1475
  # @param applicable_product_ids [Array<String>]
1164
1476
  # @param applicable_product_tags [Array<String>]
@@ -1170,7 +1482,7 @@ module MetronomeSDK
1170
1482
  # @param gcp_offer_id [String]
1171
1483
  # @param reseller_contract_value [Float]
1172
1484
 
1173
- # @see MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty#reseller_type
1485
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty#reseller_type
1174
1486
  module ResellerType
1175
1487
  extend MetronomeSDK::Internal::Type::Enum
1176
1488
 
@@ -1190,7 +1502,7 @@ module MetronomeSDK
1190
1502
  # after a Contract has been created. If this field is omitted, charges will appear
1191
1503
  # on a separate invoice from usage charges.
1192
1504
  #
1193
- # @see MetronomeSDK::ContractWithoutAmendments#scheduled_charges_on_usage_invoices
1505
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#scheduled_charges_on_usage_invoices
1194
1506
  module ScheduledChargesOnUsageInvoices
1195
1507
  extend MetronomeSDK::Internal::Type::Enum
1196
1508
 
@@ -1200,11 +1512,11 @@ module MetronomeSDK
1200
1512
  # @return [Array<Symbol>]
1201
1513
  end
1202
1514
 
1203
- # @see MetronomeSDK::ContractWithoutAmendments#spend_threshold_configuration
1515
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#spend_threshold_configuration
1204
1516
  class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1205
1517
  # @!attribute commit
1206
1518
  #
1207
- # @return [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1519
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1208
1520
  required :commit, -> { MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit }
1209
1521
 
1210
1522
  # @!attribute is_enabled
@@ -1217,7 +1529,7 @@ module MetronomeSDK
1217
1529
 
1218
1530
  # @!attribute payment_gate_config
1219
1531
  #
1220
- # @return [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1532
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1221
1533
  required :payment_gate_config,
1222
1534
  -> {
1223
1535
  MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig
@@ -1232,18 +1544,18 @@ module MetronomeSDK
1232
1544
 
1233
1545
  # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
1234
1546
  # Some parameter documentations has been truncated, see
1235
- # {MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration} for more
1236
- # details.
1547
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration}
1548
+ # for more details.
1237
1549
  #
1238
- # @param commit [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1550
+ # @param commit [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1239
1551
  #
1240
1552
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1241
1553
  #
1242
- # @param payment_gate_config [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1554
+ # @param payment_gate_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1243
1555
  #
1244
1556
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
1245
1557
 
1246
- # @see MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration#commit
1558
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration#commit
1247
1559
  class Commit < MetronomeSDK::Internal::Type::BaseModel
1248
1560
  # @!attribute product_id
1249
1561
  # The commit product that will be used to generate the line item for commit
@@ -1266,7 +1578,7 @@ module MetronomeSDK
1266
1578
 
1267
1579
  # @!method initialize(product_id:, description: nil, name: nil)
1268
1580
  # Some parameter documentations has been truncated, see
1269
- # {MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit}
1581
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit}
1270
1582
  # for more details.
1271
1583
  #
1272
1584
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
@@ -1276,7 +1588,7 @@ module MetronomeSDK
1276
1588
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1277
1589
  end
1278
1590
 
1279
- # @see MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration#payment_gate_config
1591
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration#payment_gate_config
1280
1592
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1281
1593
  # @!attribute payment_gate_type
1282
1594
  # Gate access to the commit balance based on successful collection of payment.
@@ -1284,16 +1596,25 @@ module MetronomeSDK
1284
1596
  # facilitate payment using your own payment integration. Select NONE if you do not
1285
1597
  # wish to payment gate the commit balance.
1286
1598
  #
1287
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1599
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1288
1600
  required :payment_gate_type,
1289
1601
  enum: -> {
1290
1602
  MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
1291
1603
  }
1292
1604
 
1605
+ # @!attribute precalculated_tax_config
1606
+ # Only applicable if using PRECALCULATED as your tax type.
1607
+ #
1608
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
1609
+ optional :precalculated_tax_config,
1610
+ -> {
1611
+ MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1612
+ }
1613
+
1293
1614
  # @!attribute stripe_config
1294
- # Only applicable if using Stripe as your payment gateway through Metronome.
1615
+ # Only applicable if using STRIPE as your payment gate type.
1295
1616
  #
1296
- # @return [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1617
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1297
1618
  optional :stripe_config,
1298
1619
  -> {
1299
1620
  MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -1304,29 +1625,31 @@ module MetronomeSDK
1304
1625
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1305
1626
  # will default to NONE.
1306
1627
  #
1307
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1628
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1308
1629
  optional :tax_type,
1309
1630
  enum: -> {
1310
1631
  MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType
1311
1632
  }
1312
1633
 
1313
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
1634
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
1314
1635
  # Some parameter documentations has been truncated, see
1315
- # {MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig}
1636
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig}
1316
1637
  # for more details.
1317
1638
  #
1318
- # @param payment_gate_type [Symbol, MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1639
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1640
+ #
1641
+ # @param precalculated_tax_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
1319
1642
  #
1320
- # @param stripe_config [MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1643
+ # @param stripe_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
1321
1644
  #
1322
- # @param tax_type [Symbol, MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1645
+ # @param tax_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1323
1646
 
1324
1647
  # Gate access to the commit balance based on successful collection of payment.
1325
1648
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1326
1649
  # facilitate payment using your own payment integration. Select NONE if you do not
1327
1650
  # wish to payment gate the commit balance.
1328
1651
  #
1329
- # @see MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
1652
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
1330
1653
  module PaymentGateType
1331
1654
  extend MetronomeSDK::Internal::Type::Enum
1332
1655
 
@@ -1338,25 +1661,66 @@ module MetronomeSDK
1338
1661
  # @return [Array<Symbol>]
1339
1662
  end
1340
1663
 
1341
- # @see MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
1664
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
1665
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1666
+ # @!attribute tax_amount
1667
+ # Amount of tax to be applied. This should be in the same currency and
1668
+ # denomination as the commit's invoice schedule
1669
+ #
1670
+ # @return [Float]
1671
+ required :tax_amount, Float
1672
+
1673
+ # @!attribute tax_name
1674
+ # Name of the tax to be applied. This may be used in an invoice line item
1675
+ # description.
1676
+ #
1677
+ # @return [String, nil]
1678
+ optional :tax_name, String
1679
+
1680
+ # @!method initialize(tax_amount:, tax_name: nil)
1681
+ # Some parameter documentations has been truncated, see
1682
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
1683
+ # for more details.
1684
+ #
1685
+ # Only applicable if using PRECALCULATED as your tax type.
1686
+ #
1687
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
1688
+ #
1689
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
1690
+ end
1691
+
1692
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
1342
1693
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1343
1694
  # @!attribute payment_type
1344
1695
  # If left blank, will default to INVOICE
1345
1696
  #
1346
- # @return [Symbol, MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1697
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1347
1698
  required :payment_type,
1348
1699
  enum: -> {
1349
1700
  MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1350
1701
  }
1351
1702
 
1352
- # @!method initialize(payment_type:)
1353
- # Only applicable if using Stripe as your payment gateway through Metronome.
1703
+ # @!attribute invoice_metadata
1704
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1705
+ # your payment type.
1706
+ #
1707
+ # @return [Hash{Symbol=>String}, nil]
1708
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
1709
+
1710
+ # @!method initialize(payment_type:, invoice_metadata: nil)
1711
+ # Some parameter documentations has been truncated, see
1712
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
1713
+ # for more details.
1714
+ #
1715
+ # Only applicable if using STRIPE as your payment gate type.
1716
+ #
1717
+ # @param payment_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1354
1718
  #
1355
- # @param payment_type [Symbol, MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1719
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1356
1720
 
1357
1721
  # If left blank, will default to INVOICE
1358
1722
  #
1359
- # @see MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1723
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1360
1724
  module PaymentType
1361
1725
  extend MetronomeSDK::Internal::Type::Enum
1362
1726
 
@@ -1372,12 +1736,14 @@ module MetronomeSDK
1372
1736
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1373
1737
  # will default to NONE.
1374
1738
  #
1375
- # @see MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#tax_type
1739
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#tax_type
1376
1740
  module TaxType
1377
1741
  extend MetronomeSDK::Internal::Type::Enum
1378
1742
 
1379
1743
  NONE = :NONE
1380
1744
  STRIPE = :STRIPE
1745
+ ANROK = :ANROK
1746
+ PRECALCULATED = :PRECALCULATED
1381
1747
 
1382
1748
  # @!method self.values
1383
1749
  # @return [Array<Symbol>]
@@ -1385,30 +1751,30 @@ module MetronomeSDK
1385
1751
  end
1386
1752
  end
1387
1753
 
1388
- # @see MetronomeSDK::ContractWithoutAmendments#usage_filter
1754
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#usage_filter
1389
1755
  class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
1390
1756
  # @!attribute current
1391
1757
  #
1392
- # @return [MetronomeSDK::BaseUsageFilter, nil]
1758
+ # @return [MetronomeSDK::Models::BaseUsageFilter, nil]
1393
1759
  required :current, -> { MetronomeSDK::BaseUsageFilter }, nil?: true
1394
1760
 
1395
1761
  # @!attribute initial
1396
1762
  #
1397
- # @return [MetronomeSDK::BaseUsageFilter]
1763
+ # @return [MetronomeSDK::Models::BaseUsageFilter]
1398
1764
  required :initial, -> { MetronomeSDK::BaseUsageFilter }
1399
1765
 
1400
1766
  # @!attribute updates
1401
1767
  #
1402
- # @return [Array<MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update>]
1768
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update>]
1403
1769
  required :updates,
1404
1770
  -> {
1405
1771
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1406
1772
  }
1407
1773
 
1408
1774
  # @!method initialize(current:, initial:, updates:)
1409
- # @param current [MetronomeSDK::BaseUsageFilter, nil]
1410
- # @param initial [MetronomeSDK::BaseUsageFilter]
1411
- # @param updates [Array<MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update>]
1775
+ # @param current [MetronomeSDK::Models::BaseUsageFilter, nil]
1776
+ # @param initial [MetronomeSDK::Models::BaseUsageFilter]
1777
+ # @param updates [Array<MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update>]
1412
1778
 
1413
1779
  class Update < MetronomeSDK::Internal::Type::BaseModel
1414
1780
  # @!attribute group_key