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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -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.
312
337
  #
313
- # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider]
338
+ # The billing provider configuration associated with a contract. Provide either an
339
+ # ID or the provider and delivery method.
314
340
  #
315
- # @param billing_provider_configuration_id [String] The Metronome ID of the billing provider configuration
341
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider] Do not specify if using billing_provider_configuration_id.
316
342
  #
317
- # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod]
343
+ # @param billing_provider_configuration_id [String] The Metronome ID of the billing provider configuration. Use when a customer has
344
+ #
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>]
@@ -2229,22 +2629,30 @@ module MetronomeSDK
2229
2629
  # @return [String]
2230
2630
  required :credit_type_id, String
2231
2631
 
2232
- # @!attribute quantity
2233
- #
2234
- # @return [Float]
2235
- required :quantity, Float
2236
-
2237
2632
  # @!attribute unit_price
2238
2633
  #
2239
2634
  # @return [Float]
2240
2635
  required :unit_price, Float
2241
2636
 
2242
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2637
+ # @!attribute quantity
2638
+ # This field is currently required. Upcoming recurring commit/credit configuration
2639
+ # options will allow it to be optional.
2640
+ #
2641
+ # @return [Float, nil]
2642
+ optional :quantity, Float
2643
+
2644
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2645
+ # Some parameter documentations has been truncated, see
2646
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount}
2647
+ # for more details.
2648
+ #
2243
2649
  # The amount of commit to grant.
2244
2650
  #
2245
2651
  # @param credit_type_id [String]
2246
- # @param quantity [Float]
2652
+ #
2247
2653
  # @param unit_price [Float]
2654
+ #
2655
+ # @param quantity [Float] This field is currently required. Upcoming recurring commit/credit configuration
2248
2656
  end
2249
2657
 
2250
2658
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#commit_duration
@@ -2564,22 +2972,30 @@ module MetronomeSDK
2564
2972
  # @return [String]
2565
2973
  required :credit_type_id, String
2566
2974
 
2567
- # @!attribute quantity
2568
- #
2569
- # @return [Float]
2570
- required :quantity, Float
2571
-
2572
2975
  # @!attribute unit_price
2573
2976
  #
2574
2977
  # @return [Float]
2575
2978
  required :unit_price, Float
2576
2979
 
2577
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2980
+ # @!attribute quantity
2981
+ # This field is currently required. Upcoming recurring commit/credit configuration
2982
+ # options will allow it to be optional.
2983
+ #
2984
+ # @return [Float, nil]
2985
+ optional :quantity, Float
2986
+
2987
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
2988
+ # Some parameter documentations has been truncated, see
2989
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount}
2990
+ # for more details.
2991
+ #
2578
2992
  # The amount of commit to grant.
2579
2993
  #
2580
2994
  # @param credit_type_id [String]
2581
- # @param quantity [Float]
2995
+ #
2582
2996
  # @param unit_price [Float]
2997
+ #
2998
+ # @param quantity [Float] This field is currently required. Upcoming recurring commit/credit configuration
2583
2999
  end
2584
3000
 
2585
3001
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#commit_duration
@@ -3159,8 +3575,17 @@ module MetronomeSDK
3159
3575
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
3160
3576
  }
3161
3577
 
3578
+ # @!attribute precalculated_tax_config
3579
+ # Only applicable if using PRECALCULATED as your tax type.
3580
+ #
3581
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
3582
+ optional :precalculated_tax_config,
3583
+ -> {
3584
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
3585
+ }
3586
+
3162
3587
  # @!attribute stripe_config
3163
- # Only applicable if using Stripe as your payment gateway through Metronome.
3588
+ # Only applicable if using STRIPE as your payment gate type.
3164
3589
  #
3165
3590
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3166
3591
  optional :stripe_config,
@@ -3179,14 +3604,16 @@ module MetronomeSDK
3179
3604
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType
3180
3605
  }
3181
3606
 
3182
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3607
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3183
3608
  # Some parameter documentations has been truncated, see
3184
3609
  # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig}
3185
3610
  # for more details.
3186
3611
  #
3187
3612
  # @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
3613
  #
3189
- # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3614
+ # @param precalculated_tax_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
3615
+ #
3616
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
3190
3617
  #
3191
3618
  # @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
3619
 
@@ -3207,6 +3634,34 @@ module MetronomeSDK
3207
3634
  # @return [Array<Symbol>]
3208
3635
  end
3209
3636
 
3637
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
3638
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3639
+ # @!attribute tax_amount
3640
+ # Amount of tax to be applied. This should be in the same currency and
3641
+ # denomination as the commit's invoice schedule
3642
+ #
3643
+ # @return [Float]
3644
+ required :tax_amount, Float
3645
+
3646
+ # @!attribute tax_name
3647
+ # Name of the tax to be applied. This may be used in an invoice line item
3648
+ # description.
3649
+ #
3650
+ # @return [String, nil]
3651
+ optional :tax_name, String
3652
+
3653
+ # @!method initialize(tax_amount:, tax_name: nil)
3654
+ # Some parameter documentations has been truncated, see
3655
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
3656
+ # for more details.
3657
+ #
3658
+ # Only applicable if using PRECALCULATED as your tax type.
3659
+ #
3660
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
3661
+ #
3662
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
3663
+ end
3664
+
3210
3665
  # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3211
3666
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3212
3667
  # @!attribute payment_type
@@ -3218,10 +3673,23 @@ module MetronomeSDK
3218
3673
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
3219
3674
  }
3220
3675
 
3221
- # @!method initialize(payment_type:)
3222
- # Only applicable if using Stripe as your payment gateway through Metronome.
3676
+ # @!attribute invoice_metadata
3677
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3678
+ # your payment type.
3679
+ #
3680
+ # @return [Hash{Symbol=>String}, nil]
3681
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
3682
+
3683
+ # @!method initialize(payment_type:, invoice_metadata: nil)
3684
+ # Some parameter documentations has been truncated, see
3685
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
3686
+ # for more details.
3687
+ #
3688
+ # Only applicable if using STRIPE as your payment gate type.
3223
3689
  #
3224
3690
  # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3691
+ #
3692
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3225
3693
 
3226
3694
  # If left blank, will default to INVOICE
3227
3695
  #
@@ -3247,6 +3715,8 @@ module MetronomeSDK
3247
3715
 
3248
3716
  NONE = :NONE
3249
3717
  STRIPE = :STRIPE
3718
+ ANROK = :ANROK
3719
+ PRECALCULATED = :PRECALCULATED
3250
3720
 
3251
3721
  # @!method self.values
3252
3722
  # @return [Array<Symbol>]
@@ -3507,28 +3977,6 @@ module MetronomeSDK
3507
3977
  end
3508
3978
  end
3509
3979
 
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
3980
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
3533
3981
  # @!attribute frequency
3534
3982
  #