metronome-sdk 0.1.0.pre.alpha.3 → 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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -102,7 +102,7 @@ module MetronomeSDK
102
102
  -> { MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration }
103
103
 
104
104
  # @!attribute add_subscriptions
105
- # (beta) Optional list of
105
+ # Optional list of
106
106
  # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
107
107
  # to add to the contract.
108
108
  #
@@ -171,6 +171,13 @@ module MetronomeSDK
171
171
  # @return [Time, nil]
172
172
  optional :update_contract_end_date, Time, nil?: true
173
173
 
174
+ # @!attribute update_contract_name
175
+ # Value to update the contract name to. If not provided, the contract name will
176
+ # remain unchanged.
177
+ #
178
+ # @return [String, nil]
179
+ optional :update_contract_name, String, nil?: true
180
+
174
181
  # @!attribute update_credits
175
182
  #
176
183
  # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit>, nil]
@@ -222,7 +229,7 @@ module MetronomeSDK
222
229
  -> { MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration }
223
230
 
224
231
  # @!attribute update_subscriptions
225
- # (beta) Optional list of subscriptions to update.
232
+ # Optional list of subscriptions to update.
226
233
  #
227
234
  # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription>, nil]
228
235
  optional :update_subscriptions,
@@ -230,7 +237,7 @@ module MetronomeSDK
230
237
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]
231
238
  }
232
239
 
233
- # @!method initialize(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, allow_contract_ending_before_finalized_invoice: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, update_commits: nil, update_contract_end_date: nil, update_credits: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil, request_options: {})
240
+ # @!method initialize(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, allow_contract_ending_before_finalized_invoice: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, update_commits: nil, update_contract_end_date: nil, update_contract_name: nil, update_credits: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil, request_options: {})
234
241
  # Some parameter documentations has been truncated, see
235
242
  # {MetronomeSDK::Models::V2::ContractEditParams} for more details.
236
243
  #
@@ -260,7 +267,7 @@ module MetronomeSDK
260
267
  #
261
268
  # @param add_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration]
262
269
  #
263
- # @param add_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::AddSubscription>] (beta) Optional list of [subscriptions](https://docs.metronome.com/manage-produc
270
+ # @param add_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::AddSubscription>] Optional list of [subscriptions](https://docs.metronome.com/manage-product-acces
264
271
  #
265
272
  # @param allow_contract_ending_before_finalized_invoice [Boolean] If true, allows setting the contract end date earlier than the end_timestamp of
266
273
  #
@@ -276,6 +283,8 @@ module MetronomeSDK
276
283
  #
277
284
  # @param update_contract_end_date [Time, nil] RFC 3339 timestamp indicating when the contract will end (exclusive).
278
285
  #
286
+ # @param update_contract_name [String, nil] Value to update the contract name to. If not provided, the contract name will re
287
+ #
279
288
  # @param update_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit>]
280
289
  #
281
290
  # @param update_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration]
@@ -288,7 +297,7 @@ module MetronomeSDK
288
297
  #
289
298
  # @param update_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration]
290
299
  #
291
- # @param update_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription>] (beta) Optional list of subscriptions to update.
300
+ # @param update_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription>] Optional list of subscriptions to update.
292
301
  #
293
302
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
294
303
 
@@ -318,15 +327,17 @@ module MetronomeSDK
318
327
  optional :amount, Float
319
328
 
320
329
  # @!attribute applicable_product_ids
321
- # Which products the commit applies to. If both applicable_product_ids and
322
- # applicable_product_tags are not provided, the commit applies to all products.
330
+ # Which products the commit applies to. If applicable_product_ids,
331
+ # applicable_product_tags or specifiers are not provided, the commit applies to
332
+ # all products.
323
333
  #
324
334
  # @return [Array<String>, nil]
325
335
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
326
336
 
327
337
  # @!attribute applicable_product_tags
328
- # Which tags the commit applies to. If both applicable_product_ids and
329
- # applicable_product_tags are not provided, the commit applies to all products.
338
+ # Which tags the commit applies to. If applicable_product_ids,
339
+ # applicable_product_tags or specifiers are not provided, the commit applies to
340
+ # all products.
330
341
  #
331
342
  # @return [Array<String>, nil]
332
343
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -342,6 +353,13 @@ module MetronomeSDK
342
353
  # @return [String, nil]
343
354
  optional :description, String
344
355
 
356
+ # @!attribute hierarchy_configuration
357
+ # Optional configuration for commit hierarchy access control
358
+ #
359
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration, nil]
360
+ optional :hierarchy_configuration,
361
+ -> { MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration }
362
+
345
363
  # @!attribute invoice_schedule
346
364
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
347
365
  # time and only one schedule item is allowed; the total must match access_schedule
@@ -409,7 +427,7 @@ module MetronomeSDK
409
427
  # @return [String, nil]
410
428
  optional :temporary_id, String
411
429
 
412
- # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
430
+ # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
413
431
  # Some parameter documentations has been truncated, see
414
432
  # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit} for more details.
415
433
  #
@@ -421,14 +439,16 @@ module MetronomeSDK
421
439
  #
422
440
  # @param amount [Float] (DEPRECATED) Use access_schedule and invoice_schedule instead.
423
441
  #
424
- # @param applicable_product_ids [Array<String>] Which products the commit applies to. If both applicable_product_ids and applica
442
+ # @param applicable_product_ids [Array<String>] Which products the commit applies to. If applicable_product_ids, applicable_prod
425
443
  #
426
- # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If both applicable*product_ids and applicable*
444
+ # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If applicable*product_ids, applicable_product*
427
445
  #
428
446
  # @param custom_fields [Hash{Symbol=>String}]
429
447
  #
430
448
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
431
449
  #
450
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
451
+ #
432
452
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
433
453
  #
434
454
  # @param name [String] displayed on invoices
@@ -508,6 +528,117 @@ module MetronomeSDK
508
528
  end
509
529
  end
510
530
 
