metronome-sdk 0.1.0.pre.alpha.3 → 0.1.0

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 (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -20,7 +20,8 @@ module MetronomeSDK
20
20
  required :starting_at, Time
21
21
 
22
22
  # @!attribute billing_provider_configuration
23
- # The billing provider configuration associated with a contract.
23
+ # The billing provider configuration associated with a contract. Provide either an
24
+ # ID or the provider and delivery method.
24
25
  #
25
26
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration, nil]
26
27
  optional :billing_provider_configuration,
@@ -58,6 +59,14 @@ module MetronomeSDK
58
59
  # @return [Time, nil]
59
60
  optional :ending_before, Time
60
61
 
62
+ # @!attribute hierarchy_configuration
63
+ #
64
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration, nil]
65
+ optional :hierarchy_configuration,
66
+ -> {
67
+ MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration
68
+ }
69
+
61
70
  # @!attribute multiplier_override_prioritization
62
71
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
63
72
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
@@ -98,6 +107,12 @@ module MetronomeSDK
98
107
  optional :prepaid_balance_threshold_configuration,
99
108
  -> { MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration }
100
109
 
110
+ # @!attribute priority
111
+ # Priority of the contract.
112
+ #
113
+ # @return [Float, nil]
114
+ optional :priority, Float
115
+
101
116
  # @!attribute professional_services
102
117
  # This field's availability is dependent on your client's configuration.
103
118
  #
@@ -176,7 +191,7 @@ module MetronomeSDK
176
191
  -> { MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration }
177
192
 
178
193
  # @!attribute subscriptions
179
- # (beta) Optional list of
194
+ # Optional list of
180
195
  # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
181
196
  # to add to the contract.
182
197
  #
@@ -207,8 +222,8 @@ module MetronomeSDK
207
222
 
208
223
  # @!attribute usage_filter
209
224
  #
210
- # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageFilter, nil]
211
- optional :usage_filter, -> { MetronomeSDK::V1::ContractCreateParams::UsageFilter }
225
+ # @return [MetronomeSDK::Models::BaseUsageFilter, nil]
226
+ optional :usage_filter, -> { MetronomeSDK::BaseUsageFilter }
212
227
 
213
228
  # @!attribute usage_statement_schedule
214
229
  #
@@ -218,7 +233,7 @@ module MetronomeSDK
218
233
  MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule
219
234
  }
220
235
 
221
- # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
236
+ # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
222
237
  # Some parameter documentations has been truncated, see
223
238
  # {MetronomeSDK::Models::V1::ContractCreateParams} for more details.
224
239
  #
@@ -226,7 +241,7 @@ module MetronomeSDK
226
241
  #
227
242
  # @param starting_at [Time] inclusive contract start time
228
243
  #
229
- # @param billing_provider_configuration [MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration] The billing provider configuration associated with a contract.
244
+ # @param billing_provider_configuration [MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration] The billing provider configuration associated with a contract. Provide either an
230
245
  #
231
246
  # @param commits [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit>]
232
247
  #
@@ -238,6 +253,8 @@ module MetronomeSDK
238
253
  #
239
254
  # @param ending_before [Time] exclusive contract end time
240
255
  #
256
+ # @param hierarchy_configuration [MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration]
257
+ #
241
258
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
242
259
  #
243
260
  # @param name [String]
@@ -250,6 +267,8 @@ module MetronomeSDK
250
267
  #
251
268
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration]
252
269
  #
270
+ # @param priority [Float] Priority of the contract.
271
+ #
253
272
  # @param professional_services [Array<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>] This field's availability is dependent on your client's configuration.
254
273
  #
255
274
  # @param rate_card_alias [String] Selects the rate card linked to the specified alias as of the contract's start d
@@ -270,7 +289,7 @@ module MetronomeSDK
270
289
  #
271
290
  # @param spend_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration]
272
291
  #
273
- # @param subscriptions [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>] (beta) Optional list of [subscriptions](https://docs.metronome.com/manage-produc
292
+ # @param subscriptions [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>] Optional list of [subscriptions](https://docs.metronome.com/manage-product-acces
274
293
  #
275
294
  # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
276
295
  #
@@ -278,7 +297,7 @@ module MetronomeSDK
278
297
  #
279
298
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
280
299
  #
281
- # @param usage_filter [MetronomeSDK::Models::V1::ContractCreateParams::UsageFilter]
300
+ # @param usage_filter [MetronomeSDK::Models::BaseUsageFilter]
282
301
  #
283
302
  # @param usage_statement_schedule [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule]
284
303
  #
@@ -286,6 +305,7 @@ module MetronomeSDK
286
305
 
287
306
  class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
288
307
  # @!attribute billing_provider
308
+ # Do not specify if using billing_provider_configuration_id.
289
309
  #
290
310
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider, nil]
291
311
  optional :billing_provider,
@@ -294,12 +314,15 @@ module MetronomeSDK
294
314
  }
295
315
 
296
316
  # @!attribute billing_provider_configuration_id
297
- # The Metronome ID of the billing provider configuration
317
+ # The Metronome ID of the billing provider configuration. Use when a customer has
318
+ # multiple configurations with the same billing provider and delivery method.
319
+ # Otherwise, specify the billing_provider and delivery_method.
298
320
  #
299
321
  # @return [String, nil]
300
322
  optional :billing_provider_configuration_id, String
301
323
 