531
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#hierarchy_configuration
532
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
533
+ # @!attribute child_access
534
+ #
535
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
536
+ required :child_access,
537
+ union: -> {
538
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess
539
+ }
540
+
541
+ # @!method initialize(child_access:)
542
+ # Optional configuration for commit hierarchy access control
543
+ #
544
+ # @param child_access [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
545
+
546
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration#child_access
547
+ module ChildAccess
548
+ extend MetronomeSDK::Internal::Type::Union
549
+
550
+ variant -> {
551
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
552
+ }
553
+
554
+ variant -> {
555
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
556
+ }
557
+
558
+ variant -> {
559
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
560
+ }
561
+
562
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
563
+ # @!attribute type
564
+ #
565
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
566
+ required :type,
567
+ enum: -> {
568
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
569
+ }
570
+
571
+ # @!method initialize(type:)
572
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
573
+
574
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
575
+ module Type
576
+ extend MetronomeSDK::Internal::Type::Enum
577
+
578
+ ALL = :ALL
579
+
580
+ # @!method self.values
581
+ # @return [Array<Symbol>]
582
+ end
583
+ end
584
+
585
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
586
+ # @!attribute type
587
+ #
588
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
589
+ required :type,
590
+ enum: -> {
591
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
592
+ }
593
+
594
+ # @!method initialize(type:)
595
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
596
+
597
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
598
+ module Type
599
+ extend MetronomeSDK::Internal::Type::Enum
600
+
601
+ NONE = :NONE
602
+
603
+ # @!method self.values
604
+ # @return [Array<Symbol>]
605
+ end
606
+ end
607
+
608
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
609
+ # @!attribute contract_ids
610
+ #
611
+ # @return [Array<String>]
612
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
613
+
614
+ # @!attribute type
615
+ #
616
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
617
+ required :type,
618
+ enum: -> {
619
+ MetronomeSDK::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
620
+ }
621
+
622
+ # @!method initialize(contract_ids:, type:)
623
+ # @param contract_ids [Array<String>]
624
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
625
+
626
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
627
+ module Type
628
+ extend MetronomeSDK::Internal::Type::Enum
629
+
630
+ CONTRACT_IDS = :CONTRACT_IDS
631
+
632
+ # @!method self.values
633
+ # @return [Array<Symbol>]
634
+ end
635
+ end
636
+
637
+ # @!method self.variants
638
+ # @return [Array(MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
639
+ end
640
+ end
641
+
511
642
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#invoice_schedule
512
643
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
513
644
  # @!attribute credit_type_id
@@ -716,8 +847,17 @@ module MetronomeSDK
716
847
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType
717
848
  }
718
849
 
850
+ # @!attribute precalculated_tax_config
851
+ # Only applicable if using PRECALCULATED as your tax type.
852
+ #
853
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig, nil]
854
+ optional :precalculated_tax_config,
855
+ -> {
856
+ MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig
857
+ }
858
+
719
859
  # @!attribute stripe_config
720
- # Only applicable if using Stripe as your payment gateway through Metronome.
860
+ # Only applicable if using STRIPE as your payment gateway type.
721
861
  #
722
862
  # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig, nil]
723
863
  optional :stripe_config,
@@ -732,7 +872,7 @@ module MetronomeSDK
732
872
  optional :tax_type,
733
873
  enum: -> { MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType }
734
874
 
735
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
875
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
736
876
  # Some parameter documentations has been truncated, see
737
877
  # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig} for
738
878
  # more details.
@@ -741,7 +881,9 @@ module MetronomeSDK
741
881
  #
742
882
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
743
883
  #
744
- # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
884
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
885
+ #
886
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
745
887
  #
746
888
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
747
889
 
@@ -762,6 +904,34 @@ module MetronomeSDK
762
904
  # @return [Array<Symbol>]
763
905
  end
764
906
 
907
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#precalculated_tax_config
908
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
909
+ # @!attribute tax_amount
910
+ # Amount of tax to be applied. This should be in the same currency and
911
+ # denomination as the commit's invoice schedule
912
+ #
913
+ # @return [Float]
914
+ required :tax_amount, Float
915
+
916
+ # @!attribute tax_name
917
+ # Name of the tax to be applied. This may be used in an invoice line item
918
+ # description.
919
+ #
920
+ # @return [String, nil]
921
+ optional :tax_name, String
922
+
923
+ # @!method initialize(tax_amount:, tax_name: nil)
924
+ # Some parameter documentations has been truncated, see
925
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PrecalculatedTaxConfig}
926
+ # for more details.
927
+ #
928
+ # Only applicable if using PRECALCULATED as your tax type.
929
+ #
930
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
931
+ #
932
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
933
+ end
934
+
765
935
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#stripe_config
766
936
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
767
937
  # @!attribute payment_type
@@ -773,10 +943,23 @@ module MetronomeSDK
773
943
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType
774
944
  }
775
945
 
776
- # @!method initialize(payment_type:)
777
- # Only applicable if using Stripe as your payment gateway through Metronome.
946
+ # @!attribute invoice_metadata
947
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
948
+ # your payment type.
949
+ #
950
+ # @return [Hash{Symbol=>String}, nil]
951
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
952
+
953
+ # @!method initialize(payment_type:, invoice_metadata: nil)
954
+ # Some parameter documentations has been truncated, see
955
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig}
956
+ # for more details.
957
+ #
958
+ # Only applicable if using STRIPE as your payment gateway type.
778
959
  #
779
960
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
961
+ #
962
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
780
963
 
781
964
  # If left blank, will default to INVOICE
782
965
  #
@@ -802,6 +985,8 @@ module MetronomeSDK
802
985
 
803
986
  NONE = :NONE
804
987
  STRIPE = :STRIPE
988
+ ANROK = :ANROK
989
+ PRECALCULATED = :PRECALCULATED
805
990
 
806
991
  # @!method self.values
807
992
  # @return [Array<Symbol>]
@@ -895,6 +1080,13 @@ module MetronomeSDK
895
1080
  # @return [String, nil]
896
1081
  optional :description, String
897
1082
 
1083
+ # @!attribute hierarchy_configuration
1084
+ # Optional configuration for credit hierarchy access control
1085
+ #
1086
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration, nil]
1087
+ optional :hierarchy_configuration,
1088
+ -> { MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration }
1089
+
898
1090
  # @!attribute name
899
1091
  # displayed on invoices
900
1092
  #
@@ -931,7 +1123,7 @@ module MetronomeSDK
931
1123
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
932
1124
  }
933
1125
 
934
- # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
1126
+ # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
935
1127
  # Some parameter documentations has been truncated, see
936
1128
  # {MetronomeSDK::Models::V2::ContractEditParams::AddCredit} for more details.
937
1129
  #
@@ -947,6 +1139,8 @@ module MetronomeSDK
947
1139
  #
948
1140
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
949
1141
  #
1142
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1143
+ #
950
1144
  # @param name [String] displayed on invoices
951
1145
  #
952
1146
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
@@ -1005,6 +1199,117 @@ module MetronomeSDK
1005
1199
  end
1006
1200
  end
1007
1201
 
1202
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#hierarchy_configuration
1203
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1204
+ # @!attribute child_access
1205
+ #
1206
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1207
+ required :child_access,
1208
+ union: -> {
1209
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess
1210
+ }
1211
+
1212
+ # @!method initialize(child_access:)
1213
+ # Optional configuration for credit hierarchy access control
1214
+ #
1215
+ # @param child_access [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1216
+
1217
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration#child_access
1218
+ module ChildAccess
1219
+ extend MetronomeSDK::Internal::Type::Union
1220
+
1221
+ variant -> {
1222
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1223
+ }
1224
+
1225
+ variant -> {
1226
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1227
+ }
1228
+
1229
+ variant -> {
1230
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1231
+ }
1232
+
1233
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1234
+ # @!attribute type
1235
+ #
1236
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1237
+ required :type,
1238
+ enum: -> {
1239
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1240
+ }
1241
+
1242
+ # @!method initialize(type:)
1243
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1244
+
1245
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1246
+ module Type
1247
+ extend MetronomeSDK::Internal::Type::Enum
1248
+
1249
+ ALL = :ALL
1250
+
1251
+ # @!method self.values
1252
+ # @return [Array<Symbol>]
1253
+ end
1254
+ end
1255
+
1256
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1257
+ # @!attribute type
1258
+ #
1259
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1260
+ required :type,
1261
+ enum: -> {
1262
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1263
+ }
1264
+
1265
+ # @!method initialize(type:)
1266
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1267
+
1268
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1269
+ module Type
1270
+ extend MetronomeSDK::Internal::Type::Enum
1271
+
1272
+ NONE = :NONE
1273
+
1274
+ # @!method self.values
1275
+ # @return [Array<Symbol>]
1276
+ end
1277
+ end
1278
+
1279
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1280
+ # @!attribute contract_ids
1281
+ #
1282
+ # @return [Array<String>]
1283
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1284
+
1285
+ # @!attribute type
1286
+ #
1287
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1288
+ required :type,
1289
+ enum: -> {
1290
+ MetronomeSDK::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1291
+ }
1292
+
1293
+ # @!method initialize(contract_ids:, type:)
1294
+ # @param contract_ids [Array<String>]
1295
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1296
+
1297
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1298
+ module Type
1299
+ extend MetronomeSDK::Internal::Type::Enum
1300
+
1301
+ CONTRACT_IDS = :CONTRACT_IDS
1302
+
1303
+ # @!method self.values
1304
+ # @return [Array<Symbol>]
1305
+ end
1306
+ end
1307
+
1308
+ # @!method self.variants
1309
+ # @return [Array(MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1310
+ end
1311
+ end
1312
+
1008
1313
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#rate_type
1009
1314
  module RateType
1010
1315
  extend MetronomeSDK::Internal::Type::Enum
@@ -1548,11 +1853,8 @@ module MetronomeSDK
1548
1853
  # @!attribute tiers
1549
1854
  # Only set for TIERED rate_type.
1550
1855
  #
1551
- # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::Tier>, nil]
1552
- optional :tiers,
1553
- -> {
1554
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier]
1555
- }
1856
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1857
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1556
1858
 
1557
1859
  # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1558
1860
  # Some parameter documentations has been truncated, see
@@ -1573,7 +1875,7 @@ module MetronomeSDK
1573
1875
  #
1574
1876
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1575
1877
  #
1576
- # @param tiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::Tier>] Only set for TIERED rate_type.
1878
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1577
1879
 
1578
1880
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate#rate_type
1579
1881
  module RateType
@@ -1588,22 +1890,6 @@ module MetronomeSDK
1588
1890
  # @!method self.values
1589
1891
  # @return [Array<Symbol>]
1590
1892
  end
1591
-
1592
- class Tier < MetronomeSDK::Internal::Type::BaseModel
1593
- # @!attribute price
1594
- #
1595
- # @return [Float]
1596
- required :price, Float
1597
-
1598
- # @!attribute size
1599
- #
1600
- # @return [Float, nil]
1601
- optional :size, Float
1602
-
1603
- # @!method initialize(price:, size: nil)
1604
- # @param price [Float]
1605
- # @param size [Float]
1606
- end
1607
1893
  end
1608
1894
 
1609
1895
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -1690,7 +1976,14 @@ module MetronomeSDK
1690
1976
  # @return [Float]
1691
1977
  required :threshold_amount, Float
1692
1978
 
1693
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
1979
+ # @!attribute custom_credit_type_id
1980
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
1981
+ # commit amount will be in terms of this credit type instead of the fiat currency.
1982
+ #
1983
+ # @return [String, nil]
1984
+ optional :custom_credit_type_id, String
1985
+
1986
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
1694
1987
  # Some parameter documentations has been truncated, see
1695
1988
  # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration}
1696
1989
  # for more details.
@@ -1704,6 +1997,8 @@ module MetronomeSDK
1704
1997
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1705
1998
  #
1706
1999
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2000
+ #
2001
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
1707
2002
 
1708
2003
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration#commit
1709
2004
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -1715,16 +2010,17 @@ module MetronomeSDK
1715
2010
  required :product_id, String
1716
2011
 
1717
2012
  # @!attribute applicable_product_ids
1718
- # Which products the threshold commit applies to. If both applicable_product_ids
1719
- # and applicable_product_tags are not provided, the commit applies to all
1720
- # products.
2013
+ # Which products the threshold commit applies to. If applicable_product_ids,
2014
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2015
+ # all products.
1721
2016
  #
1722
2017
  # @return [Array<String>, nil]
1723
2018
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1724
2019
 