302
324
  # @!attribute delivery_method
325
+ # Do not specify if using billing_provider_configuration_id.
303
326
  #
304
327
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod, nil]
305
328
  optional :delivery_method,
@@ -308,14 +331,21 @@ module MetronomeSDK
308
331
  }
309
332
 
310
333
  # @!method initialize(billing_provider: nil, billing_provider_configuration_id: nil, delivery_method: nil)
311
- # The billing provider configuration associated with a contract.
334
+ # Some parameter documentations has been truncated, see
335
+ # {MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration}
336
+ # for more details.
337
+ #
338
+ # The billing provider configuration associated with a contract. Provide either an
339
+ # ID or the provider and delivery method.
312
340
  #
313
- # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider]
341
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider] Do not specify if using billing_provider_configuration_id.
314
342
  #
315
- # @param billing_provider_configuration_id [String] The Metronome ID of the billing provider configuration
343
+ # @param billing_provider_configuration_id [String] The Metronome ID of the billing provider configuration. Use when a customer has
316
344
  #
317
- # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod]
345
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod] Do not specify if using billing_provider_configuration_id.
318
346
 
347
+ # Do not specify if using billing_provider_configuration_id.
348
+ #
319
349
  # @see MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration#billing_provider
320
350
  module BillingProvider
321
351
  extend MetronomeSDK::Internal::Type::Enum
@@ -330,6 +360,8 @@ module MetronomeSDK
330
360
  # @return [Array<Symbol>]
331
361
  end
332
362
 
363
+ # Do not specify if using billing_provider_configuration_id.
364
+ #
333
365
  # @see MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration#delivery_method
334
366
  module DeliveryMethod
335
367
  extend MetronomeSDK::Internal::Type::Enum
@@ -370,15 +402,17 @@ module MetronomeSDK
370
402
  optional :amount, Float
371
403
 
372
404
  # @!attribute applicable_product_ids
373
- # Which products the commit applies to. If both applicable_product_ids and
374
- # applicable_product_tags are not provided, the commit applies to all products.
405
+ # Which products the commit applies to. If applicable_product_ids,
406
+ # applicable_product_tags or specifiers are not provided, the commit applies to
407
+ # all products.
375
408
  #
376
409
  # @return [Array<String>, nil]
377
410
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
378
411
 
379
412
  # @!attribute applicable_product_tags
380
- # Which tags the commit applies to. If both applicable_product_ids and
381
- # applicable_product_tags are not provided, the commit applies to all products.
413
+ # Which tags the commit applies to. If applicable_product_ids,
414
+ # applicable_product_tags or specifiers are not provided, the commit applies to
415
+ # all products.
382
416
  #
383
417
  # @return [Array<String>, nil]
384
418
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -394,6 +428,13 @@ module MetronomeSDK
394
428
  # @return [String, nil]
395
429
  optional :description, String
396
430
 
431
+ # @!attribute hierarchy_configuration
432
+ # Optional configuration for commit hierarchy access control
433
+ #
434
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration, nil]
435
+ optional :hierarchy_configuration,
436
+ -> { MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration }
437
+
397
438
  # @!attribute invoice_schedule
398
439
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
399
440
  # time and only one schedule item is allowed; the total must match access_schedule
@@ -461,7 +502,7 @@ module MetronomeSDK
461
502
  # @return [String, nil]
462
503
  optional :temporary_id, String
463
504
 
464
- # @!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)
505
+ # @!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)
465
506
  # Some parameter documentations has been truncated, see
466
507
  # {MetronomeSDK::Models::V1::ContractCreateParams::Commit} for more details.
467
508
  #
@@ -473,14 +514,16 @@ module MetronomeSDK
473
514
  #
474
515
  # @param amount [Float] (DEPRECATED) Use access_schedule and invoice_schedule instead.
475
516
  #
476
- # @param applicable_product_ids [Array<String>] Which products the commit applies to. If both applicable_product_ids and applica
517
+ # @param applicable_product_ids [Array<String>] Which products the commit applies to. If applicable_product_ids, applicable_prod
477
518
  #
478
- # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If both applicable*product_ids and applicable*
519
+ # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If applicable*product_ids, applicable_product*
479
520
  #
480
521
  # @param custom_fields [Hash{Symbol=>String}]
481
522
  #
482
523
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
483
524
  #
525
+ # @param hierarchy_configuration [MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
526
+ #
484
527
  # @param invoice_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
485
528
  #
486
529
  # @param name [String] displayed on invoices
@@ -562,6 +605,117 @@ module MetronomeSDK
562
605
  end
563
606
  end
564
607
 
608
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#hierarchy_configuration
609
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
610
+ # @!attribute child_access
611
+ #
612
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
613
+ required :child_access,
614
+ union: -> {
615
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess
616
+ }
617
+
618
+ # @!method initialize(child_access:)
619
+ # Optional configuration for commit hierarchy access control
620
+ #
621
+ # @param child_access [MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
622
+
623
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration#child_access
624
+ module ChildAccess
625
+ extend MetronomeSDK::Internal::Type::Union
626
+
627
+ variant -> {
628
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
629
+ }
630
+
631
+ variant -> {
632
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
633
+ }
634
+
635
+ variant -> {
636
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
637
+ }
638
+
639
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
640
+ # @!attribute type
641
+ #
642
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
643
+ required :type,
644
+ enum: -> {
645
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
646
+ }
647
+
648
+ # @!method initialize(type:)
649
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
650
+
651
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
652
+ module Type
653
+ extend MetronomeSDK::Internal::Type::Enum
654
+
655
+ ALL = :ALL
656
+
657
+ # @!method self.values
658
+ # @return [Array<Symbol>]
659
+ end
660
+ end
661
+
662
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
663
+ # @!attribute type
664
+ #
665
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
666
+ required :type,
667
+ enum: -> {
668
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
669
+ }
670
+
671
+ # @!method initialize(type:)
672
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
673
+
674
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
675
+ module Type
676
+ extend MetronomeSDK::Internal::Type::Enum
677
+
678
+ NONE = :NONE
679
+
680
+ # @!method self.values
681
+ # @return [Array<Symbol>]
682
+ end
683
+ end
684
+
685
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
686
+ # @!attribute contract_ids
687
+ #
688
+ # @return [Array<String>]
689
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
690
+
691
+ # @!attribute type
692
+ #
693
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
694
+ required :type,
695
+ enum: -> {
696
+ MetronomeSDK::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
697
+ }
698
+
699
+ # @!method initialize(contract_ids:, type:)
700
+ # @param contract_ids [Array<String>]
701
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
702
+
703
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
704
+ module Type
705
+ extend MetronomeSDK::Internal::Type::Enum
706
+
707
+ CONTRACT_IDS = :CONTRACT_IDS
708
+
709
+ # @!method self.values
710
+ # @return [Array<Symbol>]
711
+ end
712
+ end
713
+
714
+ # @!method self.variants
715
+ # @return [Array(MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
716
+ end
717
+ end
718
+
565
719
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#invoice_schedule
566
720
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
567
721
  # @!attribute credit_type_id
@@ -767,8 +921,17 @@ module MetronomeSDK
767
921
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType
768
922
  }
769
923
 
924
+ # @!attribute precalculated_tax_config
925
+ # Only applicable if using PRECALCULATED as your tax type.
926
+ #
927
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig, nil]
928
+ optional :precalculated_tax_config,
929
+ -> {
930
+ MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
931
+ }
932
+
770
933
  # @!attribute stripe_config
771
- # Only applicable if using Stripe as your payment gateway through Metronome.
934
+ # Only applicable if using STRIPE as your payment gate type.
772
935
  #
773
936
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig, nil]
774
937
  optional :stripe_config,
@@ -783,7 +946,7 @@ module MetronomeSDK
783
946
  optional :tax_type,
784
947
  enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType }
785
948
 
786
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
949
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
787
950
  # Some parameter documentations has been truncated, see
788
951
  # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig} for
789
952
  # more details.
@@ -792,7 +955,9 @@ module MetronomeSDK
792
955
  #
793
956
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
794
957
  #
795
- # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
958
+ # @param precalculated_tax_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
959
+ #
960
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
796
961
  #
797
962
  # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
798
963
 
@@ -813,6 +978,34 @@ module MetronomeSDK
813
978
  # @return [Array<Symbol>]
814
979
  end
815
980
 
981
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig#precalculated_tax_config
982
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
983
+ # @!attribute tax_amount
984
+ # Amount of tax to be applied. This should be in the same currency and
985
+ # denomination as the commit's invoice schedule
986
+ #
987
+ # @return [Float]
988
+ required :tax_amount, Float
989
+
990
+ # @!attribute tax_name
991
+ # Name of the tax to be applied. This may be used in an invoice line item
992
+ # description.
993
+ #
994
+ # @return [String, nil]
995
+ optional :tax_name, String
996
+
997
+ # @!method initialize(tax_amount:, tax_name: nil)
998
+ # Some parameter documentations has been truncated, see
999
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig}
1000
+ # for more details.
1001
+ #
1002
+ # Only applicable if using PRECALCULATED as your tax type.
1003
+ #
1004
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
1005
+ #
1006
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
1007
+ end
1008
+
816
1009
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig#stripe_config
817
1010
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
818
1011
  # @!attribute payment_type
@@ -824,10 +1017,23 @@ module MetronomeSDK
824
1017
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType
825
1018
  }
826
1019
 
827
- # @!method initialize(payment_type:)
828
- # Only applicable if using Stripe as your payment gateway through Metronome.
1020
+ # @!attribute invoice_metadata
1021
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1022
+ # your payment type.
1023
+ #
1024
+ # @return [Hash{Symbol=>String}, nil]
1025
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
1026
+
1027
+ # @!method initialize(payment_type:, invoice_metadata: nil)
1028
+ # Some parameter documentations has been truncated, see
1029
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig}
1030
+ # for more details.
1031
+ #
1032
+ # Only applicable if using STRIPE as your payment gate type.
829
1033
  #
830
1034
  # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1035
+ #
1036
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
831
1037
 
832
1038
  # If left blank, will default to INVOICE
833
1039
  #
@@ -853,6 +1059,8 @@ module MetronomeSDK
853
1059
 
854
1060
  NONE = :NONE
855
1061
  STRIPE = :STRIPE
1062
+ ANROK = :ANROK
1063
+ PRECALCULATED = :PRECALCULATED
856
1064
 
857
1065
  # @!method self.values
858
1066
  # @return [Array<Symbol>]
@@ -946,6 +1154,13 @@ module MetronomeSDK
946
1154
  # @return [String, nil]
947
1155
  optional :description, String
948
1156
 