1725
2020
  # @!attribute applicable_product_tags
1726
- # Which tags the threshold commit applies to. If both applicable_product_ids and
1727
- # applicable_product_tags are not provided, the commit applies to all products.
2021
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2022
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2023
+ # all products.
1728
2024
  #
1729
2025
  # @return [Array<String>, nil]
1730
2026
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -1760,9 +2056,9 @@ module MetronomeSDK
1760
2056
  #
1761
2057
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1762
2058
  #
1763
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2059
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
1764
2060
  #
1765
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2061
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
1766
2062
  #
1767
2063
  # @param description [String]
1768
2064
  #
@@ -1823,8 +2119,17 @@ module MetronomeSDK
1823
2119
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
1824
2120
  }
1825
2121
 
2122
+ # @!attribute precalculated_tax_config
2123
+ # Only applicable if using PRECALCULATED as your tax type.
2124
+ #
2125
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2126
+ optional :precalculated_tax_config,
2127
+ -> {
2128
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2129
+ }
2130
+
1826
2131
  # @!attribute stripe_config
1827
- # Only applicable if using Stripe as your payment gateway through Metronome.
2132
+ # Only applicable if using STRIPE as your payment gateway type.
1828
2133
  #
1829
2134
  # @return [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1830
2135
  optional :stripe_config,
@@ -1843,14 +2148,16 @@ module MetronomeSDK
1843
2148
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
1844
2149
  }
1845
2150
 
1846
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2151
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
1847
2152
  # Some parameter documentations has been truncated, see
1848
2153
  # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1849
2154
  # for more details.
1850
2155
  #
1851
2156
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1852
2157
  #
1853
- # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2158
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2159
+ #
2160
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
1854
2161
  #
1855
2162
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1856
2163
 
@@ -1871,6 +2178,34 @@ module MetronomeSDK
1871
2178
  # @return [Array<Symbol>]
1872
2179
  end
1873
2180
 
2181
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2182
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2183
+ # @!attribute tax_amount
2184
+ # Amount of tax to be applied. This should be in the same currency and
2185
+ # denomination as the commit's invoice schedule
2186
+ #
2187
+ # @return [Float]
2188
+ required :tax_amount, Float
2189
+
2190
+ # @!attribute tax_name
2191
+ # Name of the tax to be applied. This may be used in an invoice line item
2192
+ # description.
2193
+ #
2194
+ # @return [String, nil]
2195
+ optional :tax_name, String
2196
+
2197
+ # @!method initialize(tax_amount:, tax_name: nil)
2198
+ # Some parameter documentations has been truncated, see
2199
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2200
+ # for more details.
2201
+ #
2202
+ # Only applicable if using PRECALCULATED as your tax type.
2203
+ #
2204
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2205
+ #
2206
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2207
+ end
2208
+
1874
2209
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1875
2210
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1876
2211
  # @!attribute payment_type
@@ -1882,10 +2217,23 @@ module MetronomeSDK
1882
2217
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1883
2218
  }
1884
2219
 
1885
- # @!method initialize(payment_type:)
1886
- # Only applicable if using Stripe as your payment gateway through Metronome.
2220
+ # @!attribute invoice_metadata
2221
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2222
+ # your payment type.
2223
+ #
2224
+ # @return [Hash{Symbol=>String}, nil]
2225
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2226
+
2227
+ # @!method initialize(payment_type:, invoice_metadata: nil)
2228
+ # Some parameter documentations has been truncated, see
2229
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2230
+ # for more details.
2231
+ #
2232
+ # Only applicable if using STRIPE as your payment gateway type.
1887
2233
  #
1888
2234
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2235
+ #
2236
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1889
2237
 
1890
2238
  # If left blank, will default to INVOICE
1891
2239
  #
@@ -1911,6 +2259,8 @@ module MetronomeSDK
1911
2259
 
1912
2260
  NONE = :NONE
1913
2261
  STRIPE = :STRIPE
2262
+ ANROK = :ANROK
2263
+ PRECALCULATED = :PRECALCULATED
1914
2264
 
1915
2265
  # @!method self.values
1916
2266
  # @return [Array<Symbol>]
@@ -2165,22 +2515,30 @@ module MetronomeSDK
2165
2515
  # @return [String]
2166
2516
  required :credit_type_id, String
2167
2517
 
2168
- # @!attribute quantity
2169
- #
2170
- # @return [Float]
2171
- required :quantity, Float
2172
-
2173
2518
  # @!attribute unit_price
2174
2519
  #
2175
2520
  # @return [Float]
2176
2521
  required :unit_price, Float
2177
2522
 
2178
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2523
+ # @!attribute quantity
2524
+ # This field is currently required. Upcoming recurring commit/credit configuration
2525
+ # options will allow it to be optional.
2526
+ #
2527
+ # @return [Float, nil]
2528
+ optional :quantity, Float
2529
+
2530
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2531
+ # Some parameter documentations has been truncated, see
2532
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::AccessAmount}
2533
+ # for more details.
2534
+ #
2179
2535
  # The amount of commit to grant.
2180
2536
  #
2181
2537
  # @param credit_type_id [String]
2182
- # @param quantity [Float]
2538
+ #
2183
2539
  # @param unit_price [Float]
2540
+ #
2541
+ # @param quantity [Float] This field is currently required. Upcoming recurring commit/credit configuration
2184
2542
  end
2185
2543
 
2186
2544
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#commit_duration
@@ -2503,22 +2861,30 @@ module MetronomeSDK
2503
2861
  # @return [String]
2504
2862
  required :credit_type_id, String
2505
2863
 
2506
- # @!attribute quantity
2507
- #
2508
- # @return [Float]
2509
- required :quantity, Float
2510
-
2511
2864
  # @!attribute unit_price
2512
2865
  #
2513
2866
  # @return [Float]
2514
2867
  required :unit_price, Float
2515
2868
 
2516
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2869
+ # @!attribute quantity
2870
+ # This field is currently required. Upcoming recurring commit/credit configuration
2871
+ # options will allow it to be optional.
2872
+ #
2873
+ # @return [Float, nil]
2874
+ optional :quantity, Float
2875
+
2876
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2877
+ # Some parameter documentations has been truncated, see
2878
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::AccessAmount}
2879
+ # for more details.
2880
+ #
2517
2881
  # The amount of commit to grant.