1157
+ # @!attribute hierarchy_configuration
1158
+ # Optional configuration for credit hierarchy access control
1159
+ #
1160
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration, nil]
1161
+ optional :hierarchy_configuration,
1162
+ -> { MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration }
1163
+
949
1164
  # @!attribute name
950
1165
  # displayed on invoices
951
1166
  #
@@ -982,7 +1197,7 @@ module MetronomeSDK
982
1197
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
983
1198
  }
984
1199
 
985
- # @!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)
1200
+ # @!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)
986
1201
  # Some parameter documentations has been truncated, see
987
1202
  # {MetronomeSDK::Models::V1::ContractCreateParams::Credit} for more details.
988
1203
  #
@@ -998,6 +1213,8 @@ module MetronomeSDK
998
1213
  #
999
1214
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
1000
1215
  #
1216
+ # @param hierarchy_configuration [MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1217
+ #
1001
1218
  # @param name [String] displayed on invoices
1002
1219
  #
1003
1220
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
@@ -1058,6 +1275,117 @@ module MetronomeSDK
1058
1275
  end
1059
1276
  end
1060
1277
 
1278
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit#hierarchy_configuration
1279
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1280
+ # @!attribute child_access
1281
+ #
1282
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1283
+ required :child_access,
1284
+ union: -> {
1285
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess
1286
+ }
1287
+
1288
+ # @!method initialize(child_access:)
1289
+ # Optional configuration for credit hierarchy access control
1290
+ #
1291
+ # @param child_access [MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1292
+
1293
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration#child_access
1294
+ module ChildAccess
1295
+ extend MetronomeSDK::Internal::Type::Union
1296
+
1297
+ variant -> {
1298
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1299
+ }
1300
+
1301
+ variant -> {
1302
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1303
+ }
1304
+
1305
+ variant -> {
1306
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1307
+ }
1308
+
1309
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1310
+ # @!attribute type
1311
+ #
1312
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1313
+ required :type,
1314
+ enum: -> {
1315
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1316
+ }
1317
+
1318
+ # @!method initialize(type:)
1319
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1320
+
1321
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1322
+ module Type
1323
+ extend MetronomeSDK::Internal::Type::Enum
1324
+
1325
+ ALL = :ALL
1326
+
1327
+ # @!method self.values
1328
+ # @return [Array<Symbol>]
1329
+ end
1330
+ end
1331
+
1332
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1333
+ # @!attribute type
1334
+ #
1335
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1336
+ required :type,
1337
+ enum: -> {
1338
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1339
+ }
1340
+
1341
+ # @!method initialize(type:)
1342
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1343
+
1344
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1345
+ module Type
1346
+ extend MetronomeSDK::Internal::Type::Enum
1347
+
1348
+ NONE = :NONE
1349
+
1350
+ # @!method self.values
1351
+ # @return [Array<Symbol>]
1352
+ end
1353
+ end
1354
+
1355
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1356
+ # @!attribute contract_ids
1357
+ #
1358
+ # @return [Array<String>]
1359
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1360
+
1361
+ # @!attribute type
1362
+ #
1363
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1364
+ required :type,
1365
+ enum: -> {
1366
+ MetronomeSDK::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1367
+ }
1368
+
1369
+ # @!method initialize(contract_ids:, type:)
1370
+ # @param contract_ids [Array<String>]
1371
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1372
+
1373
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1374
+ module Type
1375
+ extend MetronomeSDK::Internal::Type::Enum
1376
+
1377
+ CONTRACT_IDS = :CONTRACT_IDS
1378
+
1379
+ # @!method self.values
1380
+ # @return [Array<Symbol>]
1381
+ end
1382
+ end
1383
+
1384
+ # @!method self.variants
1385
+ # @return [Array(MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1386
+ end
1387
+ end
1388
+
1061
1389
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit#rate_type
1062
1390
  module RateType
1063
1391
  extend MetronomeSDK::Internal::Type::Enum
@@ -1337,6 +1665,33 @@ module MetronomeSDK
1337
1665
  end
1338
1666
  end
1339
1667
 
1668
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1669
+ # @!attribute parent
1670
+ #
1671
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::Parent]
1672
+ required :parent, -> { MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration::Parent }
1673
+
1674
+ # @!method initialize(parent:)
1675
+ # @param parent [MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration::Parent]
1676
+
1677
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration#parent
1678
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
1679
+ # @!attribute contract_id
1680
+ #
1681
+ # @return [String]
1682
+ required :contract_id, String
1683
+
1684
+ # @!attribute customer_id
1685
+ #
1686
+ # @return [String]
1687
+ required :customer_id, String
1688
+
1689
+ # @!method initialize(contract_id:, customer_id:)
1690
+ # @param contract_id [String]
1691
+ # @param customer_id [String]
1692
+ end
1693
+ end
1694
+
1340
1695
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
1341
1696
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
1342
1697
  # each multiplier; the one with the lowest priority value will be prioritized
@@ -1617,11 +1972,8 @@ module MetronomeSDK
1617
1972
  # @!attribute tiers
1618
1973
  # Only set for TIERED rate_type.
1619
1974
  #
1620
- # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::Tier>, nil]
1621
- optional :tiers,
1622
- -> {
1623
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier]
1624
- }
1975
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1976
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1625
1977
 
1626
1978
  # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1627
1979
  # Some parameter documentations has been truncated, see
@@ -1642,7 +1994,7 @@ module MetronomeSDK
1642
1994
  #
1643
1995
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1644
1996
  #
1645
- # @param tiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1997
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1646
1998
 
1647
1999
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate#rate_type
1648
2000
  module RateType
@@ -1657,22 +2009,6 @@ module MetronomeSDK
1657
2009
  # @!method self.values
1658
2010
  # @return [Array<Symbol>]
1659
2011
  end
1660
-
1661
- class Tier < MetronomeSDK::Internal::Type::BaseModel
1662
- # @!attribute price
1663
- #
1664
- # @return [Float]
1665
- required :price, Float
1666
-
1667
- # @!attribute size
1668
- #
1669
- # @return [Float, nil]
1670
- optional :size, Float
1671
-
1672
- # @!method initialize(price:, size: nil)
1673
- # @param price [Float]
1674
- # @param size [Float]
1675
- end
1676
2012
  end
1677
2013
 
1678
2014
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -1757,7 +2093,14 @@ module MetronomeSDK
1757
2093
  # @return [Float]
1758
2094
  required :threshold_amount, Float
1759
2095
 
1760
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2096
+ # @!attribute custom_credit_type_id
2097
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2098
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2099
+ #
2100
+ # @return [String, nil]
2101
+ optional :custom_credit_type_id, String
2102
+
2103
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
1761
2104
  # Some parameter documentations has been truncated, see
1762
2105
  # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration}
1763
2106
  # for more details.
@@ -1771,6 +2114,8 @@ module MetronomeSDK
1771
2114
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1772
2115
  #
1773
2116
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's prepaid
2117
+ #
2118
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
1774
2119
 
1775
2120
  # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#commit
1776
2121
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -1782,16 +2127,17 @@ module MetronomeSDK
1782
2127
  required :product_id, String
1783
2128
 
1784
2129
  # @!attribute applicable_product_ids
1785
- # Which products the threshold commit applies to. If both applicable_product_ids
1786
- # and applicable_product_tags are not provided, the commit applies to all
1787
- # products.
2130
+ # Which products the threshold commit applies to. If applicable_product_ids,
2131
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2132
+ # all products.
1788
2133
  #
1789
2134
  # @return [Array<String>, nil]
1790
2135
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1791
2136
 
1792
2137
  # @!attribute applicable_product_tags
1793
- # Which tags the threshold commit applies to. If both applicable_product_ids and
1794
- # applicable_product_tags are not provided, the commit applies to all products.
2138
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2139
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2140
+ # all products.
1795
2141
  #
1796
2142
  # @return [Array<String>, nil]
1797
2143
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -1827,9 +2173,9 @@ module MetronomeSDK
1827
2173
  #
1828
2174
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1829
2175
  #
1830
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2176
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
1831
2177
  #
1832
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2178
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
1833
2179
  #
1834
2180
  # @param description [String]
1835
2181
  #
@@ -1890,8 +2236,17 @@ module MetronomeSDK
1890
2236
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
1891
2237
  }
1892
2238
 
2239
+ # @!attribute precalculated_tax_config
2240
+ # Only applicable if using PRECALCULATED as your tax type.
2241
+ #
2242
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2243
+ optional :precalculated_tax_config,
2244
+ -> {
2245
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2246
+ }
2247
+
1893
2248
  # @!attribute stripe_config
1894
- # Only applicable if using Stripe as your payment gateway through Metronome.
2249
+ # Only applicable if using STRIPE as your payment gate type.
1895
2250
  #
1896
2251
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1897
2252
  optional :stripe_config,
@@ -1910,14 +2265,16 @@ module MetronomeSDK
1910
2265
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
1911
2266
  }
1912
2267
 
1913
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2268
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
1914
2269
  # Some parameter documentations has been truncated, see
1915
2270
  # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1916
2271
  # for more details.
1917
2272
  #
1918
2273
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1919
2274
  #
1920
- # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2275
+ # @param precalculated_tax_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2276
+ #
2277
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
1921
2278
  #
1922
2279
  # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1923
2280
 
@@ -1938,6 +2295,34 @@ module MetronomeSDK
1938
2295
  # @return [Array<Symbol>]
1939
2296
  end
1940
2297
 
2298
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2299
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2300
+ # @!attribute tax_amount
2301
+ # Amount of tax to be applied. This should be in the same currency and
2302
+ # denomination as the commit's invoice schedule
2303
+ #
2304
+ # @return [Float]
2305
+ required :tax_amount, Float
2306
+
2307
+ # @!attribute tax_name
2308
+ # Name of the tax to be applied. This may be used in an invoice line item
2309
+ # description.
2310
+ #
2311
+ # @return [String, nil]
2312
+ optional :tax_name, String
2313
+
2314
+ # @!method initialize(tax_amount:, tax_name: nil)
2315
+ # Some parameter documentations has been truncated, see
2316
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2317
+ # for more details.
2318
+ #
2319
+ # Only applicable if using PRECALCULATED as your tax type.
2320
+ #
2321
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2322
+ #
2323
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2324
+ end
2325
+
1941
2326
  # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1942
2327
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1943
2328
  # @!attribute payment_type
@@ -1949,10 +2334,23 @@ module MetronomeSDK
1949
2334
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1950
2335
  }
1951
2336
 