2518
2882
  #
2519
2883
  # @param credit_type_id [String]
2520
- # @param quantity [Float]
2884
+ #
2521
2885
  # @param unit_price [Float]
2886
+ #
2887
+ # @param quantity [Float] This field is currently required. Upcoming recurring commit/credit configuration
2522
2888
  end
2523
2889
 
2524
2890
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#commit_duration
@@ -3089,8 +3455,17 @@ module MetronomeSDK
3089
3455
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
3090
3456
  }
3091
3457
 
3458
+ # @!attribute precalculated_tax_config
3459
+ # Only applicable if using PRECALCULATED as your tax type.
3460
+ #
3461
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
3462
+ optional :precalculated_tax_config,
3463
+ -> {
3464
+ MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3465
+ }
3466
+
3092
3467
  # @!attribute stripe_config
3093
- # Only applicable if using Stripe as your payment gateway through Metronome.
3468
+ # Only applicable if using STRIPE as your payment gateway type.
3094
3469
  #
3095
3470
  # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3096
3471
  optional :stripe_config,
@@ -3109,14 +3484,16 @@ module MetronomeSDK
3109
3484
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType
3110
3485
  }
3111
3486
 
3112
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3487
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3113
3488
  # Some parameter documentations has been truncated, see
3114
3489
  # {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig}
3115
3490
  # for more details.
3116
3491
  #
3117
3492
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3118
3493
  #
3119
- # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3494
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
3495
+ #
3496
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
3120
3497
  #
3121
3498
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3122
3499
 
@@ -3137,6 +3514,34 @@ module MetronomeSDK
3137
3514
  # @return [Array<Symbol>]
3138
3515
  end
3139
3516
 
3517
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
3518
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3519
+ # @!attribute tax_amount
3520
+ # Amount of tax to be applied. This should be in the same currency and
3521
+ # denomination as the commit's invoice schedule
3522
+ #
3523
+ # @return [Float]
3524
+ required :tax_amount, Float
3525
+
3526
+ # @!attribute tax_name
3527
+ # Name of the tax to be applied. This may be used in an invoice line item
3528
+ # description.
3529
+ #
3530
+ # @return [String, nil]
3531
+ optional :tax_name, String
3532
+
3533
+ # @!method initialize(tax_amount:, tax_name: nil)
3534
+ # Some parameter documentations has been truncated, see
3535
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
3536
+ # for more details.
3537
+ #
3538
+ # Only applicable if using PRECALCULATED as your tax type.
3539
+ #
3540
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
3541
+ #
3542
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
3543
+ end
3544
+
3140
3545
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#stripe_config
3141
3546
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3142
3547
  # @!attribute payment_type
@@ -3148,10 +3553,23 @@ module MetronomeSDK
3148
3553
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
3149
3554
  }
3150
3555
 
3151
- # @!method initialize(payment_type:)
3152
- # Only applicable if using Stripe as your payment gateway through Metronome.
3556
+ # @!attribute invoice_metadata
3557
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3558
+ # your payment type.
3559
+ #
3560
+ # @return [Hash{Symbol=>String}, nil]
3561
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
3562
+
3563
+ # @!method initialize(payment_type:, invoice_metadata: nil)
3564
+ # Some parameter documentations has been truncated, see
3565
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
3566
+ # for more details.
3567
+ #
3568
+ # Only applicable if using STRIPE as your payment gateway type.
3153
3569
  #
3154
3570
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3571
+ #
3572
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3155
3573
 
3156
3574
  # If left blank, will default to INVOICE
3157
3575
  #
@@ -3177,6 +3595,8 @@ module MetronomeSDK
3177
3595
 
3178
3596
  NONE = :NONE
3179
3597
  STRIPE = :STRIPE
3598
+ ANROK = :ANROK
3599
+ PRECALCULATED = :PRECALCULATED
3180
3600
 
3181
3601
  # @!method self.values
3182
3602
  # @return [Array<Symbol>]
@@ -3413,19 +3833,28 @@ module MetronomeSDK
3413
3833
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule }
3414
3834
 
3415
3835
  # @!attribute applicable_product_ids
3416
- # Which products the commit applies to. If both applicable_product_ids and
3417
- # applicable_product_tags are not provided, the commit applies to all products.
3836
+ # Which products the commit applies to. If applicable_product_ids,
3837
+ # applicable_product_tags or specifiers are not provided, the commit applies to
3838
+ # all products.
3418
3839
  #
3419
3840
  # @return [Array<String>, nil]
3420
3841
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
3421
3842
 
3422
3843
  # @!attribute applicable_product_tags
3423
- # Which tags the commit applies to. If both applicable_product_ids and
3424
- # applicable_product_tags are not provided, the commit applies to all products.
3844
+ # Which tags the commit applies to. If applicable_product_ids,
3845
+ # applicable_product_tags or specifiers are not provided, the commit applies to
3846
+ # all products.
3425
3847
  #
3426
3848
  # @return [Array<String>, nil]
3427
3849
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
3428
3850
 
3851
+ # @!attribute hierarchy_configuration
3852
+ # Optional configuration for commit hierarchy access control
3853
+ #
3854
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration, nil]
3855
+ optional :hierarchy_configuration,
3856
+ -> { MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration }
3857
+
3429
3858
  # @!attribute invoice_schedule
3430
3859
  #
3431
3860
  # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule, nil]
@@ -3449,7 +3878,7 @@ module MetronomeSDK
3449
3878
  # @return [Float, nil]
3450
3879
  optional :rollover_fraction, Float, nil?: true
3451
3880
 
3452
- # @!method initialize(commit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil)
3881
+ # @!method initialize(commit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, invoice_schedule: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil)
3453
3882
  # Some parameter documentations has been truncated, see
3454
3883
  # {MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit} for more details.
3455
3884
  #
@@ -3457,9 +3886,11 @@ module MetronomeSDK
3457
3886
  #
3458
3887
  # @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule]
3459
3888
  #
3460
- # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
3889
+ # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If applicable_product_ids, applicable_prod
3890
+ #
3891
+ # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
3461
3892
  #
3462
- # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
3893
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
3463
3894
  #