1952
- # @!method initialize(payment_type:)
1953
- # Only applicable if using Stripe as your payment gateway through Metronome.
2337
+ # @!attribute invoice_metadata
2338
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2339
+ # your payment type.
2340
+ #
2341
+ # @return [Hash{Symbol=>String}, nil]
2342
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2343
+
2344
+ # @!method initialize(payment_type:, invoice_metadata: nil)
2345
+ # Some parameter documentations has been truncated, see
2346
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2347
+ # for more details.
2348
+ #
2349
+ # Only applicable if using STRIPE as your payment gate type.
1954
2350
  #
1955
2351
  # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2352
+ #
2353
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1956
2354
 
1957
2355
  # If left blank, will default to INVOICE
1958
2356
  #
@@ -1978,6 +2376,8 @@ module MetronomeSDK
1978
2376
 
1979
2377
  NONE = :NONE
1980
2378
  STRIPE = :STRIPE
2379
+ ANROK = :ANROK
2380
+ PRECALCULATED = :PRECALCULATED
1981
2381
 
1982
2382
  # @!method self.values
1983
2383
  # @return [Array<Symbol>]
@@ -2109,6 +2509,13 @@ module MetronomeSDK
2109
2509
  # @return [Time, nil]
2110
2510
  optional :ending_before, Time
2111
2511
 
2512
+ # @!attribute hierarchy_configuration
2513
+ # Optional configuration for recurring commit/credit hierarchy access control
2514
+ #
2515
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration, nil]
2516
+ optional :hierarchy_configuration,
2517
+ -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration }
2518
+
2112
2519
  # @!attribute invoice_amount
2113
2520
  # The amount the customer should be billed for the commit. Not required.
2114
2521
  #
@@ -2181,7 +2588,7 @@ module MetronomeSDK
2181
2588
  # @return [String, nil]
2182
2589
  optional :temporary_id, String
2183
2590
 
2184
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2591
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2185
2592
  # Some parameter documentations has been truncated, see
2186
2593
  # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit} for more
2187
2594
  # details.
@@ -2204,6 +2611,8 @@ module MetronomeSDK
2204
2611
  #
2205
2612
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
2206
2613
  #
2614
+ # @param hierarchy_configuration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
2615
+ #
2207
2616
  # @param invoice_amount [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2208
2617
  #
2209
2618
  # @param name [String] displayed on invoices. will be passed through to the individual commits
@@ -2229,22 +2638,30 @@ module MetronomeSDK
2229
2638
  # @return [String]
2230
2639
  required :credit_type_id, String
2231
2640
 
2232
- # @!attribute quantity
2233
- #
2234
- # @return [Float]
2235
- required :quantity, Float
2236
-
2237
2641
  # @!attribute unit_price
2238
2642
  #
2239
2643
  # @return [Float]
2240
2644
  required :unit_price, Float
2241
2645
 
2242
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2646
+ # @!attribute quantity
2647
+ # This field is currently required. Upcoming recurring commit/credit configuration
2648
+ # options will allow it to be optional.
2649
+ #
2650
+ # @return [Float, nil]
2651
+ optional :quantity, Float
2652
+
2653
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2654
+ # Some parameter documentations has been truncated, see
2655
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount}
2656
+ # for more details.
2657
+ #
2243
2658
  # The amount of commit to grant.
2244
2659
  #
2245
2660
  # @param credit_type_id [String]
2246
- # @param quantity [Float]
2661
+ #
2247
2662
  # @param unit_price [Float]
2663
+ #
2664
+ # @param quantity [Float] This field is currently required. Upcoming recurring commit/credit configuration
2248
2665
  end
2249
2666
 
2250
2667
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#commit_duration
@@ -2281,6 +2698,117 @@ module MetronomeSDK
2281
2698
  end
2282
2699
  end
2283
2700
 
2701
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#hierarchy_configuration
2702
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2703
+ # @!attribute child_access
2704
+ #
2705
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2706
+ required :child_access,
2707
+ union: -> {
2708
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess
2709
+ }
2710
+
2711
+ # @!method initialize(child_access:)
2712
+ # Optional configuration for recurring commit/credit hierarchy access control
2713
+ #
2714
+ # @param child_access [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2715
+
2716
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration#child_access
2717
+ module ChildAccess
2718
+ extend MetronomeSDK::Internal::Type::Union
2719
+
2720
+ variant -> {
2721
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
2722
+ }
2723
+
2724
+ variant -> {
2725
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
2726
+ }
2727
+
2728
+ variant -> {
2729
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2730
+ }
2731
+
2732
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2733
+ # @!attribute type
2734
+ #
2735
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2736
+ required :type,
2737
+ enum: -> {
2738
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2739
+ }
2740
+
2741
+ # @!method initialize(type:)
2742
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2743
+
2744
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
2745
+ module Type
2746
+ extend MetronomeSDK::Internal::Type::Enum
2747
+
2748
+ ALL = :ALL
2749
+
2750
+ # @!method self.values
2751
+ # @return [Array<Symbol>]
2752
+ end
2753
+ end
2754
+
2755
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2756
+ # @!attribute type
2757
+ #
2758
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2759
+ required :type,
2760
+ enum: -> {
2761
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2762
+ }
2763
+
2764
+ # @!method initialize(type:)
2765
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2766
+
2767
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
2768
+ module Type
2769
+ extend MetronomeSDK::Internal::Type::Enum
2770
+
2771
+ NONE = :NONE
2772
+
2773
+ # @!method self.values
2774
+ # @return [Array<Symbol>]
2775
+ end
2776
+ end
2777
+
2778
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2779
+ # @!attribute contract_ids
2780
+ #
2781
+ # @return [Array<String>]
2782
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2783
+
2784
+ # @!attribute type
2785
+ #
2786
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2787
+ required :type,
2788
+ enum: -> {
2789
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2790
+ }
2791
+
2792
+ # @!method initialize(contract_ids:, type:)
2793
+ # @param contract_ids [Array<String>]
2794
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2795
+
2796
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
2797
+ module Type
2798
+ extend MetronomeSDK::Internal::Type::Enum
2799
+
2800
+ CONTRACT_IDS = :CONTRACT_IDS
2801
+
2802
+ # @!method self.values
2803
+ # @return [Array<Symbol>]
2804
+ end
2805
+ end
2806
+
2807
+ # @!method self.variants
2808
+ # @return [Array(MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
2809
+ end
2810
+ end
2811
+
2284
2812
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#invoice_amount
2285
2813
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
2286
2814
  # @!attribute credit_type_id
@@ -2455,6 +2983,13 @@ module MetronomeSDK
2455
2983
  # @return [Time, nil]
2456
2984
  optional :ending_before, Time
2457
2985
 
2986
+ # @!attribute hierarchy_configuration
2987
+ # Optional configuration for recurring commit/credit hierarchy access control
2988
+ #
2989
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration, nil]
2990
+ optional :hierarchy_configuration,
2991
+ -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration }
2992
+
2458
2993
  # @!attribute name
2459
2994
  # displayed on invoices. will be passed through to the individual commits
2460
2995
  #
@@ -2518,7 +3053,7 @@ module MetronomeSDK
2518
3053
  # @return [String, nil]
2519
3054
  optional :temporary_id, String
2520
3055
 
2521
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
3056
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2522
3057
  # Some parameter documentations has been truncated, see
2523
3058
  # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit} for more
2524
3059
  # details.
@@ -2541,6 +3076,8 @@ module MetronomeSDK
2541
3076
  #
2542
3077
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
2543
3078
  #
3079
+ # @param hierarchy_configuration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3080
+ #
2544
3081
  # @param name [String] displayed on invoices. will be passed through to the individual commits
2545
3082
  #
2546
3083
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -2564,22 +3101,30 @@ module MetronomeSDK
2564
3101
  # @return [String]
2565
3102
  required :credit_type_id, String
2566
3103
 
2567
- # @!attribute quantity
2568
- #
2569
- # @return [Float]
2570
- required :quantity, Float
2571
-
2572
3104
  # @!attribute unit_price
2573
3105
  #
2574
3106
  # @return [Float]
2575
3107
  required :unit_price, Float
2576
3108
 
2577
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3109
+ # @!attribute quantity
3110
+ # This field is currently required. Upcoming recurring commit/credit configuration
3111
+ # options will allow it to be optional.
3112
+ #
3113
+ # @return [Float, nil]
3114
+ optional :quantity, Float
3115
+
3116
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3117
+ # Some parameter documentations has been truncated, see
3118
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount}
3119
+ # for more details.
3120
+ #
2578
3121
  # The amount of commit to grant.
2579
3122
  #
2580
3123
  # @param credit_type_id [String]
2581
- # @param quantity [Float]
3124
+ #
2582
3125
  # @param unit_price [Float]
3126
+ #
3127
+ # @param quantity [Float] This field is currently required. Upcoming recurring commit/credit configuration
2583
3128
  end
2584
3129
 
2585
3130
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#commit_duration
@@ -2616,6 +3161,117 @@ module MetronomeSDK
2616
3161
  end
2617
3162
  end
2618
3163
 
3164
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#hierarchy_configuration
3165
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3166
+ # @!attribute child_access
3167
+ #
3168
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3169
+ required :child_access,
3170
+ union: -> {
3171
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess
3172
+ }
3173
+
3174
+ # @!method initialize(child_access:)
3175
+ # Optional configuration for recurring commit/credit hierarchy access control
3176
+ #
3177
+ # @param child_access [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3178
+
3179
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration#child_access
3180
+ module ChildAccess
3181
+ extend MetronomeSDK::Internal::Type::Union
3182
+
3183
+ variant -> {
3184
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
3185
+ }
3186
+
3187
+ variant -> {
3188
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
3189
+ }
3190
+
3191
+ variant -> {
3192
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3193
+ }
3194
+
3195
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3196
+ # @!attribute type
3197
+ #
3198
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3199
+ required :type,
3200
+ enum: -> {
3201
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
3202
+ }
3203
+
3204
+ # @!method initialize(type:)
3205
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3206
+
3207
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3208
+ module Type
3209
+ extend MetronomeSDK::Internal::Type::Enum
3210
+
3211
+ ALL = :ALL
3212
+
3213
+ # @!method self.values
3214
+ # @return [Array<Symbol>]
3215
+ end
3216
+ end
3217
+
3218
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3219
+ # @!attribute type
3220
+ #
3221
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3222
+ required :type,
3223
+ enum: -> {
3224
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
3225
+ }
3226
+
3227
+ # @!method initialize(type:)
3228
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3229
+
3230
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3231
+ module Type
3232
+ extend MetronomeSDK::Internal::Type::Enum
3233
+
3234
+ NONE = :NONE
3235
+
3236
+ # @!method self.values
3237
+ # @return [Array<Symbol>]
3238
+ end
3239
+ end
3240
+
3241
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3242
+ # @!attribute contract_ids
3243
+ #
3244
+ # @return [Array<String>]
3245
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3246
+
3247
+ # @!attribute type
3248
+ #
3249
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3250
+ required :type,
3251
+ enum: -> {
3252
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
3253
+ }
3254
+
3255
+ # @!method initialize(contract_ids:, type:)
3256
+ # @param contract_ids [Array<String>]
3257
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3258
+
3259
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3260
+ module Type
3261
+ extend MetronomeSDK::Internal::Type::Enum
3262
+
3263
+ CONTRACT_IDS = :CONTRACT_IDS
3264
+
3265
+ # @!method self.values
3266
+ # @return [Array<Symbol>]
3267
+ end
3268
+ end
3269
+
3270
+ # @!method self.variants
3271
+ # @return [Array(MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3272
+ end
3273
+ end
3274
+
2619
3275
  # Determines whether the first and last commit will be prorated. If not provided,