3464
3895
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule]
3465
3896
  #
@@ -3561,6 +3992,117 @@ module MetronomeSDK
3561
3992
  end
3562
3993
  end
3563
3994
 
3995
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit#hierarchy_configuration
3996
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3997
+ # @!attribute child_access
3998
+ #
3999
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
4000
+ required :child_access,
4001
+ union: -> {
4002
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess
4003
+ }
4004
+
4005
+ # @!method initialize(child_access:)
4006
+ # Optional configuration for commit hierarchy access control
4007
+ #
4008
+ # @param child_access [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
4009
+
4010
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration#child_access
4011
+ module ChildAccess
4012
+ extend MetronomeSDK::Internal::Type::Union
4013
+
4014
+ variant -> {
4015
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
4016
+ }
4017
+
4018
+ variant -> {
4019
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
4020
+ }
4021
+
4022
+ variant -> {
4023
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
4024
+ }
4025
+
4026
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
4027
+ # @!attribute type
4028
+ #
4029
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
4030
+ required :type,
4031
+ enum: -> {
4032
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
4033
+ }
4034
+
4035
+ # @!method initialize(type:)
4036
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
4037
+
4038
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
4039
+ module Type
4040
+ extend MetronomeSDK::Internal::Type::Enum
4041
+
4042
+ ALL = :ALL
4043
+
4044
+ # @!method self.values
4045
+ # @return [Array<Symbol>]
4046
+ end
4047
+ end
4048
+
4049
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
4050
+ # @!attribute type
4051
+ #
4052
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
4053
+ required :type,
4054
+ enum: -> {
4055
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
4056
+ }
4057
+
4058
+ # @!method initialize(type:)
4059
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
4060
+
4061
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
4062
+ module Type
4063
+ extend MetronomeSDK::Internal::Type::Enum
4064
+
4065
+ NONE = :NONE
4066
+
4067
+ # @!method self.values
4068
+ # @return [Array<Symbol>]
4069
+ end
4070
+ end
4071
+
4072
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
4073
+ # @!attribute contract_ids
4074
+ #
4075
+ # @return [Array<String>]
4076
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
4077
+
4078
+ # @!attribute type
4079
+ #
4080
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
4081
+ required :type,
4082
+ enum: -> {
4083
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
4084
+ }
4085
+
4086
+ # @!method initialize(contract_ids:, type:)
4087
+ # @param contract_ids [Array<String>]
4088
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
4089
+
4090
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
4091
+ module Type
4092
+ extend MetronomeSDK::Internal::Type::Enum
4093
+
4094
+ CONTRACT_IDS = :CONTRACT_IDS
4095
+
4096
+ # @!method self.values
4097
+ # @return [Array<Symbol>]
4098
+ end
4099
+ end
4100
+
4101
+ # @!method self.variants
4102
+ # @return [Array(MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
4103
+ end
4104
+ end
4105
+
3564
4106
  # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit#invoice_schedule
3565
4107
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3566
4108
  # @!attribute add_schedule_items
@@ -3678,19 +4220,28 @@ module MetronomeSDK
3678
4220
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule }
3679
4221
 
3680
4222
  # @!attribute applicable_product_ids
3681
- # Which products the commit applies to. If both applicable_product_ids and
3682
- # applicable_product_tags are not provided, the commit applies to all products.
4223
+ # Which products the commit applies to. If applicable_product_ids,
4224
+ # applicable_product_tags or specifiers are not provided, the commit applies to
4225
+ # all products.
3683
4226
  #
3684
4227
  # @return [Array<String>, nil]
3685
4228
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
3686
4229
 
3687
4230
  # @!attribute applicable_product_tags
3688
- # Which tags the commit applies to. If both applicable_product_ids and
3689
- # applicable_product_tags are not provided, the commit applies to all products.
4231
+ # Which tags the commit applies to. If applicable_product_ids,
4232
+ # applicable_product_tags or specifiers are not provided, the commit applies to
4233
+ # all products.
3690
4234
  #
3691
4235
  # @return [Array<String>, nil]
3692
4236
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
3693
4237
 
4238
+ # @!attribute hierarchy_configuration
4239
+ # Optional configuration for commit hierarchy access control
4240
+ #
4241
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration, nil]
4242
+ optional :hierarchy_configuration,
4243
+ -> { MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration }
4244
+
3694
4245
  # @!attribute netsuite_sales_order_id
3695
4246
  #
3696
4247
  # @return [String, nil]
@@ -3701,7 +4252,7 @@ module MetronomeSDK
3701
4252
  # @return [String, nil]
3702
4253
  optional :product_id, String
3703
4254
 
3704
- # @!method initialize(credit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, netsuite_sales_order_id: nil, product_id: nil)
4255
+ # @!method initialize(credit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, netsuite_sales_order_id: nil, product_id: nil)
3705
4256
  # Some parameter documentations has been truncated, see
3706
4257
  # {MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit} for more details.
3707
4258
  #
@@ -3709,9 +4260,11 @@ module MetronomeSDK
3709
4260
  #
3710
4261
  # @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule]
3711
4262
  #
3712
- # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
4263
+ # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If applicable_product_ids, applicable_prod
4264
+ #
4265
+ # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
3713
4266
  #
3714
- # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
4267
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
3715
4268
  #
3716
4269
  # @param netsuite_sales_order_id [String, nil]
3717
4270
  #
@@ -3808,6 +4361,117 @@ module MetronomeSDK
3808
4361
  # @param starting_at [Time]
3809
4362
  end
3810
4363
  end