2620
3276
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2621
3277
  #
@@ -3159,8 +3815,17 @@ module MetronomeSDK
3159
3815
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
3160
3816
  }
3161
3817
 
3818
+ # @!attribute precalculated_tax_config
3819
+ # Only applicable if using PRECALCULATED as your tax type.
3820
+ #
3821
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
3822
+ optional :precalculated_tax_config,
3823
+ -> {
3824
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3825
+ }
3826
+
3162
3827
  # @!attribute stripe_config
3163
- # Only applicable if using Stripe as your payment gateway through Metronome.
3828
+ # Only applicable if using STRIPE as your payment gate type.
3164
3829
  #
3165
3830
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3166
3831
  optional :stripe_config,
@@ -3179,14 +3844,16 @@ module MetronomeSDK
3179
3844
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType
3180
3845
  }
3181
3846
 
3182
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3847
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3183
3848
  # Some parameter documentations has been truncated, see
3184
3849
  # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig}
3185
3850
  # for more details.
3186
3851
  #
3187
3852
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3188
3853
  #
3189
- # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3854
+ # @param precalculated_tax_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
3855
+ #
3856
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
3190
3857
  #
3191
3858
  # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3192
3859
 
@@ -3207,6 +3874,34 @@ module MetronomeSDK
3207
3874
  # @return [Array<Symbol>]
3208
3875
  end
3209
3876
 
3877
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
3878
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3879
+ # @!attribute tax_amount
3880
+ # Amount of tax to be applied. This should be in the same currency and
3881
+ # denomination as the commit's invoice schedule
3882
+ #
3883
+ # @return [Float]
3884
+ required :tax_amount, Float
3885
+
3886
+ # @!attribute tax_name
3887
+ # Name of the tax to be applied. This may be used in an invoice line item
3888
+ # description.
3889
+ #
3890
+ # @return [String, nil]
3891
+ optional :tax_name, String
3892
+
3893
+ # @!method initialize(tax_amount:, tax_name: nil)
3894
+ # Some parameter documentations has been truncated, see
3895
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
3896
+ # for more details.
3897
+ #
3898
+ # Only applicable if using PRECALCULATED as your tax type.
3899
+ #
3900
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
3901
+ #
3902
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
3903
+ end
3904
+
3210
3905
  # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3211
3906
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3212
3907
  # @!attribute payment_type
@@ -3218,10 +3913,23 @@ module MetronomeSDK
3218
3913
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
3219
3914
  }
3220
3915
 
3221
- # @!method initialize(payment_type:)
3222
- # Only applicable if using Stripe as your payment gateway through Metronome.
3916
+ # @!attribute invoice_metadata
3917
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3918
+ # your payment type.
3919
+ #
3920
+ # @return [Hash{Symbol=>String}, nil]
3921
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
3922
+
3923
+ # @!method initialize(payment_type:, invoice_metadata: nil)
3924
+ # Some parameter documentations has been truncated, see
3925
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
3926
+ # for more details.
3927
+ #
3928
+ # Only applicable if using STRIPE as your payment gate type.
3223
3929
  #
3224
3930
  # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3931
+ #
3932
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3225
3933
 
3226
3934
  # If left blank, will default to INVOICE
3227
3935
  #
@@ -3247,6 +3955,8 @@ module MetronomeSDK
3247
3955
 
3248
3956
  NONE = :NONE
3249
3957
  STRIPE = :STRIPE
3958
+ ANROK = :ANROK
3959
+ PRECALCULATED = :PRECALCULATED
3250
3960
 
3251
3961
  # @!method self.values
3252
3962
  # @return [Array<Symbol>]
@@ -3507,28 +4217,6 @@ module MetronomeSDK
3507
4217
  end
3508
4218
  end
3509
4219
 
3510
- class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
3511
- # @!attribute group_key
3512
- #
3513
- # @return [String]
3514
- required :group_key, String
3515
-
3516
- # @!attribute group_values
3517
- #
3518
- # @return [Array<String>]
3519
- required :group_values, MetronomeSDK::Internal::Type::ArrayOf[String]
3520
-
3521
- # @!attribute starting_at
3522
- #
3523
- # @return [Time, nil]
3524
- optional :starting_at, Time
3525
-
3526
- # @!method initialize(group_key:, group_values:, starting_at: nil)
3527
- # @param group_key [String]
3528
- # @param group_values [Array<String>]
3529
- # @param starting_at [Time]
3530
- end
3531
-
3532
4220
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
3533
4221
  # @!attribute frequency
3534
4222
  #