4364
+
4365
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit#hierarchy_configuration
4366
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
4367
+ # @!attribute child_access
4368
+ #
4369
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
4370
+ required :child_access,
4371
+ union: -> {
4372
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess
4373
+ }
4374
+
4375
+ # @!method initialize(child_access:)
4376
+ # Optional configuration for commit hierarchy access control
4377
+ #
4378
+ # @param child_access [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
4379
+
4380
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration#child_access
4381
+ module ChildAccess
4382
+ extend MetronomeSDK::Internal::Type::Union
4383
+
4384
+ variant -> {
4385
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
4386
+ }
4387
+
4388
+ variant -> {
4389
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
4390
+ }
4391
+
4392
+ variant -> {
4393
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
4394
+ }
4395
+
4396
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
4397
+ # @!attribute type
4398
+ #
4399
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
4400
+ required :type,
4401
+ enum: -> {
4402
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
4403
+ }
4404
+
4405
+ # @!method initialize(type:)
4406
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
4407
+
4408
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
4409
+ module Type
4410
+ extend MetronomeSDK::Internal::Type::Enum
4411
+
4412
+ ALL = :ALL
4413
+
4414
+ # @!method self.values
4415
+ # @return [Array<Symbol>]
4416
+ end
4417
+ end
4418
+
4419
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
4420
+ # @!attribute type
4421
+ #
4422
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
4423
+ required :type,
4424
+ enum: -> {
4425
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
4426
+ }
4427
+
4428
+ # @!method initialize(type:)
4429
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
4430
+
4431
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
4432
+ module Type
4433
+ extend MetronomeSDK::Internal::Type::Enum
4434
+
4435
+ NONE = :NONE
4436
+
4437
+ # @!method self.values
4438
+ # @return [Array<Symbol>]
4439
+ end
4440
+ end
4441
+
4442
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
4443
+ # @!attribute contract_ids
4444
+ #
4445
+ # @return [Array<String>]
4446
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
4447
+
4448
+ # @!attribute type
4449
+ #
4450
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
4451
+ required :type,
4452
+ enum: -> {
4453
+ MetronomeSDK::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
4454
+ }
4455
+
4456
+ # @!method initialize(contract_ids:, type:)
4457
+ # @param contract_ids [Array<String>]
4458
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
4459
+
4460
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
4461
+ module Type
4462
+ extend MetronomeSDK::Internal::Type::Enum
4463
+
4464
+ CONTRACT_IDS = :CONTRACT_IDS
4465
+
4466
+ # @!method self.values
4467
+ # @return [Array<Symbol>]
4468
+ end
4469
+ end
4470
+
4471
+ # @!method self.variants
4472
+ # @return [Array(MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
4473
+ end
4474
+ end
3811
4475
  end
3812
4476
 
3813
4477
  class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
@@ -3819,6 +4483,13 @@ module MetronomeSDK
3819
4483
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit
3820
4484
  }
3821
4485
 
4486
+ # @!attribute custom_credit_type_id
4487
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
4488
+ # commit amount will be in terms of this credit type instead of the fiat currency.
4489
+ #
4490
+ # @return [String, nil]
4491
+ optional :custom_credit_type_id, String, nil?: true
4492
+
3822
4493
  # @!attribute is_enabled
3823
4494
  # When set to false, the contract will not be evaluated against the
3824
4495
  # threshold_amount. Toggling to true will result an immediate evaluation,
@@ -3848,13 +4519,15 @@ module MetronomeSDK
3848
4519
  # @return [Float, nil]
3849
4520
  optional :threshold_amount, Float
3850
4521
 
3851
- # @!method initialize(commit: nil, is_enabled: nil, payment_gate_config: nil, recharge_to_amount: nil, threshold_amount: nil)
4522
+ # @!method initialize(commit: nil, custom_credit_type_id: nil, is_enabled: nil, payment_gate_config: nil, recharge_to_amount: nil, threshold_amount: nil)
3852
4523
  # Some parameter documentations has been truncated, see
3853
4524
  # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration}
3854
4525
  # for more details.
3855
4526
  #
3856
4527
  # @param commit [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit]
3857
4528
  #
4529
+ # @param custom_credit_type_id [String, nil] If provided, the threshold, recharge-to amount, and the resulting threshold comm
4530
+ #
3858
4531
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
3859
4532
  #
3860
4533
  # @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig]
@@ -3871,14 +4544,14 @@ module MetronomeSDK
3871
4544
  # products.
3872
4545
  #
3873
4546
  # @return [Array<String>, nil]
3874
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
4547
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
3875
4548
 
3876
4549
  # @!attribute applicable_product_tags
3877
4550
  # Which tags the threshold commit applies to. If both applicable_product_ids and
3878
4551
  # applicable_product_tags are not provided, the commit applies to all products.
3879
4552
  #
3880
4553
  # @return [Array<String>, nil]
3881
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
4554
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
3882
4555
 
3883
4556
  # @!attribute description
3884
4557
  #
@@ -3909,16 +4582,17 @@ module MetronomeSDK
3909
4582
  optional :specifiers,
3910
4583
  -> {
3911
4584
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier]
3912
- }
4585
+ },
4586
+ nil?: true
3913
4587
 
3914
4588
  # @!method initialize(applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, product_id: nil, specifiers: nil)
3915
4589
  # Some parameter documentations has been truncated, see
3916
4590
  # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit}
3917
4591
  # for more details.
3918
4592
  #
3919
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
4593
+ # @param applicable_product_ids [Array<String>, nil] Which products the threshold commit applies to. If both applicable_product_ids a
3920
4594
  #
3921
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
4595
+ # @param applicable_product_tags [Array<String>, nil] Which tags the threshold commit applies to. If both applicable_product_ids and a
3922
4596
  #
3923
4597
  # @param description [String]
3924
4598
  #
@@ -3926,7 +4600,7 @@ module MetronomeSDK
3926
4600
  #
3927
4601
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
3928
4602
  #
3929
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
4603
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
3930
4604
 
3931
4605
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
3932
4606
  # @!attribute presentation_group_values
@@ -3981,8 +4655,17 @@ module MetronomeSDK
3981
4655
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
3982
4656
  }
3983
4657
 
4658
+ # @!attribute precalculated_tax_config
4659
+ # Only applicable if using PRECALCULATED as your tax type.
4660
+ #
4661
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
4662
+ optional :precalculated_tax_config,
4663
+ -> {
4664
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
4665
+ }
4666
+
3984
4667
  # @!attribute stripe_config
3985
- # Only applicable if using Stripe as your payment gateway through Metronome.
4668
+ # Only applicable if using STRIPE as your payment gateway type.
3986
4669
  #
3987
4670
  # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3988
4671
  optional :stripe_config,
@@ -4001,14 +4684,16 @@ module MetronomeSDK
4001
4684
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
4002
4685
  }
4003
4686
 
4004
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
4687
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
4005
4688
  # Some parameter documentations has been truncated, see
4006
4689
  # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig}
4007
4690
  # for more details.
4008
4691
  #
4009
4692
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4010
4693
  #
4011
- # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
4694
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
4695
+ #
4696
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
4012
4697
  #
4013
4698
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4014
4699
 
@@ -4029,6 +4714,34 @@ module MetronomeSDK
4029
4714
  # @return [Array<Symbol>]
4030
4715
  end
4031
4716
 
4717
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
4718
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4719
+ # @!attribute tax_amount
4720
+ # Amount of tax to be applied. This should be in the same currency and
4721
+ # denomination as the commit's invoice schedule
4722
+ #
4723
+ # @return [Float]
4724
+ required :tax_amount, Float
4725
+
4726
+ # @!attribute tax_name
4727
+ # Name of the tax to be applied. This may be used in an invoice line item
4728
+ # description.
4729
+ #
4730
+ # @return [String, nil]
4731
+ optional :tax_name, String
4732
+
4733
+ # @!method initialize(tax_amount:, tax_name: nil)
4734
+ # Some parameter documentations has been truncated, see
4735
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
4736
+ # for more details.
4737
+ #
4738
+ # Only applicable if using PRECALCULATED as your tax type.
4739
+ #
4740
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
4741
+ #
4742
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
4743
+ end
4744
+
4032
4745
  # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
4033
4746
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4034
4747
  # @!attribute payment_type
@@ -4040,10 +4753,23 @@ module MetronomeSDK
4040
4753
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
4041
4754
  }
4042
4755
 
4043
- # @!method initialize(payment_type:)
4044
- # Only applicable if using Stripe as your payment gateway through Metronome.
4756
+ # @!attribute invoice_metadata
4757
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4758
+ # your payment type.
4759
+ #
4760
+ # @return [Hash{Symbol=>String}, nil]
4761
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
4762
+
4763
+ # @!method initialize(payment_type:, invoice_metadata: nil)
4764
+ # Some parameter documentations has been truncated, see
4765
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
4766
+ # for more details.
4767
+ #
4768
+ # Only applicable if using STRIPE as your payment gateway type.
4045
4769
  #
4046
4770
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4771
+ #
4772
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4047
4773
 
4048
4774
  # If left blank, will default to INVOICE
4049
4775
  #
@@ -4069,6 +4795,8 @@ module MetronomeSDK
4069
4795
 
4070
4796
  NONE = :NONE
4071
4797
  STRIPE = :STRIPE
4798
+ ANROK = :ANROK
4799
+ PRECALCULATED = :PRECALCULATED
4072
4800
 
4073
4801
  # @!method self.values
4074
4802
  # @return [Array<Symbol>]
@@ -4403,8 +5131,17 @@ module MetronomeSDK
4403
5131
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
4404
5132
  }
4405
5133
 
5134
+ # @!attribute precalculated_tax_config
5135
+ # Only applicable if using PRECALCULATED as your tax type.
5136
+ #
5137
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
5138
+ optional :precalculated_tax_config,
5139
+ -> {
5140
+ MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
5141
+ }
5142
+
4406
5143
  # @!attribute stripe_config
4407
- # Only applicable if using Stripe as your payment gateway through Metronome.
5144
+ # Only applicable if using STRIPE as your payment gateway type.
4408
5145
  #
4409
5146
  # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
4410
5147
  optional :stripe_config,
@@ -4423,14 +5160,16 @@ module MetronomeSDK
4423
5160
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType
4424
5161
  }
4425
5162
 
4426
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
5163
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
4427
5164
  # Some parameter documentations has been truncated, see
4428
5165
  # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig}
4429
5166
  # for more details.
4430
5167
  #
4431
5168
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4432
5169
  #
4433
- # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
5170
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
5171
+ #
5172
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
4434
5173
  #
4435
5174
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4436
5175
 
@@ -4451,6 +5190,34 @@ module MetronomeSDK
4451
5190
  # @return [Array<Symbol>]
4452
5191
  end
4453
5192
 
5193
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
5194
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
5195
+ # @!attribute tax_amount
5196
+ # Amount of tax to be applied. This should be in the same currency and
5197
+ # denomination as the commit's invoice schedule
5198
+ #
5199
+ # @return [Float]
5200
+ required :tax_amount, Float
5201
+
5202
+ # @!attribute tax_name
5203
+ # Name of the tax to be applied. This may be used in an invoice line item
5204
+ # description.
5205
+ #
5206
+ # @return [String, nil]
5207
+ optional :tax_name, String
5208
+
5209
+ # @!method initialize(tax_amount:, tax_name: nil)
5210
+ # Some parameter documentations has been truncated, see
5211
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
5212
+ # for more details.
5213
+ #
5214
+ # Only applicable if using PRECALCULATED as your tax type.
5215
+ #
5216
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
5217
+ #
5218
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
5219
+ end
5220
+
4454
5221
  # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#stripe_config
4455
5222
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4456
5223
  # @!attribute payment_type
@@ -4462,10 +5229,23 @@ module MetronomeSDK
4462
5229
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
4463
5230
  }
4464
5231
 
4465
- # @!method initialize(payment_type:)
4466
- # Only applicable if using Stripe as your payment gateway through Metronome.
5232
+ # @!attribute invoice_metadata
5233
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
5234
+ # your payment type.
5235
+ #
5236
+ # @return [Hash{Symbol=>String}, nil]
5237
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
5238
+
5239
+ # @!method initialize(payment_type:, invoice_metadata: nil)
5240
+ # Some parameter documentations has been truncated, see
5241
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
5242
+ # for more details.
5243
+ #
5244
+ # Only applicable if using STRIPE as your payment gateway type.
4467
5245
  #
4468
5246
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
5247
+ #
5248
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4469
5249
 
4470
5250
  # If left blank, will default to INVOICE
4471
5251
  #
@@ -4491,6 +5271,8 @@ module MetronomeSDK
4491
5271
 
4492
5272
  NONE = :NONE
4493
5273
  STRIPE = :STRIPE
5274
+ ANROK = :ANROK
5275
+ PRECALCULATED = :PRECALCULATED
4494
5276
 
4495
5277
  # @!method self.values
4496
5278
  # @return [Array<Symbol>]