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

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 (551) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/array_of.rb +8 -0
  8. data/lib/metronome_sdk/internal/type/base_model.rb +13 -0
  9. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  10. data/lib/metronome_sdk/internal/type/enum.rb +12 -0
  11. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +8 -0
  13. data/lib/metronome_sdk/internal/type/union.rb +12 -0
  14. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  15. data/lib/metronome_sdk/internal/util.rb +54 -1
  16. data/lib/metronome_sdk/internal.rb +3 -0
  17. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  18. data/lib/metronome_sdk/models/v1/alert_create_params.rb +11 -11
  19. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  20. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  21. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  22. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  23. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +88 -8
  24. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  25. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +85 -6
  26. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -8
  27. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +291 -143
  28. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  30. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  31. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  32. data/lib/metronome_sdk/models/v1/contract_create_params.rb +827 -299
  33. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  34. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1644 -8
  35. data/lib/metronome_sdk/models/v1/contract_list_response.rb +10879 -55
  36. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  37. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -10
  38. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +10908 -55
  39. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  40. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  41. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  42. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  43. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  44. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  45. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +99 -8
  46. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  47. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  48. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -12
  49. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  50. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +559 -14
  51. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -6
  52. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  53. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +8 -2
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +14 -3
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -7
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +86 -20
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +76 -14
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -9
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -7
  73. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +85 -21
  74. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  75. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  76. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -11
  77. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -14
  78. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  79. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  82. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  84. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  85. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  86. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  87. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  88. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +86 -6
  89. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -14
  90. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  91. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  92. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  93. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -5
  94. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  95. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  96. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  97. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +78 -26
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  101. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  102. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  103. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  107. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  108. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +303 -118
  111. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  112. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  113. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  114. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  115. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +13 -13
  116. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  117. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -3
  118. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  119. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  120. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  122. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +69 -17
  124. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +61 -9
  126. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  127. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1147 -377
  128. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  129. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -119
  130. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1233 -202
  131. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1235 -201
  132. data/lib/metronome_sdk/models.rb +28 -49
  133. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -3
  134. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  135. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  136. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  137. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  138. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +55 -28
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +3 -3
  142. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  143. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  144. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  145. data/lib/metronome_sdk/resources/v1/customers/commits.rb +7 -5
  146. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  147. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -5
  148. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  149. data/lib/metronome_sdk/resources/v1/customers.rb +6 -5
  150. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  151. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  152. data/lib/metronome_sdk/resources/v1/usage.rb +5 -5
  153. data/lib/metronome_sdk/resources/v2/contracts.rb +39 -27
  154. data/lib/metronome_sdk/version.rb +1 -1
  155. data/lib/metronome_sdk.rb +7 -28
  156. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  157. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  158. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  159. data/rbi/metronome_sdk/internal/type/boolean.rbi +6 -0
  160. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  161. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  162. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  163. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  164. data/rbi/metronome_sdk/internal/type/unknown.rbi +6 -0
  165. data/rbi/metronome_sdk/internal/util.rbi +34 -0
  166. data/rbi/metronome_sdk/internal.rbi +5 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +37 -4
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +4 -4
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +37 -4
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +12 -6
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +44 -4
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +177 -8
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +43 -4
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +177 -8
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +175 -8
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +341 -7
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +37 -4
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +39 -4
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2595 -3
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1230 -74
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +37 -4
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3375 -5
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +23626 -686
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +698 -12
  186. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +23626 -686
  187. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  188. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  189. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2595 -3
  190. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +44 -4
  191. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +44 -4
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +209 -8
  193. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +44 -4
  194. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  195. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1143 -76
  196. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +9 -3
  197. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1137 -76
  198. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +209 -8
  199. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +44 -4
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +9 -3
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +44 -4
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +44 -4
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +74 -8
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +9 -3
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +410 -8
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +74 -8
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +44 -4
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +44 -4
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +44 -4
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +180 -8
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +45 -4
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +180 -8
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +149 -12
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +410 -8
  217. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +166 -8
  218. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +41 -4
  219. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +39 -4
  220. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +231 -10
  221. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +281 -14
  222. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +39 -4
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +12 -6
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +39 -4
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +84 -6
  226. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +177 -8
  227. data/rbi/metronome_sdk/models/v1/{customer_detail.rbi → customer_list_response.rbi} +26 -19
  228. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +255 -6
  229. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +86 -6
  230. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +623 -3
  231. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +622 -4
  232. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +109 -0
  233. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +44 -4
  234. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2164 -3
  235. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +44 -4
  236. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  237. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +44 -4
  238. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1224 -3
  239. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +44 -4
  240. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2561 -4
  241. data/rbi/metronome_sdk/models/v1/customers/{invoice.rbi → invoice_list_response.rbi} +589 -182
  242. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2612 -6
  243. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +41 -4
  244. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +39 -4
  245. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +560 -6
  246. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +37 -4
  247. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +248 -4
  248. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +105 -0
  249. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +41 -4
  250. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +105 -0
  251. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +41 -4
  252. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1980 -285
  253. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +37 -4
  254. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +7604 -2906
  255. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +3855 -1534
  256. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +3855 -1534
  257. data/rbi/metronome_sdk/models.rbi +0 -32
  258. data/rbi/metronome_sdk/resources/v1/alerts.rbi +2 -2
  259. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +6 -2
  260. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +6 -5
  261. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +9 -1
  262. data/rbi/metronome_sdk/resources/v1/contracts.rbi +30 -1
  263. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -0
  264. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  265. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  266. data/rbi/metronome_sdk/resources/v1/customers.rbi +5 -2
  267. data/rbi/metronome_sdk/resources/v2/contracts.rbi +49 -1
  268. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  269. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  270. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  271. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  272. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  273. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  274. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  275. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  276. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  277. data/sig/metronome_sdk/internal/util.rbs +12 -0
  278. data/sig/metronome_sdk/internal.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  280. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +20 -3
  281. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  282. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +20 -3
  283. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  285. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +13 -3
  286. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +20 -3
  287. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +83 -10
  288. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +20 -3
  289. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  290. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +84 -10
  291. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  292. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +88 -10
  293. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  294. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +456 -79
  295. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +20 -3
  296. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  297. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +20 -3
  298. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  299. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1292 -3
  300. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1087 -198
  301. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +20 -3
  302. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  303. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -1
  304. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  305. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +10802 -104
  306. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  307. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  308. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +316 -12
  309. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +10802 -104
  310. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  311. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  312. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  313. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1292 -3
  314. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  316. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +20 -3
  317. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  318. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  319. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  321. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +22 -3
  322. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +98 -6
  323. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +22 -3
  324. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  325. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +491 -12
  326. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +13 -3
  327. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +495 -12
  328. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +99 -6
  329. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +22 -3
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +13 -3
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +22 -3
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +22 -3
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +55 -8
  336. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +13 -3
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +188 -8
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +59 -8
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +22 -3
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +22 -3
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +22 -3
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +97 -18
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +22 -3
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +89 -14
  352. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +78 -15
  353. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  354. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +183 -8
  355. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +98 -6
  356. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +20 -3
  357. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  358. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +20 -3
  359. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +9 -0
  360. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +145 -9
  361. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  362. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +174 -12
  363. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  364. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +20 -3
  365. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  366. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  367. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  368. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  369. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  370. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  371. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +13 -3
  372. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +20 -3
  373. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  374. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +49 -3
  375. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  376. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +88 -10
  377. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  378. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  379. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  380. data/sig/metronome_sdk/models/v1/customer_list_response.rbs +109 -0
  381. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  382. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +113 -3
  383. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  384. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  385. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +49 -3
  386. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  388. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +247 -3
  389. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  390. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  391. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +248 -3
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  393. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  394. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  395. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +16 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  397. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +22 -3
  398. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  399. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1061 -3
  400. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  401. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +22 -3
  402. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +22 -3
  404. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  405. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +600 -3
  406. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  407. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +22 -3
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1282 -7
  412. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_list_response.rbs +1290 -0
  414. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1295 -3
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  417. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  418. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  420. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +20 -3
  421. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  425. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  426. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +38 -3
  427. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +28 -6
  428. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  432. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  434. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +268 -3
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +43 -3
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +121 -3
  439. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  440. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  442. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  443. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  444. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  445. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  446. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  450. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +110 -1
  451. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +20 -3
  452. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +85 -1
  453. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +20 -3
  454. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1476 -212
  455. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +20 -3
  456. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  457. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2855 -442
  458. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  459. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1743 -194
  460. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  461. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1743 -194
  462. data/sig/metronome_sdk/models.rbs +0 -32
  463. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  464. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +2 -1
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +9 -1
  467. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  468. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  470. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +1 -1
  473. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -1
  474. metadata +14 -83
  475. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  476. data/lib/metronome_sdk/models/commit.rb +0 -867
  477. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1437
  478. data/lib/metronome_sdk/models/credit.rb +0 -484
  479. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  480. data/lib/metronome_sdk/models/discount.rb +0 -68
  481. data/lib/metronome_sdk/models/event_type_filter.rb +0 -33
  482. data/lib/metronome_sdk/models/id.rb +0 -15
  483. data/lib/metronome_sdk/models/override.rb +0 -362
  484. data/lib/metronome_sdk/models/pro_service.rb +0 -73
  485. data/lib/metronome_sdk/models/property_filter.rb +0 -52
  486. data/lib/metronome_sdk/models/rate.rb +0 -101
  487. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  488. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  489. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  490. data/lib/metronome_sdk/models/tier.rb +0 -21
  491. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -148
  492. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  493. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -45
  494. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -69
  495. data/lib/metronome_sdk/models/v1/customer.rb +0 -53
  496. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -270
  497. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  498. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  499. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  500. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -46
  501. data/rbi/metronome_sdk/models/commit.rbi +0 -1625
  502. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2939
  503. data/rbi/metronome_sdk/models/credit.rbi +0 -879
  504. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -26
  505. data/rbi/metronome_sdk/models/discount.rbi +0 -106
  506. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -57
  507. data/rbi/metronome_sdk/models/id.rbi +0 -23
  508. data/rbi/metronome_sdk/models/override.rbi +0 -609
  509. data/rbi/metronome_sdk/models/pro_service.rbi +0 -98
  510. data/rbi/metronome_sdk/models/property_filter.rbi +0 -88
  511. data/rbi/metronome_sdk/models/rate.rbi +0 -155
  512. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -89
  513. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -121
  514. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -119
  515. data/rbi/metronome_sdk/models/tier.rbi +0 -29
  516. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -237
  517. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -111
  518. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -94
  519. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -90
  520. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -74
  521. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -572
  522. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -349
  523. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -79
  524. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -80
  525. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -22
  526. data/sig/metronome_sdk/models/commit.rbs +0 -714
  527. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1072
  528. data/sig/metronome_sdk/models/credit.rbs +0 -397
  529. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -13
  530. data/sig/metronome_sdk/models/discount.rbs +0 -52
  531. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -21
  532. data/sig/metronome_sdk/models/id.rbs +0 -11
  533. data/sig/metronome_sdk/models/override.rbs +0 -329
  534. data/sig/metronome_sdk/models/pro_service.rbs +0 -50
  535. data/sig/metronome_sdk/models/property_filter.rbs +0 -34
  536. data/sig/metronome_sdk/models/rate.rbs +0 -82
  537. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -44
  538. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -61
  539. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -58
  540. data/sig/metronome_sdk/models/tier.rbs +0 -15
  541. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -102
  542. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -41
  543. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -36
  544. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -42
  545. data/sig/metronome_sdk/models/v1/customer.rbs +0 -36
  546. data/sig/metronome_sdk/models/v1/customer_detail.rbs +0 -90
  547. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -205
  548. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +0 -977
  549. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -165
  550. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -29
  551. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -32
@@ -22,19 +22,19 @@ module MetronomeSDK
22
22
  # @!attribute billing_provider_configuration
23
23
  # The billing provider configuration associated with a contract.
24
24
  #
25
- # @return [MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration, nil]
25
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration, nil]
26
26
  optional :billing_provider_configuration,
27
27
  -> { MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration }
28
28
 
29
29
  # @!attribute commits
30
30
  #
31
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Commit>, nil]
31
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit>, nil]
32
32
  optional :commits,
33
33
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit] }
34
34
 
35
35
  # @!attribute credits
36
36
  #
37
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Credit>, nil]
37
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit>, nil]
38
38
  optional :credits,
39
39
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit] }
40
40
 
@@ -46,7 +46,7 @@ module MetronomeSDK
46
46
  # @!attribute discounts
47
47
  # This field's availability is dependent on your client's configuration.
48
48
  #
49
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Discount>, nil]
49
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount>, nil]
50
50
  optional :discounts,
51
51
  -> {
52
52
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Discount]
@@ -64,7 +64,7 @@ module MetronomeSDK
64
64
  # each multiplier; the one with the lowest priority value will be prioritized
65
65
  # first. If tiered overrides are used, prioritization must be explicit.
66
66
  #
67
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::MultiplierOverridePrioritization, nil]
67
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::MultiplierOverridePrioritization, nil]
68
68
  optional :multiplier_override_prioritization,
69
69
  enum: -> { MetronomeSDK::V1::ContractCreateParams::MultiplierOverridePrioritization }
70
70
 
@@ -86,7 +86,7 @@ module MetronomeSDK
86
86
 
87
87
  # @!attribute overrides
88
88
  #
89
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Override>, nil]
89
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override>, nil]
90
90
  optional :overrides,
91
91
  -> {
92
92
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override]
@@ -94,14 +94,14 @@ module MetronomeSDK
94
94
 
95
95
  # @!attribute prepaid_balance_threshold_configuration
96
96
  #
97
- # @return [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration, nil]
97
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration, nil]
98
98
  optional :prepaid_balance_threshold_configuration,
99
99
  -> { MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration }
100
100
 
101
101
  # @!attribute professional_services
102
102
  # This field's availability is dependent on your client's configuration.
103
103
  #
104
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::ProfessionalService>, nil]
104
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>, nil]
105
105
  optional :professional_services,
106
106
  -> {
107
107
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ProfessionalService]
@@ -121,7 +121,7 @@ module MetronomeSDK
121
121
 
122
122
  # @!attribute recurring_commits
123
123
  #
124
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::RecurringCommit>, nil]
124
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit>, nil]
125
125
  optional :recurring_commits,
126
126
  -> {
127
127
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCommit]
@@ -129,7 +129,7 @@ module MetronomeSDK
129
129
 
130
130
  # @!attribute recurring_credits
131
131
  #
132
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::RecurringCredit>, nil]
132
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit>, nil]
133
133
  optional :recurring_credits,
134
134
  -> {
135
135
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCredit]
@@ -138,7 +138,7 @@ module MetronomeSDK
138
138
  # @!attribute reseller_royalties
139
139
  # This field's availability is dependent on your client's configuration.
140
140
  #
141
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty>, nil]
141
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty>, nil]
142
142
  optional :reseller_royalties,
143
143
  -> {
144
144
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty]
@@ -152,7 +152,7 @@ module MetronomeSDK
152
152
 
153
153
  # @!attribute scheduled_charges
154
154
  #
155
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::ScheduledCharge>, nil]
155
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge>, nil]
156
156
  optional :scheduled_charges,
157
157
  -> {
158
158
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge]
@@ -165,16 +165,27 @@ module MetronomeSDK
165
165
  # after a Contract has been created. If this field is omitted, charges will appear
166
166
  # on a separate invoice from usage charges.
167
167
  #
168
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices, nil]
168
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices, nil]
169
169
  optional :scheduled_charges_on_usage_invoices,
170
170
  enum: -> { MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices }
171
171
 
172
172
  # @!attribute spend_threshold_configuration
173
173
  #
174
- # @return [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration, nil]
174
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration, nil]
175
175
  optional :spend_threshold_configuration,
176
176
  -> { MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration }
177
177
 
178
+ # @!attribute subscriptions
179
+ # (beta) Optional list of
180
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
181
+ # to add to the contract.
182
+ #
183
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>, nil]
184
+ optional :subscriptions,
185
+ -> {
186
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Subscription]
187
+ }
188
+
178
189
  # @!attribute total_contract_value
179
190
  # This field's availability is dependent on your client's configuration.
180
191
  #
@@ -183,7 +194,7 @@ module MetronomeSDK
183
194
 
184
195
  # @!attribute transition
185
196
  #
186
- # @return [MetronomeSDK::V1::ContractCreateParams::Transition, nil]
197
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Transition, nil]
187
198
  optional :transition, -> { MetronomeSDK::V1::ContractCreateParams::Transition }
188
199
 
189
200
  # @!attribute uniqueness_key
@@ -196,18 +207,18 @@ module MetronomeSDK
196
207
 
197
208
  # @!attribute usage_filter
198
209
  #
199
- # @return [MetronomeSDK::BaseUsageFilter, nil]
200
- optional :usage_filter, -> { MetronomeSDK::BaseUsageFilter }
210
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageFilter, nil]
211
+ optional :usage_filter, -> { MetronomeSDK::V1::ContractCreateParams::UsageFilter }
201
212
 
202
213
  # @!attribute usage_statement_schedule
203
214
  #
204
- # @return [MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule, nil]
215
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule, nil]
205
216
  optional :usage_statement_schedule,
206
217
  -> {
207
218
  MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule
208
219
  }
209
220
 
210
- # @!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, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
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: {})
211
222
  # Some parameter documentations has been truncated, see
212
223
  # {MetronomeSDK::Models::V1::ContractCreateParams} for more details.
213
224
  #
@@ -215,19 +226,19 @@ module MetronomeSDK
215
226
  #
216
227
  # @param starting_at [Time] inclusive contract start time
217
228
  #
218
- # @param billing_provider_configuration [MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration] The billing provider configuration associated with a contract.
229
+ # @param billing_provider_configuration [MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration] The billing provider configuration associated with a contract.
219
230
  #
220
- # @param commits [Array<MetronomeSDK::V1::ContractCreateParams::Commit>]
231
+ # @param commits [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit>]
221
232
  #
222
- # @param credits [Array<MetronomeSDK::V1::ContractCreateParams::Credit>]
233
+ # @param credits [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit>]
223
234
  #
224
235
  # @param custom_fields [Hash{Symbol=>String}]
225
236
  #
226
- # @param discounts [Array<MetronomeSDK::V1::ContractCreateParams::Discount>] This field's availability is dependent on your client's configuration.
237
+ # @param discounts [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount>] This field's availability is dependent on your client's configuration.
227
238
  #
228
239
  # @param ending_before [Time] exclusive contract end time
229
240
  #
230
- # @param multiplier_override_prioritization [Symbol, MetronomeSDK::V1::ContractCreateParams::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
241
+ # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
231
242
  #
232
243
  # @param name [String]
233
244
  #
@@ -235,46 +246,48 @@ module MetronomeSDK
235
246
  #
236
247
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
237
248
  #
238
- # @param overrides [Array<MetronomeSDK::V1::ContractCreateParams::Override>]
249
+ # @param overrides [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override>]
239
250
  #
240
- # @param prepaid_balance_threshold_configuration [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration]
251
+ # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration]
241
252
  #
242
- # @param professional_services [Array<MetronomeSDK::V1::ContractCreateParams::ProfessionalService>] This field's availability is dependent on your client's configuration.
253
+ # @param professional_services [Array<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>] This field's availability is dependent on your client's configuration.
243
254
  #
244
255
  # @param rate_card_alias [String] Selects the rate card linked to the specified alias as of the contract's start d
245
256
  #
246
257
  # @param rate_card_id [String]
247
258
  #
248
- # @param recurring_commits [Array<MetronomeSDK::V1::ContractCreateParams::RecurringCommit>]
259
+ # @param recurring_commits [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit>]
249
260
  #
250
- # @param recurring_credits [Array<MetronomeSDK::V1::ContractCreateParams::RecurringCredit>]
261
+ # @param recurring_credits [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit>]
251
262
  #
252
- # @param reseller_royalties [Array<MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
263
+ # @param reseller_royalties [Array<MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
253
264
  #
254
265
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
255
266
  #
256
- # @param scheduled_charges [Array<MetronomeSDK::V1::ContractCreateParams::ScheduledCharge>]
267
+ # @param scheduled_charges [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge>]
268
+ #
269
+ # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
257
270
  #
258
- # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
271
+ # @param spend_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration]
259
272
  #
260
- # @param spend_threshold_configuration [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration]
273
+ # @param subscriptions [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>] (beta) Optional list of [subscriptions](https://docs.metronome.com/manage-produc
261
274
  #
262
275
  # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
263
276
  #
264
- # @param transition [MetronomeSDK::V1::ContractCreateParams::Transition]
277
+ # @param transition [MetronomeSDK::Models::V1::ContractCreateParams::Transition]
265
278
  #
266
279
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
267
280
  #
268
- # @param usage_filter [MetronomeSDK::BaseUsageFilter]
281
+ # @param usage_filter [MetronomeSDK::Models::V1::ContractCreateParams::UsageFilter]
269
282
  #
270
- # @param usage_statement_schedule [MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule]
283
+ # @param usage_statement_schedule [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule]
271
284
  #
272
285
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
273
286
 
274
287
  class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
275
288
  # @!attribute billing_provider
276
289
  #
277
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider, nil]
290
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider, nil]
278
291
  optional :billing_provider,
279
292
  enum: -> {
280
293
  MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider
@@ -288,7 +301,7 @@ module MetronomeSDK
288
301
 
289
302
  # @!attribute delivery_method
290
303
  #
291
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod, nil]
304
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod, nil]
292
305
  optional :delivery_method,
293
306
  enum: -> {
294
307
  MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod
@@ -297,13 +310,13 @@ module MetronomeSDK
297
310
  # @!method initialize(billing_provider: nil, billing_provider_configuration_id: nil, delivery_method: nil)
298
311
  # The billing provider configuration associated with a contract.
299
312
  #
300
- # @param billing_provider [Symbol, MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider]
313
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider]
301
314
  #
302
315
  # @param billing_provider_configuration_id [String] The Metronome ID of the billing provider configuration
303
316
  #
304
- # @param delivery_method [Symbol, MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod]
317
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod]
305
318
 
306
- # @see MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration#billing_provider
319
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration#billing_provider
307
320
  module BillingProvider
308
321
  extend MetronomeSDK::Internal::Type::Enum
309
322
 
@@ -317,7 +330,7 @@ module MetronomeSDK
317
330
  # @return [Array<Symbol>]
318
331
  end
319
332
 
320
- # @see MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration#delivery_method
333
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration#delivery_method
321
334
  module DeliveryMethod
322
335
  extend MetronomeSDK::Internal::Type::Enum
323
336
 
@@ -339,7 +352,7 @@ module MetronomeSDK
339
352
 
340
353
  # @!attribute type
341
354
  #
342
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::Type]
355
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::Type]
343
356
  required :type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::Type }
344
357
 
345
358
  # @!attribute access_schedule
@@ -347,7 +360,7 @@ module MetronomeSDK
347
360
  # commits only one schedule item is allowed and amount must match invoice_schedule
348
361
  # total.
349
362
  #
350
- # @return [MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule, nil]
363
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule, nil]
351
364
  optional :access_schedule, -> { MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule }
352
365
 
353
366
  # @!attribute amount
@@ -387,7 +400,7 @@ module MetronomeSDK
387
400
  # amount. Optional for "PREPAID" commits: if not provided, this will be a
388
401
  # "complimentary" commit with no invoice.
389
402
  #
390
- # @return [MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule, nil]
403
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule, nil]
391
404
  optional :invoice_schedule, -> { MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule }
392
405
 
393
406
  # @!attribute name
@@ -405,7 +418,7 @@ module MetronomeSDK
405
418
  # @!attribute payment_gate_config
406
419
  # optionally payment gate this commit
407
420
  #
408
- # @return [MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig, nil]
421
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig, nil]
409
422
  optional :payment_gate_config,
410
423
  -> {
411
424
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig
@@ -420,7 +433,7 @@ module MetronomeSDK
420
433
 
421
434
  # @!attribute rate_type
422
435
  #
423
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::RateType, nil]
436
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::RateType, nil]
424
437
  optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::RateType }
425
438
 
426
439
  # @!attribute rollover_fraction
@@ -429,6 +442,18 @@ module MetronomeSDK
429
442
  # @return [Float, nil]
430
443
  optional :rollover_fraction, Float
431
444
 
445
+ # @!attribute specifiers
446
+ # List of filters that determine what kind of customer usage draws down a commit
447
+ # or credit. A customer's usage needs to meet the condition of at least one of the
448
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
449
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
450
+ #
451
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::Specifier>, nil]
452
+ optional :specifiers,
453
+ -> {
454
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier]
455
+ }
456
+
432
457
  # @!attribute temporary_id
433
458
  # A temporary ID for the commit that can be used to reference the commit for
434
459
  # commit specific overrides.
@@ -436,15 +461,15 @@ module MetronomeSDK
436
461
  # @return [String, nil]
437
462
  optional :temporary_id, String
438
463
 
439
- # @!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, temporary_id: nil)
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)
440
465
  # Some parameter documentations has been truncated, see
441
- # {MetronomeSDK::V1::ContractCreateParams::Commit} for more details.
466
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit} for more details.
442
467
  #
443
468
  # @param product_id [String]
444
469
  #
445
- # @param type [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::Type]
470
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::Type]
446
471
  #
447
- # @param access_schedule [MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule] Required: Schedule for distributing the commit to the customer. For "POSTPAID" c
472
+ # @param access_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule] Required: Schedule for distributing the commit to the customer. For "POSTPAID" c
448
473
  #
449
474
  # @param amount [Float] (DEPRECATED) Use access_schedule and invoice_schedule instead.
450
475
  #
@@ -456,23 +481,25 @@ module MetronomeSDK
456
481
  #
457
482
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
458
483
  #
459
- # @param invoice_schedule [MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
484
+ # @param invoice_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
460
485
  #
461
486
  # @param name [String] displayed on invoices
462
487
  #
463
488
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
464
489
  #
465
- # @param payment_gate_config [MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig] optionally payment gate this commit
490
+ # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig] optionally payment gate this commit
466
491
  #
467
492
  # @param priority [Float] If multiple commits are applicable, the one with the lower priority will apply f
468
493
  #
469
- # @param rate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::RateType]
494
+ # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::RateType]
470
495
  #
471
496
  # @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
472
497
  #
498
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
499
+ #
473
500
  # @param temporary_id [String] A temporary ID for the commit that can be used to reference the commit for commi
474
501
 
475
- # @see MetronomeSDK::V1::ContractCreateParams::Commit#type
502
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#type
476
503
  module Type
477
504
  extend MetronomeSDK::Internal::Type::Enum
478
505
 
@@ -483,11 +510,11 @@ module MetronomeSDK
483
510
  # @return [Array<Symbol>]
484
511
  end
485
512
 
486
- # @see MetronomeSDK::V1::ContractCreateParams::Commit#access_schedule
513
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#access_schedule
487
514
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
488
515
  # @!attribute schedule_items
489
516
  #
490
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem>]
517
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem>]
491
518
  required :schedule_items,
492
519
  -> {
493
520
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem]
@@ -504,7 +531,7 @@ module MetronomeSDK
504
531
  # commits only one schedule item is allowed and amount must match invoice_schedule
505
532
  # total.
506
533
  #
507
- # @param schedule_items [Array<MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem>]
534
+ # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem>]
508
535
  #
509
536
  # @param credit_type_id [String] Defaults to USD (cents) if not passed
510
537
 
@@ -535,7 +562,7 @@ module MetronomeSDK
535
562
  end
536
563
  end
537
564
 
538
- # @see MetronomeSDK::V1::ContractCreateParams::Commit#invoice_schedule
565
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#invoice_schedule
539
566
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
540
567
  # @!attribute credit_type_id
541
568
  # Defaults to USD (cents) if not passed.
@@ -548,14 +575,14 @@ module MetronomeSDK
548
575
  # amount. If amount is sent, the unit price is assumed to be the amount and
549
576
  # quantity is inferred to be 1.
550
577
  #
551
- # @return [MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule, nil]
578
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule, nil]
552
579
  optional :recurring_schedule,
553
580
  -> { MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule }
554
581
 
555
582
  # @!attribute schedule_items
556
583
  # Either provide amount or provide both unit_price and quantity.
557
584
  #
558
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem>, nil]
585
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem>, nil]
559
586
  optional :schedule_items,
560
587
  -> {
561
588
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
@@ -563,8 +590,8 @@ module MetronomeSDK
563
590
 
564
591
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
565
592
  # Some parameter documentations has been truncated, see
566
- # {MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule} for more
567
- # details.
593
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule} for
594
+ # more details.
568
595
  #
569
596
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
570
597
  # time and only one schedule item is allowed; the total must match access_schedule
@@ -573,15 +600,15 @@ module MetronomeSDK
573
600
  #
574
601
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
575
602
  #
576
- # @param recurring_schedule [MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
603
+ # @param recurring_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
577
604
  #
578
- # @param schedule_items [Array<MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
605
+ # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
579
606
 
580
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule#recurring_schedule
607
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule#recurring_schedule
581
608
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
582
609
  # @!attribute amount_distribution
583
610
  #
584
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
611
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
585
612
  required :amount_distribution,
586
613
  enum: -> {
587
614
  MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution
@@ -595,7 +622,7 @@ module MetronomeSDK
595
622
 
596
623
  # @!attribute frequency
597
624
  #
598
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency]
625
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency]
599
626
  required :frequency,
600
627
  enum: -> {
601
628
  MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency
@@ -633,18 +660,18 @@ module MetronomeSDK
633
660
 
634
661
  # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
635
662
  # Some parameter documentations has been truncated, see
636
- # {MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule}
663
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule}
637
664
  # for more details.
638
665
  #
639
666
  # Enter the unit price and quantity for the charge or instead only send the
640
667
  # amount. If amount is sent, the unit price is assumed to be the amount and
641
668
  # quantity is inferred to be 1.
642
669
  #
643
- # @param amount_distribution [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
670
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
644
671
  #
645
672
  # @param ending_before [Time] RFC 3339 timestamp (exclusive).
646
673
  #
647
- # @param frequency [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency]
674
+ # @param frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency]
648
675
  #
649
676
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
650
677
  #
@@ -654,7 +681,7 @@ module MetronomeSDK
654
681
  #
655
682
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
656
683
 
657
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule#amount_distribution
684
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule#amount_distribution
658
685
  module AmountDistribution
659
686
  extend MetronomeSDK::Internal::Type::Enum
660
687
 
@@ -666,7 +693,7 @@ module MetronomeSDK
666
693
  # @return [Array<Symbol>]
667
694
  end
668
695
 
669
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule#frequency
696
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule#frequency
670
697
  module Frequency
671
698
  extend MetronomeSDK::Internal::Type::Enum
672
699
 
@@ -713,7 +740,7 @@ module MetronomeSDK
713
740
 
714
741
  # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
715
742
  # Some parameter documentations has been truncated, see
716
- # {MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem}
743
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem}
717
744
  # for more details.
718
745
  #
719
746
  # @param timestamp [Time] timestamp of the scheduled event
@@ -726,7 +753,7 @@ module MetronomeSDK
726
753
  end
727
754
  end
728
755
 
729
- # @see MetronomeSDK::V1::ContractCreateParams::Commit#payment_gate_config
756
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#payment_gate_config
730
757
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
731
758
  # @!attribute payment_gate_type
732
759
  # Gate access to the commit balance based on successful collection of payment.
@@ -734,7 +761,7 @@ module MetronomeSDK
734
761
  # facilitate payment using your own payment integration. Select NONE if you do not
735
762
  # wish to payment gate the commit balance.
736
763
  #
737
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType]
764
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType]
738
765
  required :payment_gate_type,
739
766
  enum: -> {
740
767
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType
@@ -743,7 +770,7 @@ module MetronomeSDK
743
770
  # @!attribute stripe_config
744
771
  # Only applicable if using Stripe as your payment gateway through Metronome.
745
772
  #
746
- # @return [MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig, nil]
773
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig, nil]
747
774
  optional :stripe_config,
748
775
  -> { MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig }
749
776
 
@@ -752,29 +779,29 @@ module MetronomeSDK
752
779
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
753
780
  # will default to NONE.
754
781
  #
755
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType, nil]
782
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType, nil]
756
783
  optional :tax_type,
757
784
  enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType }
758
785
 
759
786
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
760
787
  # Some parameter documentations has been truncated, see
761
- # {MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig} for more
762
- # details.
788
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig} for
789
+ # more details.
763
790
  #
764
791
  # optionally payment gate this commit
765
792
  #
766
- # @param payment_gate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
793
+ # @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
767
794
  #
768
- # @param stripe_config [MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
795
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
769
796
  #
770
- # @param tax_type [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
797
+ # @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
771
798
 
772
799
  # Gate access to the commit balance based on successful collection of payment.
773
800
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
774
801
  # facilitate payment using your own payment integration. Select NONE if you do not
775
802
  # wish to payment gate the commit balance.
776
803
  #
777
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig#payment_gate_type
804
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig#payment_gate_type
778
805
  module PaymentGateType
779
806
  extend MetronomeSDK::Internal::Type::Enum
780
807
 
@@ -786,12 +813,12 @@ module MetronomeSDK
786
813
  # @return [Array<Symbol>]
787
814
  end
788
815
 
789
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig#stripe_config
816
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig#stripe_config
790
817
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
791
818
  # @!attribute payment_type
792
819
  # If left blank, will default to INVOICE
793
820
  #
794
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType]
821
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType]
795
822
  required :payment_type,
796
823
  enum: -> {
797
824
  MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType
@@ -800,11 +827,11 @@ module MetronomeSDK
800
827
  # @!method initialize(payment_type:)
801
828
  # Only applicable if using Stripe as your payment gateway through Metronome.
802
829
  #
803
- # @param payment_type [Symbol, MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
830
+ # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
804
831
 
805
832
  # If left blank, will default to INVOICE
806
833
  #
807
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig#payment_type
834
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig#payment_type
808
835
  module PaymentType
809
836
  extend MetronomeSDK::Internal::Type::Enum
810
837
 
@@ -820,7 +847,7 @@ module MetronomeSDK
820
847
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
821
848
  # will default to NONE.
822
849
  #
823
- # @see MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig#tax_type
850
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig#tax_type
824
851
  module TaxType
825
852
  extend MetronomeSDK::Internal::Type::Enum
826
853
 
@@ -832,7 +859,7 @@ module MetronomeSDK
832
859
  end
833
860
  end
834
861
 
835
- # @see MetronomeSDK::V1::ContractCreateParams::Commit#rate_type
862
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#rate_type
836
863
  module RateType
837
864
  extend MetronomeSDK::Internal::Type::Enum
838
865
 
@@ -842,13 +869,51 @@ module MetronomeSDK
842
869
  # @!method self.values
843
870
  # @return [Array<Symbol>]
844
871
  end
872
+
873
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
874
+ # @!attribute presentation_group_values
875
+ #
876
+ # @return [Hash{Symbol=>String}, nil]
877
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
878
+
879
+ # @!attribute pricing_group_values
880
+ #
881
+ # @return [Hash{Symbol=>String}, nil]
882
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
883
+
884
+ # @!attribute product_id
885
+ # If provided, the specifier will only apply to the product with the specified ID.
886
+ #
887
+ # @return [String, nil]
888
+ optional :product_id, String
889
+
890
+ # @!attribute product_tags
891
+ # If provided, the specifier will only apply to products with all the specified
892
+ # tags.
893
+ #
894
+ # @return [Array<String>, nil]
895
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
896
+
897
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
898
+ # Some parameter documentations has been truncated, see
899
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::Specifier} for more
900
+ # details.
901
+ #
902
+ # @param presentation_group_values [Hash{Symbol=>String}]
903
+ #
904
+ # @param pricing_group_values [Hash{Symbol=>String}]
905
+ #
906
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
907
+ #
908
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
909
+ end
845
910
  end
846
911
 
847
912
  class Credit < MetronomeSDK::Internal::Type::BaseModel
848
913
  # @!attribute access_schedule
849
914
  # Schedule for distributing the credit to the customer.
850
915
  #
851
- # @return [MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule]
916
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule]
852
917
  required :access_schedule, -> { MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule }
853
918
 
854
919
  # @!attribute product_id
@@ -902,14 +967,26 @@ module MetronomeSDK
902
967
 
903
968
  # @!attribute rate_type
904
969
  #
905
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Credit::RateType, nil]
970
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType, nil]
906
971
  optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Credit::RateType }
907
972
 
908
- # @!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)
973
+ # @!attribute specifiers
974
+ # List of filters that determine what kind of customer usage draws down a commit
975
+ # or credit. A customer's usage needs to meet the condition of at least one of the
976
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
977
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
978
+ #
979
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::Specifier>, nil]
980
+ optional :specifiers,
981
+ -> {
982
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
983
+ }
984
+
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)
909
986
  # Some parameter documentations has been truncated, see
910
- # {MetronomeSDK::V1::ContractCreateParams::Credit} for more details.
987
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Credit} for more details.
911
988
  #
912
- # @param access_schedule [MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule] Schedule for distributing the credit to the customer.
989
+ # @param access_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule] Schedule for distributing the credit to the customer.
913
990
  #
914
991
  # @param product_id [String]
915
992
  #
@@ -927,13 +1004,15 @@ module MetronomeSDK
927
1004
  #
928
1005
  # @param priority [Float] If multiple credits are applicable, the one with the lower priority will apply f
929
1006
  #
930
- # @param rate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::Credit::RateType]
1007
+ # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType]
1008
+ #
1009
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
931
1010
 
932
- # @see MetronomeSDK::V1::ContractCreateParams::Credit#access_schedule
1011
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit#access_schedule
933
1012
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
934
1013
  # @!attribute schedule_items
935
1014
  #
936
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem>]
1015
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem>]
937
1016
  required :schedule_items,
938
1017
  -> {
939
1018
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem]
@@ -948,7 +1027,7 @@ module MetronomeSDK
948
1027
  # @!method initialize(schedule_items:, credit_type_id: nil)
949
1028
  # Schedule for distributing the credit to the customer.
950
1029
  #
951
- # @param schedule_items [Array<MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem>]
1030
+ # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem>]
952
1031
  #
953
1032
  # @param credit_type_id [String] Defaults to USD (cents) if not passed
954
1033
 
@@ -979,7 +1058,7 @@ module MetronomeSDK
979
1058
  end
980
1059
  end
981
1060
 
982
- # @see MetronomeSDK::V1::ContractCreateParams::Credit#rate_type
1061
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit#rate_type
983
1062
  module RateType
984
1063
  extend MetronomeSDK::Internal::Type::Enum
985
1064
 
@@ -989,6 +1068,44 @@ module MetronomeSDK
989
1068
  # @!method self.values
990
1069
  # @return [Array<Symbol>]
991
1070
  end
1071
+
1072
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1073
+ # @!attribute presentation_group_values
1074
+ #
1075
+ # @return [Hash{Symbol=>String}, nil]
1076
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1077
+
1078
+ # @!attribute pricing_group_values
1079
+ #
1080
+ # @return [Hash{Symbol=>String}, nil]
1081
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1082
+
1083
+ # @!attribute product_id
1084
+ # If provided, the specifier will only apply to the product with the specified ID.
1085
+ #
1086
+ # @return [String, nil]
1087
+ optional :product_id, String
1088
+
1089
+ # @!attribute product_tags
1090
+ # If provided, the specifier will only apply to products with all the specified
1091
+ # tags.
1092
+ #
1093
+ # @return [Array<String>, nil]
1094
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1095
+
1096
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1097
+ # Some parameter documentations has been truncated, see
1098
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Credit::Specifier} for more
1099
+ # details.
1100
+ #
1101
+ # @param presentation_group_values [Hash{Symbol=>String}]
1102
+ #
1103
+ # @param pricing_group_values [Hash{Symbol=>String}]
1104
+ #
1105
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1106
+ #
1107
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1108
+ end
992
1109
  end
993
1110
 
994
1111
  class Discount < MetronomeSDK::Internal::Type::BaseModel
@@ -1000,7 +1117,7 @@ module MetronomeSDK
1000
1117
  # @!attribute schedule
1001
1118
  # Must provide either schedule_items or recurring_schedule.
1002
1119
  #
1003
- # @return [MetronomeSDK::V1::ContractCreateParams::Discount::Schedule]
1120
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule]
1004
1121
  required :schedule, -> { MetronomeSDK::V1::ContractCreateParams::Discount::Schedule }
1005
1122
 
1006
1123
  # @!attribute custom_fields
@@ -1023,7 +1140,7 @@ module MetronomeSDK
1023
1140
  # @!method initialize(product_id:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
1024
1141
  # @param product_id [String]
1025
1142
  #
1026
- # @param schedule [MetronomeSDK::V1::ContractCreateParams::Discount::Schedule] Must provide either schedule_items or recurring_schedule.
1143
+ # @param schedule [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule] Must provide either schedule_items or recurring_schedule.
1027
1144
  #
1028
1145
  # @param custom_fields [Hash{Symbol=>String}]
1029
1146
  #
@@ -1031,7 +1148,7 @@ module MetronomeSDK
1031
1148
  #
1032
1149
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1033
1150
 
1034
- # @see MetronomeSDK::V1::ContractCreateParams::Discount#schedule
1151
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Discount#schedule
1035
1152
  class Schedule < MetronomeSDK::Internal::Type::BaseModel
1036
1153
  # @!attribute credit_type_id
1037
1154
  # Defaults to USD (cents) if not passed.
@@ -1044,14 +1161,14 @@ module MetronomeSDK
1044
1161
  # amount. If amount is sent, the unit price is assumed to be the amount and
1045
1162
  # quantity is inferred to be 1.
1046
1163
  #
1047
- # @return [MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule, nil]
1164
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule, nil]
1048
1165
  optional :recurring_schedule,
1049
1166
  -> { MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule }
1050
1167
 
1051
1168
  # @!attribute schedule_items
1052
1169
  # Either provide amount or provide both unit_price and quantity.
1053
1170
  #
1054
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem>, nil]
1171
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem>, nil]
1055
1172
  optional :schedule_items,
1056
1173
  -> {
1057
1174
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
@@ -1059,21 +1176,22 @@ module MetronomeSDK
1059
1176
 
1060
1177
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
1061
1178
  # Some parameter documentations has been truncated, see
1062
- # {MetronomeSDK::V1::ContractCreateParams::Discount::Schedule} for more details.
1179
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule} for more
1180
+ # details.
1063
1181
  #
1064
1182
  # Must provide either schedule_items or recurring_schedule.
1065
1183
  #
1066
1184
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
1067
1185
  #
1068
- # @param recurring_schedule [MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
1186
+ # @param recurring_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
1069
1187
  #
1070
- # @param schedule_items [Array<MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
1188
+ # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
1071
1189
 
1072
- # @see MetronomeSDK::V1::ContractCreateParams::Discount::Schedule#recurring_schedule
1190
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule#recurring_schedule
1073
1191
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
1074
1192
  # @!attribute amount_distribution
1075
1193
  #
1076
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution]
1194
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution]
1077
1195
  required :amount_distribution,
1078
1196
  enum: -> {
1079
1197
  MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution
@@ -1087,7 +1205,7 @@ module MetronomeSDK
1087
1205
 
1088
1206
  # @!attribute frequency
1089
1207
  #
1090
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency]
1208
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency]
1091
1209
  required :frequency,
1092
1210
  enum: -> {
1093
1211
  MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency
@@ -1125,18 +1243,18 @@ module MetronomeSDK
1125
1243
 
1126
1244
  # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
1127
1245
  # Some parameter documentations has been truncated, see
1128
- # {MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule}
1246
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule}
1129
1247
  # for more details.
1130
1248
  #
1131
1249
  # Enter the unit price and quantity for the charge or instead only send the
1132
1250
  # amount. If amount is sent, the unit price is assumed to be the amount and
1133
1251
  # quantity is inferred to be 1.
1134
1252
  #
1135
- # @param amount_distribution [Symbol, MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution]
1253
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution]
1136
1254
  #
1137
1255
  # @param ending_before [Time] RFC 3339 timestamp (exclusive).
1138
1256
  #
1139
- # @param frequency [Symbol, MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency]
1257
+ # @param frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency]
1140
1258
  #
1141
1259
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
1142
1260
  #
@@ -1146,7 +1264,7 @@ module MetronomeSDK
1146
1264
  #
1147
1265
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
1148
1266
 
1149
- # @see MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule#amount_distribution
1267
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule#amount_distribution
1150
1268
  module AmountDistribution
1151
1269
  extend MetronomeSDK::Internal::Type::Enum
1152
1270
 
@@ -1158,7 +1276,7 @@ module MetronomeSDK
1158
1276
  # @return [Array<Symbol>]
1159
1277
  end
1160
1278
 
1161
- # @see MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule#frequency
1279
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule#frequency
1162
1280
  module Frequency
1163
1281
  extend MetronomeSDK::Internal::Type::Enum
1164
1282
 
@@ -1205,8 +1323,8 @@ module MetronomeSDK
1205
1323
 
1206
1324
  # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
1207
1325
  # Some parameter documentations has been truncated, see
1208
- # {MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem} for
1209
- # more details.
1326
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem}
1327
+ # for more details.
1210
1328
  #
1211
1329
  # @param timestamp [Time] timestamp of the scheduled event
1212
1330
  #
@@ -1277,7 +1395,7 @@ module MetronomeSDK
1277
1395
  # Cannot be used in conjunction with product_id or applicable_product_tags. If
1278
1396
  # provided, the override will apply to all products with the specified specifiers.
1279
1397
  #
1280
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier>, nil]
1398
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier>, nil]
1281
1399
  optional :override_specifiers,
1282
1400
  -> {
1283
1401
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier]
@@ -1286,7 +1404,7 @@ module MetronomeSDK
1286
1404
  # @!attribute overwrite_rate
1287
1405
  # Required for OVERWRITE type.
1288
1406
  #
1289
- # @return [MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate, nil]
1407
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate, nil]
1290
1408
  optional :overwrite_rate, -> { MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate }
1291
1409
 
1292
1410
  # @!attribute priority
@@ -1310,13 +1428,13 @@ module MetronomeSDK
1310
1428
  # be used for overrides that have `is_commit_specific` set to `true`. Defaults to
1311
1429
  # `"LIST_RATE"`.
1312
1430
  #
1313
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Override::Target, nil]
1431
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Target, nil]
1314
1432
  optional :target, enum: -> { MetronomeSDK::V1::ContractCreateParams::Override::Target }
1315
1433
 
1316
1434
  # @!attribute tiers
1317
1435
  # Required for TIERED type. Must have at least one tier.
1318
1436
  #
1319
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::Override::Tier>, nil]
1437
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier>, nil]
1320
1438
  optional :tiers,
1321
1439
  -> {
1322
1440
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override::Tier]
@@ -1325,12 +1443,12 @@ module MetronomeSDK
1325
1443
  # @!attribute type
1326
1444
  # Overwrites are prioritized over multipliers and tiered overrides.
1327
1445
  #
1328
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Override::Type, nil]
1446
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Type, nil]
1329
1447
  optional :type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Override::Type }
1330
1448
 
1331
1449
  # @!method initialize(starting_at:, applicable_product_tags: nil, ending_before: nil, entitled: nil, is_commit_specific: nil, multiplier: nil, override_specifiers: nil, overwrite_rate: nil, priority: nil, product_id: nil, target: nil, tiers: nil, type: nil)
1332
1450
  # Some parameter documentations has been truncated, see
1333
- # {MetronomeSDK::V1::ContractCreateParams::Override} for more details.
1451
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Override} for more details.
1334
1452
  #
1335
1453
  # @param starting_at [Time] RFC 3339 timestamp indicating when the override will start applying (inclusive)
1336
1454
  #
@@ -1344,21 +1462,29 @@ module MetronomeSDK
1344
1462
  #
1345
1463
  # @param multiplier [Float] Required for MULTIPLIER type. Must be >=0.
1346
1464
  #
1347
- # @param override_specifiers [Array<MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier>] Cannot be used in conjunction with product_id or applicable_product_tags. If pro
1465
+ # @param override_specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier>] Cannot be used in conjunction with product_id or applicable_product_tags. If pro
1348
1466
  #
1349
- # @param overwrite_rate [MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate] Required for OVERWRITE type.
1467
+ # @param overwrite_rate [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate] Required for OVERWRITE type.
1350
1468
  #
1351
1469
  # @param priority [Float] Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
1352
1470
  #
1353
1471
  # @param product_id [String] ID of the product whose rate is being overridden. Cannot be used in conjunction
1354
1472
  #
1355
- # @param target [Symbol, MetronomeSDK::V1::ContractCreateParams::Override::Target] Indicates whether the override applies to commit rates or list rates. Can only b
1473
+ # @param target [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Target] Indicates whether the override applies to commit rates or list rates. Can only b
1356
1474
  #
1357
- # @param tiers [Array<MetronomeSDK::V1::ContractCreateParams::Override::Tier>] Required for TIERED type. Must have at least one tier.
1475
+ # @param tiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier>] Required for TIERED type. Must have at least one tier.
1358
1476
  #
1359
- # @param type [Symbol, MetronomeSDK::V1::ContractCreateParams::Override::Type] Overwrites are prioritized over multipliers and tiered overrides.
1477
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Type] Overwrites are prioritized over multipliers and tiered overrides.
1360
1478
 
1361
1479
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1480
+ # @!attribute billing_frequency
1481
+ #
1482
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency, nil]
1483
+ optional :billing_frequency,
1484
+ enum: -> {
1485
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency
1486
+ }
1487
+
1362
1488
  # @!attribute commit_ids
1363
1489
  # Can only be used for commit specific overrides. Must be used in conjunction with
1364
1490
  # one of product_id, product_tags, pricing_group_values, or
@@ -1413,10 +1539,12 @@ module MetronomeSDK
1413
1539
  # @return [Array<String>, nil]
1414
1540
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1415
1541
 
1416
- # @!method initialize(commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1542
+ # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1417
1543
  # Some parameter documentations has been truncated, see
1418
- # {MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier} for more
1419
- # details.
1544
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier}
1545
+ # for more details.
1546
+ #
1547
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency]
1420
1548
  #
1421
1549
  # @param commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1422
1550
  #
@@ -1431,13 +1559,26 @@ module MetronomeSDK
1431
1559
  # @param recurring_commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1432
1560
  #
1433
1561
  # @param recurring_credit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1562
+
1563
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier#billing_frequency
1564
+ module BillingFrequency
1565
+ extend MetronomeSDK::Internal::Type::Enum
1566
+
1567
+ MONTHLY = :MONTHLY
1568
+ QUARTERLY = :QUARTERLY
1569
+ ANNUAL = :ANNUAL
1570
+ WEEKLY = :WEEKLY
1571
+
1572
+ # @!method self.values
1573
+ # @return [Array<Symbol>]
1574
+ end
1434
1575
  end
1435
1576
 
1436
- # @see MetronomeSDK::V1::ContractCreateParams::Override#overwrite_rate
1577
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override#overwrite_rate
1437
1578
  class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1438
1579
  # @!attribute rate_type
1439
1580
  #
1440
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::RateType]
1581
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::RateType]
1441
1582
  required :rate_type,
1442
1583
  enum: -> { MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::RateType }
1443
1584
 
@@ -1476,17 +1617,20 @@ module MetronomeSDK
1476
1617
  # @!attribute tiers
1477
1618
  # Only set for TIERED rate_type.
1478
1619
  #
1479
- # @return [Array<MetronomeSDK::Tier>, nil]
1480
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
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
+ }
1481
1625
 
1482
1626
  # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1483
1627
  # Some parameter documentations has been truncated, see
1484
- # {MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate} for more
1485
- # details.
1628
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate} for
1629
+ # more details.
1486
1630
  #
1487
1631
  # Required for OVERWRITE type.
1488
1632
  #
1489
- # @param rate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::RateType]
1633
+ # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::RateType]
1490
1634
  #
1491
1635
  # @param credit_type_id [String]
1492
1636
  #
@@ -1498,9 +1642,9 @@ module MetronomeSDK
1498
1642
  #
1499
1643
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1500
1644
  #
1501
- # @param tiers [Array<MetronomeSDK::Tier>] Only set for TIERED rate_type.
1645
+ # @param tiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1502
1646
 
1503
- # @see MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate#rate_type
1647
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate#rate_type
1504
1648
  module RateType
1505
1649
  extend MetronomeSDK::Internal::Type::Enum
1506
1650
 
@@ -1513,13 +1657,29 @@ module MetronomeSDK
1513
1657
  # @!method self.values
1514
1658
  # @return [Array<Symbol>]
1515
1659
  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
1516
1676
  end
1517
1677
 
1518
1678
  # Indicates whether the override applies to commit rates or list rates. Can only
1519
1679
  # be used for overrides that have `is_commit_specific` set to `true`. Defaults to
1520
1680
  # `"LIST_RATE"`.
1521
1681
  #
1522
- # @see MetronomeSDK::V1::ContractCreateParams::Override#target
1682
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override#target
1523
1683
  module Target
1524
1684
  extend MetronomeSDK::Internal::Type::Enum
1525
1685
 
@@ -1548,7 +1708,7 @@ module MetronomeSDK
1548
1708
 
1549
1709
  # Overwrites are prioritized over multipliers and tiered overrides.
1550
1710
  #
1551
- # @see MetronomeSDK::V1::ContractCreateParams::Override#type
1711
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override#type
1552
1712
  module Type
1553
1713
  extend MetronomeSDK::Internal::Type::Enum
1554
1714
 
@@ -1564,7 +1724,7 @@ module MetronomeSDK
1564
1724
  class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1565
1725
  # @!attribute commit
1566
1726
  #
1567
- # @return [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit]
1727
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit]
1568
1728
  required :commit,
1569
1729
  -> { MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit }
1570
1730
 
@@ -1578,7 +1738,7 @@ module MetronomeSDK
1578
1738
 
1579
1739
  # @!attribute payment_gate_config
1580
1740
  #
1581
- # @return [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1741
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1582
1742
  required :payment_gate_config,
1583
1743
  -> {
1584
1744
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
@@ -1599,20 +1759,20 @@ module MetronomeSDK
1599
1759
 
1600
1760
  # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
1601
1761
  # Some parameter documentations has been truncated, see
1602
- # {MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration}
1762
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration}
1603
1763
  # for more details.
1604
1764
  #
1605
- # @param commit [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit]
1765
+ # @param commit [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit]
1606
1766
  #
1607
1767
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1608
1768
  #
1609
- # @param payment_gate_config [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1769
+ # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1610
1770
  #
1611
1771
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1612
1772
  #
1613
1773
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's prepaid
1614
1774
 
1615
- # @see MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#commit
1775
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#commit
1616
1776
  class Commit < MetronomeSDK::Internal::Type::BaseModel
1617
1777
  # @!attribute product_id
1618
1778
  # The commit product that will be used to generate the line item for commit
@@ -1648,9 +1808,21 @@ module MetronomeSDK
1648
1808
  # @return [String, nil]
1649
1809
  optional :name, String
1650
1810
 
1651
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
1811
+ # @!attribute specifiers
1812
+ # List of filters that determine what kind of customer usage draws down a commit
1813
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1814
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1815
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1816
+ #
1817
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
1818
+ optional :specifiers,
1819
+ -> {
1820
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1821
+ }
1822
+
1823
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
1652
1824
  # Some parameter documentations has been truncated, see
1653
- # {MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit}
1825
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit}
1654
1826
  # for more details.
1655
1827
  #
1656
1828
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
@@ -1662,9 +1834,49 @@ module MetronomeSDK
1662
1834
  # @param description [String]
1663
1835
  #
1664
1836
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1837
+ #
1838
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1839
+
1840
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1841
+ # @!attribute presentation_group_values
1842
+ #
1843
+ # @return [Hash{Symbol=>String}, nil]
1844
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1845
+
1846
+ # @!attribute pricing_group_values
1847
+ #
1848
+ # @return [Hash{Symbol=>String}, nil]
1849
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1850
+
1851
+ # @!attribute product_id
1852
+ # If provided, the specifier will only apply to the product with the specified ID.
1853
+ #
1854
+ # @return [String, nil]
1855
+ optional :product_id, String
1856
+
1857
+ # @!attribute product_tags
1858
+ # If provided, the specifier will only apply to products with all the specified
1859
+ # tags.
1860
+ #
1861
+ # @return [Array<String>, nil]
1862
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1863
+
1864
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1865
+ # Some parameter documentations has been truncated, see
1866
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
1867
+ # for more details.
1868
+ #
1869
+ # @param presentation_group_values [Hash{Symbol=>String}]
1870
+ #
1871
+ # @param pricing_group_values [Hash{Symbol=>String}]
1872
+ #
1873
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1874
+ #
1875
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1876
+ end
1665
1877
  end
1666
1878
 
1667
- # @see MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#payment_gate_config
1879
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#payment_gate_config
1668
1880
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1669
1881
  # @!attribute payment_gate_type
1670
1882
  # Gate access to the commit balance based on successful collection of payment.
@@ -1672,7 +1884,7 @@ module MetronomeSDK
1672
1884
  # facilitate payment using your own payment integration. Select NONE if you do not
1673
1885
  # wish to payment gate the commit balance.
1674
1886
  #
1675
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1887
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1676
1888
  required :payment_gate_type,
1677
1889
  enum: -> {
1678
1890
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
@@ -1681,7 +1893,7 @@ module MetronomeSDK
1681
1893
  # @!attribute stripe_config
1682
1894
  # Only applicable if using Stripe as your payment gateway through Metronome.
1683
1895
  #
1684
- # @return [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1896
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1685
1897
  optional :stripe_config,
1686
1898
  -> {
1687
1899
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -1692,7 +1904,7 @@ module MetronomeSDK
1692
1904
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1693
1905
  # will default to NONE.
1694
1906
  #
1695
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1907
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1696
1908
  optional :tax_type,
1697
1909
  enum: -> {
1698
1910
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
@@ -1700,21 +1912,21 @@ module MetronomeSDK
1700
1912
 
1701
1913
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
1702
1914
  # Some parameter documentations has been truncated, see
1703
- # {MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1915
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1704
1916
  # for more details.
1705
1917
  #
1706
- # @param payment_gate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1918
+ # @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
1707
1919
  #
1708
- # @param stripe_config [MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1920
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1709
1921
  #
1710
- # @param tax_type [Symbol, MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1922
+ # @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
1711
1923
 
1712
1924
  # Gate access to the commit balance based on successful collection of payment.
1713
1925
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1714
1926
  # facilitate payment using your own payment integration. Select NONE if you do not
1715
1927
  # wish to payment gate the commit balance.
1716
1928
  #
1717
- # @see MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1929
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1718
1930
  module PaymentGateType
1719
1931
  extend MetronomeSDK::Internal::Type::Enum
1720
1932
 
@@ -1726,12 +1938,12 @@ module MetronomeSDK
1726
1938
  # @return [Array<Symbol>]
1727
1939
  end
1728
1940
 
1729
- # @see MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1941
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1730
1942
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1731
1943
  # @!attribute payment_type
1732
1944
  # If left blank, will default to INVOICE
1733
1945
  #
1734
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1946
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1735
1947
  required :payment_type,
1736
1948
  enum: -> {
1737
1949
  MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
@@ -1740,11 +1952,11 @@ module MetronomeSDK
1740
1952
  # @!method initialize(payment_type:)
1741
1953
  # Only applicable if using Stripe as your payment gateway through Metronome.
1742
1954
  #
1743
- # @param payment_type [Symbol, MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1955
+ # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1744
1956
 
1745
1957
  # If left blank, will default to INVOICE
1746
1958
  #
1747
- # @see MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1959
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1748
1960
  module PaymentType
1749
1961
  extend MetronomeSDK::Internal::Type::Enum
1750
1962
 
@@ -1760,7 +1972,7 @@ module MetronomeSDK
1760
1972
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1761
1973
  # will default to NONE.
1762
1974
  #
1763
- # @see MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1975
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1764
1976
  module TaxType
1765
1977
  extend MetronomeSDK::Internal::Type::Enum
1766
1978
 
@@ -1817,7 +2029,8 @@ module MetronomeSDK
1817
2029
 
1818
2030
  # @!method initialize(max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
1819
2031
  # Some parameter documentations has been truncated, see
1820
- # {MetronomeSDK::V1::ContractCreateParams::ProfessionalService} for more details.
2032
+ # {MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService} for more
2033
+ # details.
1821
2034
  #
1822
2035
  # @param max_amount [Float] Maximum amount for the term.
1823
2036
  #
@@ -1838,16 +2051,18 @@ module MetronomeSDK
1838
2051
  # @!attribute access_amount
1839
2052
  # The amount of commit to grant.
1840
2053
  #
1841
- # @return [MetronomeSDK::V1::ContractCreateParams::RecurringCommit::AccessAmount]
2054
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount]
1842
2055
  required :access_amount,
1843
2056
  -> {
1844
2057
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::AccessAmount
1845
2058
  }
1846
2059
 
1847
2060
  # @!attribute commit_duration
1848
- # The amount of time the created commits will be valid for.
2061
+ # Defines the length of the access schedule for each created commit/credit. The
2062
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2063
+ # length of a period is determined by the recurrence_frequency.
1849
2064
  #
1850
- # @return [MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration]
2065
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration]
1851
2066
  required :commit_duration,
1852
2067
  -> {
1853
2068
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration
@@ -1897,7 +2112,7 @@ module MetronomeSDK
1897
2112
  # @!attribute invoice_amount
1898
2113
  # The amount the customer should be billed for the commit. Not required.
1899
2114
  #
1900
- # @return [MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount, nil]
2115
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount, nil]
1901
2116
  optional :invoice_amount,
1902
2117
  -> {
1903
2118
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount
@@ -1919,23 +2134,23 @@ module MetronomeSDK
1919
2134
  # Determines whether the first and last commit will be prorated. If not provided,
1920
2135
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1921
2136
  #
1922
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Proration, nil]
2137
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Proration, nil]
1923
2138
  optional :proration, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Proration }
1924
2139
 
1925
2140
  # @!attribute rate_type
1926
2141
  # Whether the created commits will use the commit rate or list rate
1927
2142
  #
1928
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RateType, nil]
2143
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RateType, nil]
1929
2144
  optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RateType }
1930
2145
 
1931
2146
  # @!attribute recurrence_frequency
1932
2147
  # The frequency at which the recurring commits will be created. If not provided: -
1933
2148
  # The commits will be created on the usage invoice frequency. If provided: - The
1934
2149
  # period defined in the duration will correspond to this frequency. - Commits will
1935
- # be created aligned with the recurring commit's start_date rather than the usage
2150
+ # be created aligned with the recurring commit's starting_at rather than the usage
1936
2151
  # invoice dates.
1937
2152
  #
1938
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency, nil]
2153
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency, nil]
1939
2154
  optional :recurrence_frequency,
1940
2155
  enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency }
1941
2156
 
@@ -1947,6 +2162,18 @@ module MetronomeSDK
1947
2162
  # @return [Float, nil]
1948
2163
  optional :rollover_fraction, Float
1949
2164
 
2165
+ # @!attribute specifiers
2166
+ # List of filters that determine what kind of customer usage draws down a commit
2167
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2168
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2169
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2170
+ #
2171
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Specifier>, nil]
2172
+ optional :specifiers,
2173
+ -> {
2174
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier]
2175
+ }
2176
+
1950
2177
  # @!attribute temporary_id
1951
2178
  # A temporary ID that can be used to reference the recurring commit for commit
1952
2179
  # specific overrides.
@@ -1954,13 +2181,14 @@ module MetronomeSDK
1954
2181
  # @return [String, nil]
1955
2182
  optional :temporary_id, String
1956
2183
 
1957
- # @!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, temporary_id: nil)
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)
1958
2185
  # Some parameter documentations has been truncated, see
1959
- # {MetronomeSDK::V1::ContractCreateParams::RecurringCommit} for more details.
2186
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit} for more
2187
+ # details.
1960
2188
  #
1961
- # @param access_amount [MetronomeSDK::V1::ContractCreateParams::RecurringCommit::AccessAmount] The amount of commit to grant.
2189
+ # @param access_amount [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount] The amount of commit to grant.
1962
2190
  #
1963
- # @param commit_duration [MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for.
2191
+ # @param commit_duration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration] Defines the length of the access schedule for each created commit/credit. The va
1964
2192
  #
1965
2193
  # @param priority [Float] Will be passed down to the individual commits
1966
2194
  #
@@ -1976,23 +2204,25 @@ module MetronomeSDK
1976
2204
  #
1977
2205
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
1978
2206
  #
1979
- # @param invoice_amount [MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2207
+ # @param invoice_amount [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
1980
2208
  #
1981
2209
  # @param name [String] displayed on invoices. will be passed through to the individual commits
1982
2210
  #
1983
2211
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
1984
2212
  #
1985
- # @param proration [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2213
+ # @param proration [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1986
2214
  #
1987
- # @param rate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
2215
+ # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
1988
2216
  #
1989
- # @param recurrence_frequency [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
2217
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1990
2218
  #
1991
2219
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1992
2220
  #
2221
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2222
+ #
1993
2223
  # @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
1994
2224
 
1995
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit#access_amount
2225
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#access_amount
1996
2226
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1997
2227
  # @!attribute credit_type_id
1998
2228
  #
@@ -2017,28 +2247,30 @@ module MetronomeSDK
2017
2247
  # @param unit_price [Float]
2018
2248
  end
2019
2249
 
2020
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit#commit_duration
2250
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#commit_duration
2021
2251
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2252
+ # @!attribute value
2253
+ #
2254
+ # @return [Float]
2255
+ required :value, Float
2256
+
2022
2257
  # @!attribute unit
2023
2258
  #
2024
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit]
2025
- required :unit,
2259
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit, nil]
2260
+ optional :unit,
2026
2261
  enum: -> {
2027
2262
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit
2028
2263
  }
2029
2264
 
2030
- # @!attribute value
2265
+ # @!method initialize(value:, unit: nil)
2266
+ # Defines the length of the access schedule for each created commit/credit. The
2267
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2268
+ # length of a period is determined by the recurrence_frequency.
2031
2269
  #
2032
- # @return [Float]
2033
- required :value, Float
2034
-
2035
- # @!method initialize(unit:, value:)
2036
- # The amount of time the created commits will be valid for.
2037
- #
2038
- # @param unit [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit]
2039
2270
  # @param value [Float]
2271
+ # @param unit [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit]
2040
2272
 
2041
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration#unit
2273
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration#unit
2042
2274
  module Unit
2043
2275
  extend MetronomeSDK::Internal::Type::Enum
2044
2276
 
@@ -2049,7 +2281,7 @@ module MetronomeSDK
2049
2281
  end
2050
2282
  end
2051
2283
 
2052
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit#invoice_amount
2284
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#invoice_amount
2053
2285
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
2054
2286
  # @!attribute credit_type_id
2055
2287
  #
@@ -2077,7 +2309,7 @@ module MetronomeSDK
2077
2309
  # Determines whether the first and last commit will be prorated. If not provided,
2078
2310
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2079
2311
  #
2080
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit#proration
2312
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#proration
2081
2313
  module Proration
2082
2314
  extend MetronomeSDK::Internal::Type::Enum
2083
2315
 
@@ -2092,7 +2324,7 @@ module MetronomeSDK
2092
2324
 
2093
2325
  # Whether the created commits will use the commit rate or list rate
2094
2326
  #
2095
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit#rate_type
2327
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#rate_type
2096
2328
  module RateType
2097
2329
  extend MetronomeSDK::Internal::Type::Enum
2098
2330
 
@@ -2106,10 +2338,10 @@ module MetronomeSDK
2106
2338
  # The frequency at which the recurring commits will be created. If not provided: -
2107
2339
  # The commits will be created on the usage invoice frequency. If provided: - The
2108
2340
  # period defined in the duration will correspond to this frequency. - Commits will
2109
- # be created aligned with the recurring commit's start_date rather than the usage
2341
+ # be created aligned with the recurring commit's starting_at rather than the usage
2110
2342
  # invoice dates.
2111
2343
  #
2112
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCommit#recurrence_frequency
2344
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#recurrence_frequency
2113
2345
  module RecurrenceFrequency
2114
2346
  extend MetronomeSDK::Internal::Type::Enum
2115
2347
 
@@ -2121,22 +2353,62 @@ module MetronomeSDK
2121
2353
  # @!method self.values
2122
2354
  # @return [Array<Symbol>]
2123
2355
  end
2356
+
2357
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2358
+ # @!attribute presentation_group_values
2359
+ #
2360
+ # @return [Hash{Symbol=>String}, nil]
2361
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2362
+
2363
+ # @!attribute pricing_group_values
2364
+ #
2365
+ # @return [Hash{Symbol=>String}, nil]
2366
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2367
+
2368
+ # @!attribute product_id
2369
+ # If provided, the specifier will only apply to the product with the specified ID.
2370
+ #
2371
+ # @return [String, nil]
2372
+ optional :product_id, String
2373
+
2374
+ # @!attribute product_tags
2375
+ # If provided, the specifier will only apply to products with all the specified
2376
+ # tags.
2377
+ #
2378
+ # @return [Array<String>, nil]
2379
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2380
+
2381
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2382
+ # Some parameter documentations has been truncated, see
2383
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Specifier} for
2384
+ # more details.
2385
+ #
2386
+ # @param presentation_group_values [Hash{Symbol=>String}]
2387
+ #
2388
+ # @param pricing_group_values [Hash{Symbol=>String}]
2389
+ #
2390
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2391
+ #
2392
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2393
+ end
2124
2394
  end
2125
2395
 
2126
2396
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
2127
2397
  # @!attribute access_amount
2128
2398
  # The amount of commit to grant.
2129
2399
  #
2130
- # @return [MetronomeSDK::V1::ContractCreateParams::RecurringCredit::AccessAmount]
2400
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount]
2131
2401
  required :access_amount,
2132
2402
  -> {
2133
2403
  MetronomeSDK::V1::ContractCreateParams::RecurringCredit::AccessAmount
2134
2404
  }
2135
2405
 
2136
2406
  # @!attribute commit_duration
2137
- # The amount of time the created commits will be valid for.
2407
+ # Defines the length of the access schedule for each created commit/credit. The
2408
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2409
+ # length of a period is determined by the recurrence_frequency.
2138
2410
  #
2139
- # @return [MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration]
2411
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration]
2140
2412
  required :commit_duration,
2141
2413
  -> {
2142
2414
  MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration
@@ -2199,23 +2471,23 @@ module MetronomeSDK
2199
2471
  # Determines whether the first and last commit will be prorated. If not provided,
2200
2472
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2201
2473
  #
2202
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Proration, nil]
2474
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Proration, nil]
2203
2475
  optional :proration, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Proration }
2204
2476
 
2205
2477
  # @!attribute rate_type
2206
2478
  # Whether the created commits will use the commit rate or list rate
2207
2479
  #
2208
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RateType, nil]
2480
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RateType, nil]
2209
2481
  optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RateType }
2210
2482
 
2211
2483
  # @!attribute recurrence_frequency
2212
2484
  # The frequency at which the recurring commits will be created. If not provided: -
2213
2485
  # The commits will be created on the usage invoice frequency. If provided: - The
2214
2486
  # period defined in the duration will correspond to this frequency. - Commits will
2215
- # be created aligned with the recurring commit's start_date rather than the usage
2487
+ # be created aligned with the recurring commit's starting_at rather than the usage
2216
2488
  # invoice dates.
2217
2489
  #
2218
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency, nil]
2490
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency, nil]
2219
2491
  optional :recurrence_frequency,
2220
2492
  enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency }
2221
2493
 
@@ -2227,6 +2499,18 @@ module MetronomeSDK
2227
2499
  # @return [Float, nil]
2228
2500
  optional :rollover_fraction, Float
2229
2501
 
2502
+ # @!attribute specifiers
2503
+ # List of filters that determine what kind of customer usage draws down a commit
2504
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2505
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2506
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2507
+ #
2508
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Specifier>, nil]
2509
+ optional :specifiers,
2510
+ -> {
2511
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier]
2512
+ }
2513
+
2230
2514
  # @!attribute temporary_id
2231
2515
  # A temporary ID that can be used to reference the recurring commit for commit
2232
2516
  # specific overrides.
@@ -2234,13 +2518,14 @@ module MetronomeSDK
2234
2518
  # @return [String, nil]
2235
2519
  optional :temporary_id, String
2236
2520
 
2237
- # @!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, temporary_id: nil)
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)
2238
2522
  # Some parameter documentations has been truncated, see
2239
- # {MetronomeSDK::V1::ContractCreateParams::RecurringCredit} for more details.
2523
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit} for more
2524
+ # details.
2240
2525
  #
2241
- # @param access_amount [MetronomeSDK::V1::ContractCreateParams::RecurringCredit::AccessAmount] The amount of commit to grant.
2526
+ # @param access_amount [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount] The amount of commit to grant.
2242
2527
  #
2243
- # @param commit_duration [MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for.
2528
+ # @param commit_duration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration] Defines the length of the access schedule for each created commit/credit. The va
2244
2529
  #
2245
2530
  # @param priority [Float] Will be passed down to the individual commits
2246
2531
  #
@@ -2260,17 +2545,19 @@ module MetronomeSDK
2260
2545
  #
2261
2546
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2262
2547
  #
2263
- # @param proration [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2548
+ # @param proration [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2264
2549
  #
2265
- # @param rate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
2550
+ # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
2266
2551
  #
2267
- # @param recurrence_frequency [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
2552
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
2268
2553
  #
2269
2554
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2270
2555
  #
2556
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2557
+ #
2271
2558
  # @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
2272
2559
 
2273
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCredit#access_amount
2560
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#access_amount
2274
2561
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
2275
2562
  # @!attribute credit_type_id
2276
2563
  #
@@ -2295,28 +2582,30 @@ module MetronomeSDK
2295
2582
  # @param unit_price [Float]
2296
2583
  end
2297
2584
 
2298
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCredit#commit_duration
2585
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#commit_duration
2299
2586
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2587
+ # @!attribute value
2588
+ #
2589
+ # @return [Float]
2590
+ required :value, Float
2591
+
2300
2592
  # @!attribute unit
2301
2593
  #
2302
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit]
2303
- required :unit,
2594
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit, nil]
2595
+ optional :unit,
2304
2596
  enum: -> {
2305
2597
  MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit
2306
2598
  }
2307
2599
 
2308
- # @!attribute value
2600
+ # @!method initialize(value:, unit: nil)
2601
+ # Defines the length of the access schedule for each created commit/credit. The
2602
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2603
+ # length of a period is determined by the recurrence_frequency.
2309
2604
  #
2310
- # @return [Float]
2311
- required :value, Float
2312
-
2313
- # @!method initialize(unit:, value:)
2314
- # The amount of time the created commits will be valid for.
2315
- #
2316
- # @param unit [Symbol, MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit]
2317
2605
  # @param value [Float]
2606
+ # @param unit [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit]
2318
2607
 
2319
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration#unit
2608
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration#unit
2320
2609
  module Unit
2321
2610
  extend MetronomeSDK::Internal::Type::Enum
2322
2611
 
@@ -2330,7 +2619,7 @@ module MetronomeSDK
2330
2619
  # Determines whether the first and last commit will be prorated. If not provided,
2331
2620
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2332
2621
  #
2333
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCredit#proration
2622
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#proration
2334
2623
  module Proration
2335
2624
  extend MetronomeSDK::Internal::Type::Enum
2336
2625
 
@@ -2345,7 +2634,7 @@ module MetronomeSDK
2345
2634
 
2346
2635
  # Whether the created commits will use the commit rate or list rate
2347
2636
  #
2348
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCredit#rate_type
2637
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#rate_type
2349
2638
  module RateType
2350
2639
  extend MetronomeSDK::Internal::Type::Enum
2351
2640
 
@@ -2359,10 +2648,10 @@ module MetronomeSDK
2359
2648
  # The frequency at which the recurring commits will be created. If not provided: -
2360
2649
  # The commits will be created on the usage invoice frequency. If provided: - The
2361
2650
  # period defined in the duration will correspond to this frequency. - Commits will
2362
- # be created aligned with the recurring commit's start_date rather than the usage
2651
+ # be created aligned with the recurring commit's starting_at rather than the usage
2363
2652
  # invoice dates.
2364
2653
  #
2365
- # @see MetronomeSDK::V1::ContractCreateParams::RecurringCredit#recurrence_frequency
2654
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#recurrence_frequency
2366
2655
  module RecurrenceFrequency
2367
2656
  extend MetronomeSDK::Internal::Type::Enum
2368
2657
 
@@ -2374,6 +2663,44 @@ module MetronomeSDK
2374
2663
  # @!method self.values
2375
2664
  # @return [Array<Symbol>]
2376
2665
  end
2666
+
2667
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2668
+ # @!attribute presentation_group_values
2669
+ #
2670
+ # @return [Hash{Symbol=>String}, nil]
2671
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2672
+
2673
+ # @!attribute pricing_group_values
2674
+ #
2675
+ # @return [Hash{Symbol=>String}, nil]
2676
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2677
+
2678
+ # @!attribute product_id
2679
+ # If provided, the specifier will only apply to the product with the specified ID.
2680
+ #
2681
+ # @return [String, nil]
2682
+ optional :product_id, String
2683
+
2684
+ # @!attribute product_tags
2685
+ # If provided, the specifier will only apply to products with all the specified
2686
+ # tags.
2687
+ #
2688
+ # @return [Array<String>, nil]
2689
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2690
+
2691
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2692
+ # Some parameter documentations has been truncated, see
2693
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Specifier} for
2694
+ # more details.
2695
+ #
2696
+ # @param presentation_group_values [Hash{Symbol=>String}]
2697
+ #
2698
+ # @param pricing_group_values [Hash{Symbol=>String}]
2699
+ #
2700
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2701
+ #
2702
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2703
+ end
2377
2704
  end
2378
2705
 
2379
2706
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -2389,7 +2716,7 @@ module MetronomeSDK
2389
2716
 
2390
2717
  # @!attribute reseller_type
2391
2718
  #
2392
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::ResellerType]
2719
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::ResellerType]
2393
2720
  required :reseller_type,
2394
2721
  enum: -> { MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::ResellerType }
2395
2722
 
@@ -2412,7 +2739,7 @@ module MetronomeSDK
2412
2739
 
2413
2740
  # @!attribute aws_options
2414
2741
  #
2415
- # @return [MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::AwsOptions, nil]
2742
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions, nil]
2416
2743
  optional :aws_options, -> { MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::AwsOptions }
2417
2744
 
2418
2745
  # @!attribute ending_before
@@ -2422,7 +2749,7 @@ module MetronomeSDK
2422
2749
 
2423
2750
  # @!attribute gcp_options
2424
2751
  #
2425
- # @return [MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::GcpOptions, nil]
2752
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions, nil]
2426
2753
  optional :gcp_options, -> { MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::GcpOptions }
2427
2754
 
2428
2755
  # @!attribute reseller_contract_value
@@ -2435,7 +2762,7 @@ module MetronomeSDK
2435
2762
  #
2436
2763
  # @param netsuite_reseller_id [String]
2437
2764
  #
2438
- # @param reseller_type [Symbol, MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::ResellerType]
2765
+ # @param reseller_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::ResellerType]
2439
2766
  #
2440
2767
  # @param starting_at [Time]
2441
2768
  #
@@ -2443,15 +2770,15 @@ module MetronomeSDK
2443
2770
  #
2444
2771
  # @param applicable_product_tags [Array<String>] Must provide at least one of applicable_product_ids or applicable_product_tags.
2445
2772
  #
2446
- # @param aws_options [MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::AwsOptions]
2773
+ # @param aws_options [MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions]
2447
2774
  #
2448
2775
  # @param ending_before [Time]
2449
2776
  #
2450
- # @param gcp_options [MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::GcpOptions]
2777
+ # @param gcp_options [MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions]
2451
2778
  #
2452
2779
  # @param reseller_contract_value [Float]
2453
2780
 
2454
- # @see MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty#reseller_type
2781
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty#reseller_type
2455
2782
  module ResellerType
2456
2783
  extend MetronomeSDK::Internal::Type::Enum
2457
2784
 
@@ -2464,7 +2791,7 @@ module MetronomeSDK
2464
2791
  # @return [Array<Symbol>]
2465
2792
  end
2466
2793
 
2467
- # @see MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty#aws_options
2794
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty#aws_options
2468
2795
  class AwsOptions < MetronomeSDK::Internal::Type::BaseModel
2469
2796
  # @!attribute aws_account_number
2470
2797
  #
@@ -2487,7 +2814,7 @@ module MetronomeSDK
2487
2814
  # @param aws_payer_reference_id [String]
2488
2815
  end
2489
2816
 
2490
- # @see MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty#gcp_options
2817
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty#gcp_options
2491
2818
  class GcpOptions < MetronomeSDK::Internal::Type::BaseModel
2492
2819
  # @!attribute gcp_account_id
2493
2820
  #
@@ -2514,7 +2841,7 @@ module MetronomeSDK
2514
2841
  # @!attribute schedule
2515
2842
  # Must provide either schedule_items or recurring_schedule.
2516
2843
  #
2517
- # @return [MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule]
2844
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule]
2518
2845
  required :schedule, -> { MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule }
2519
2846
 
2520
2847
  # @!attribute name
@@ -2532,13 +2859,13 @@ module MetronomeSDK
2532
2859
  # @!method initialize(product_id:, schedule:, name: nil, netsuite_sales_order_id: nil)
2533
2860
  # @param product_id [String]
2534
2861
  #
2535
- # @param schedule [MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule] Must provide either schedule_items or recurring_schedule.
2862
+ # @param schedule [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule] Must provide either schedule_items or recurring_schedule.
2536
2863
  #
2537
2864
  # @param name [String] displayed on invoices
2538
2865
  #
2539
2866
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2540
2867
 
2541
- # @see MetronomeSDK::V1::ContractCreateParams::ScheduledCharge#schedule
2868
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge#schedule
2542
2869
  class Schedule < MetronomeSDK::Internal::Type::BaseModel
2543
2870
  # @!attribute credit_type_id
2544
2871
  # Defaults to USD (cents) if not passed.
@@ -2551,7 +2878,7 @@ module MetronomeSDK
2551
2878
  # amount. If amount is sent, the unit price is assumed to be the amount and
2552
2879
  # quantity is inferred to be 1.
2553
2880
  #
2554
- # @return [MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule, nil]
2881
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule, nil]
2555
2882
  optional :recurring_schedule,
2556
2883
  -> {
2557
2884
  MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule
@@ -2560,7 +2887,7 @@ module MetronomeSDK
2560
2887
  # @!attribute schedule_items
2561
2888
  # Either provide amount or provide both unit_price and quantity.
2562
2889
  #
2563
- # @return [Array<MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem>, nil]
2890
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem>, nil]
2564
2891
  optional :schedule_items,
2565
2892
  -> {
2566
2893
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
@@ -2568,22 +2895,22 @@ module MetronomeSDK
2568
2895
 
2569
2896
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
2570
2897
  # Some parameter documentations has been truncated, see
2571
- # {MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule} for more
2572
- # details.
2898
+ # {MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule} for
2899
+ # more details.
2573
2900
  #
2574
2901
  # Must provide either schedule_items or recurring_schedule.
2575
2902
  #
2576
2903
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
2577
2904
  #
2578
- # @param recurring_schedule [MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2905
+ # @param recurring_schedule [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2579
2906
  #
2580
- # @param schedule_items [Array<MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2907
+ # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2581
2908
 
2582
- # @see MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule#recurring_schedule
2909
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule#recurring_schedule
2583
2910
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
2584
2911
  # @!attribute amount_distribution
2585
2912
  #
2586
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2913
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2587
2914
  required :amount_distribution,
2588
2915
  enum: -> {
2589
2916
  MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution
@@ -2597,7 +2924,7 @@ module MetronomeSDK
2597
2924
 
2598
2925
  # @!attribute frequency
2599
2926
  #
2600
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency]
2927
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency]
2601
2928
  required :frequency,
2602
2929
  enum: -> {
2603
2930
  MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency
@@ -2635,18 +2962,18 @@ module MetronomeSDK
2635
2962
 
2636
2963
  # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
2637
2964
  # Some parameter documentations has been truncated, see
2638
- # {MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule}
2965
+ # {MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule}
2639
2966
  # for more details.
2640
2967
  #
2641
2968
  # Enter the unit price and quantity for the charge or instead only send the
2642
2969
  # amount. If amount is sent, the unit price is assumed to be the amount and
2643
2970
  # quantity is inferred to be 1.
2644
2971
  #
2645
- # @param amount_distribution [Symbol, MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2972
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2646
2973
  #
2647
2974
  # @param ending_before [Time] RFC 3339 timestamp (exclusive).
2648
2975
  #
2649
- # @param frequency [Symbol, MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency]
2976
+ # @param frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency]
2650
2977
  #
2651
2978
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
2652
2979
  #
@@ -2656,7 +2983,7 @@ module MetronomeSDK
2656
2983
  #
2657
2984
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2658
2985
 
2659
- # @see MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule#amount_distribution
2986
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule#amount_distribution
2660
2987
  module AmountDistribution
2661
2988
  extend MetronomeSDK::Internal::Type::Enum
2662
2989
 
@@ -2668,7 +2995,7 @@ module MetronomeSDK
2668
2995
  # @return [Array<Symbol>]
2669
2996
  end
2670
2997
 
2671
- # @see MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule#frequency
2998
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule#frequency
2672
2999
  module Frequency
2673
3000
  extend MetronomeSDK::Internal::Type::Enum
2674
3001
 
@@ -2715,7 +3042,7 @@ module MetronomeSDK
2715
3042
 
2716
3043
  # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
2717
3044
  # Some parameter documentations has been truncated, see
2718
- # {MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem}
3045
+ # {MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem}
2719
3046
  # for more details.
2720
3047
  #
2721
3048
  # @param timestamp [Time] timestamp of the scheduled event
@@ -2746,7 +3073,7 @@ module MetronomeSDK
2746
3073
  class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2747
3074
  # @!attribute commit
2748
3075
  #
2749
- # @return [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::Commit]
3076
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit]
2750
3077
  required :commit, -> { MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::Commit }
2751
3078
 
2752
3079
  # @!attribute is_enabled
@@ -2759,7 +3086,7 @@ module MetronomeSDK
2759
3086
 
2760
3087
  # @!attribute payment_gate_config
2761
3088
  #
2762
- # @return [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig]
3089
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig]
2763
3090
  required :payment_gate_config,
2764
3091
  -> {
2765
3092
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig
@@ -2774,18 +3101,18 @@ module MetronomeSDK
2774
3101
 
2775
3102
  # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
2776
3103
  # Some parameter documentations has been truncated, see
2777
- # {MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration} for more
2778
- # details.
3104
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration}
3105
+ # for more details.
2779
3106
  #
2780
- # @param commit [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::Commit]
3107
+ # @param commit [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit]
2781
3108
  #
2782
3109
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2783
3110
  #
2784
- # @param payment_gate_config [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig]
3111
+ # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig]
2785
3112
  #
2786
3113
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2787
3114
 
2788
- # @see MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration#commit
3115
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration#commit
2789
3116
  class Commit < MetronomeSDK::Internal::Type::BaseModel
2790
3117
  # @!attribute product_id
2791
3118
  # The commit product that will be used to generate the line item for commit
@@ -2808,7 +3135,7 @@ module MetronomeSDK
2808
3135
 
2809
3136
  # @!method initialize(product_id:, description: nil, name: nil)
2810
3137
  # Some parameter documentations has been truncated, see
2811
- # {MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::Commit}
3138
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit}
2812
3139
  # for more details.
2813
3140
  #
2814
3141
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
@@ -2818,7 +3145,7 @@ module MetronomeSDK
2818
3145
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2819
3146
  end
2820
3147
 
2821
- # @see MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration#payment_gate_config
3148
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration#payment_gate_config
2822
3149
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2823
3150
  # @!attribute payment_gate_type
2824
3151
  # Gate access to the commit balance based on successful collection of payment.
@@ -2826,7 +3153,7 @@ module MetronomeSDK
2826
3153
  # facilitate payment using your own payment integration. Select NONE if you do not
2827
3154
  # wish to payment gate the commit balance.
2828
3155
  #
2829
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
3156
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2830
3157
  required :payment_gate_type,
2831
3158
  enum: -> {
2832
3159
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
@@ -2835,7 +3162,7 @@ module MetronomeSDK
2835
3162
  # @!attribute stripe_config
2836
3163
  # Only applicable if using Stripe as your payment gateway through Metronome.
2837
3164
  #
2838
- # @return [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3165
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2839
3166
  optional :stripe_config,
2840
3167
  -> {
2841
3168
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -2846,7 +3173,7 @@ module MetronomeSDK
2846
3173
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2847
3174
  # will default to NONE.
2848
3175
  #
2849
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
3176
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2850
3177
  optional :tax_type,
2851
3178
  enum: -> {
2852
3179
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType
@@ -2854,21 +3181,21 @@ module MetronomeSDK
2854
3181
 
2855
3182
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2856
3183
  # Some parameter documentations has been truncated, see
2857
- # {MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig}
3184
+ # {MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig}
2858
3185
  # for more details.
2859
3186
  #
2860
- # @param payment_gate_type [Symbol, MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3187
+ # @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
2861
3188
  #
2862
- # @param stripe_config [MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3189
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2863
3190
  #
2864
- # @param tax_type [Symbol, MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3191
+ # @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
2865
3192
 
2866
3193
  # Gate access to the commit balance based on successful collection of payment.
2867
3194
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2868
3195
  # facilitate payment using your own payment integration. Select NONE if you do not
2869
3196
  # wish to payment gate the commit balance.
2870
3197
  #
2871
- # @see MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
3198
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
2872
3199
  module PaymentGateType
2873
3200
  extend MetronomeSDK::Internal::Type::Enum
2874
3201
 
@@ -2880,12 +3207,12 @@ module MetronomeSDK
2880
3207
  # @return [Array<Symbol>]
2881
3208
  end
2882
3209
 
2883
- # @see MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3210
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
2884
3211
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2885
3212
  # @!attribute payment_type
2886
3213
  # If left blank, will default to INVOICE
2887
3214
  #
2888
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
3215
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2889
3216
  required :payment_type,
2890
3217
  enum: -> {
2891
3218
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
@@ -2894,11 +3221,11 @@ module MetronomeSDK
2894
3221
  # @!method initialize(payment_type:)
2895
3222
  # Only applicable if using Stripe as your payment gateway through Metronome.
2896
3223
  #
2897
- # @param payment_type [Symbol, MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3224
+ # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2898
3225
 
2899
3226
  # If left blank, will default to INVOICE
2900
3227
  #
2901
- # @see MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
3228
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2902
3229
  module PaymentType
2903
3230
  extend MetronomeSDK::Internal::Type::Enum
2904
3231
 
@@ -2914,7 +3241,7 @@ module MetronomeSDK
2914
3241
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2915
3242
  # will default to NONE.
2916
3243
  #
2917
- # @see MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#tax_type
3244
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig#tax_type
2918
3245
  module TaxType
2919
3246
  extend MetronomeSDK::Internal::Type::Enum
2920
3247
 
@@ -2927,6 +3254,185 @@ module MetronomeSDK
2927
3254
  end
2928
3255
  end
2929
3256
 
3257
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
3258
+ # @!attribute collection_schedule
3259
+ #
3260
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::CollectionSchedule]
3261
+ required :collection_schedule,
3262
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule }
3263
+
3264
+ # @!attribute initial_quantity
3265
+ # The initial quantity for the subscription. It must be non-negative value.
3266
+ #
3267
+ # @return [Float]
3268
+ required :initial_quantity, Float
3269
+
3270
+ # @!attribute proration
3271
+ #
3272
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration]
3273
+ required :proration, -> { MetronomeSDK::V1::ContractCreateParams::Subscription::Proration }
3274
+
3275
+ # @!attribute subscription_rate
3276
+ #
3277
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate]
3278
+ required :subscription_rate,
3279
+ -> {
3280
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate
3281
+ }
3282
+
3283
+ # @!attribute custom_fields
3284
+ #
3285
+ # @return [Hash{Symbol=>String}, nil]
3286
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
3287
+
3288
+ # @!attribute description
3289
+ #
3290
+ # @return [String, nil]
3291
+ optional :description, String
3292
+
3293
+ # @!attribute ending_before
3294
+ # Exclusive end time for the subscription. If not provided, subscription inherits
3295
+ # contract end date.
3296
+ #
3297
+ # @return [Time, nil]
3298
+ optional :ending_before, Time
3299
+
3300
+ # @!attribute name
3301
+ #
3302
+ # @return [String, nil]
3303
+ optional :name, String
3304
+
3305
+ # @!attribute starting_at
3306
+ # Inclusive start time for the subscription. If not provided, defaults to contract
3307
+ # start date
3308
+ #
3309
+ # @return [Time, nil]
3310
+ optional :starting_at, Time
3311
+
3312
+ # @!method initialize(collection_schedule:, initial_quantity:, proration:, subscription_rate:, custom_fields: nil, description: nil, ending_before: nil, name: nil, starting_at: nil)
3313
+ # Some parameter documentations has been truncated, see
3314
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Subscription} for more details.
3315
+ #
3316
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::CollectionSchedule]
3317
+ #
3318
+ # @param initial_quantity [Float] The initial quantity for the subscription. It must be non-negative value.
3319
+ #
3320
+ # @param proration [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration]
3321
+ #
3322
+ # @param subscription_rate [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate]
3323
+ #
3324
+ # @param custom_fields [Hash{Symbol=>String}]
3325
+ #
3326
+ # @param description [String]
3327
+ #
3328
+ # @param ending_before [Time] Exclusive end time for the subscription. If not provided, subscription inherits
3329
+ #
3330
+ # @param name [String]
3331
+ #
3332
+ # @param starting_at [Time] Inclusive start time for the subscription. If not provided, defaults to contract
3333
+
3334
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#collection_schedule
3335
+ module CollectionSchedule
3336
+ extend MetronomeSDK::Internal::Type::Enum
3337
+
3338
+ ADVANCE = :ADVANCE
3339
+ ARREARS = :ARREARS
3340
+
3341
+ # @!method self.values
3342
+ # @return [Array<Symbol>]
3343
+ end
3344
+
3345
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#proration
3346
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3347
+ # @!attribute invoice_behavior
3348
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3349
+ # is selected, the quantity increase will be billed on the scheduled date. If
3350
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
3351
+ # for in-arrears at the end of the period.
3352
+ #
3353
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior, nil]
3354
+ optional :invoice_behavior,
3355
+ enum: -> {
3356
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior
3357
+ }
3358
+
3359
+ # @!attribute is_prorated
3360
+ # Indicates if the partial period will be prorated or charged a full amount.
3361
+ #
3362
+ # @return [Boolean, nil]
3363
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
3364
+
3365
+ # @!method initialize(invoice_behavior: nil, is_prorated: nil)
3366
+ # Some parameter documentations has been truncated, see
3367
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration} for
3368
+ # more details.
3369
+ #
3370
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior] Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3371
+ #
3372
+ # @param is_prorated [Boolean] Indicates if the partial period will be prorated or charged a full amount.
3373
+
3374
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3375
+ # is selected, the quantity increase will be billed on the scheduled date. If
3376
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
3377
+ # for in-arrears at the end of the period.
3378
+ #
3379
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration#invoice_behavior
3380
+ module InvoiceBehavior
3381
+ extend MetronomeSDK::Internal::Type::Enum
3382
+
3383
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
3384
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
3385
+
3386
+ # @!method self.values
3387
+ # @return [Array<Symbol>]
3388
+ end
3389
+ end
3390
+
3391
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#subscription_rate
3392
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3393
+ # @!attribute billing_frequency
3394
+ # Frequency to bill subscription with. Together with product_id, must match
3395
+ # existing rate on the rate card.
3396
+ #
3397
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency]
3398
+ required :billing_frequency,
3399
+ enum: -> {
3400
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency
3401
+ }
3402
+
3403
+ # @!attribute product_id
3404
+ # Must be subscription type product
3405
+ #
3406
+ # @return [String]
3407
+ required :product_id, String
3408
+
3409
+ # @!method initialize(billing_frequency:, product_id:)
3410
+ # Some parameter documentations has been truncated, see
3411
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate}
3412
+ # for more details.
3413
+ #
3414
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency] Frequency to bill subscription with. Together with product_id, must match existi
3415
+ #
3416
+ # @param product_id [String] Must be subscription type product
3417
+
3418
+ # Frequency to bill subscription with. Together with product_id, must match
3419
+ # existing rate on the rate card.
3420
+ #
3421
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate#billing_frequency
3422
+ module BillingFrequency
3423
+ extend MetronomeSDK::Internal::Type::Enum
3424
+
3425
+ MONTHLY = :MONTHLY
3426
+ QUARTERLY = :QUARTERLY
3427
+ ANNUAL = :ANNUAL
3428
+ WEEKLY = :WEEKLY
3429
+
3430
+ # @!method self.values
3431
+ # @return [Array<Symbol>]
3432
+ end
3433
+ end
3434
+ end
3435
+
2930
3436
  class Transition < MetronomeSDK::Internal::Type::BaseModel
2931
3437
  # @!attribute from_contract_id
2932
3438
  #
@@ -2936,25 +3442,25 @@ module MetronomeSDK
2936
3442
  # @!attribute type
2937
3443
  # This field's available values may vary based on your client's configuration.
2938
3444
  #
2939
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Transition::Type]
3445
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::Type]
2940
3446
  required :type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Transition::Type }
2941
3447
 
2942
3448
  # @!attribute future_invoice_behavior
2943
3449
  #
2944
- # @return [MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior, nil]
3450
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior, nil]
2945
3451
  optional :future_invoice_behavior,
2946
3452
  -> { MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior }
2947
3453
 
2948
3454
  # @!method initialize(from_contract_id:, type:, future_invoice_behavior: nil)
2949
3455
  # @param from_contract_id [String]
2950
3456
  #
2951
- # @param type [Symbol, MetronomeSDK::V1::ContractCreateParams::Transition::Type] This field's available values may vary based on your client's configuration.
3457
+ # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::Type] This field's available values may vary based on your client's configuration.
2952
3458
  #
2953
- # @param future_invoice_behavior [MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior]
3459
+ # @param future_invoice_behavior [MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior]
2954
3460
 
2955
3461
  # This field's available values may vary based on your client's configuration.
2956
3462
  #
2957
- # @see MetronomeSDK::V1::ContractCreateParams::Transition#type
3463
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Transition#type
2958
3464
  module Type
2959
3465
  extend MetronomeSDK::Internal::Type::Enum
2960
3466
 
@@ -2965,13 +3471,13 @@ module MetronomeSDK
2965
3471
  # @return [Array<Symbol>]
2966
3472
  end
2967
3473
 
2968
- # @see MetronomeSDK::V1::ContractCreateParams::Transition#future_invoice_behavior
3474
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Transition#future_invoice_behavior
2969
3475
  class FutureInvoiceBehavior < MetronomeSDK::Internal::Type::BaseModel
2970
3476
  # @!attribute trueup
2971
3477
  # Controls whether future trueup invoices are billed or removed. Default behavior
2972
3478
  # is AS_IS if not specified.
2973
3479
  #
2974
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup, nil]
3480
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup, nil]
2975
3481
  optional :trueup,
2976
3482
  enum: -> {
2977
3483
  MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup
@@ -2980,15 +3486,15 @@ module MetronomeSDK
2980
3486
 
2981
3487
  # @!method initialize(trueup: nil)
2982
3488
  # Some parameter documentations has been truncated, see
2983
- # {MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior} for
2984
- # more details.
3489
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior}
3490
+ # for more details.
2985
3491
  #
2986
- # @param trueup [Symbol, MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup, nil] Controls whether future trueup invoices are billed or removed. Default behavior
3492
+ # @param trueup [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup, nil] Controls whether future trueup invoices are billed or removed. Default behavior
2987
3493
 
2988
3494
  # Controls whether future trueup invoices are billed or removed. Default behavior
2989
3495
  # is AS_IS if not specified.
2990
3496
  #
2991
- # @see MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior#trueup
3497
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior#trueup
2992
3498
  module Trueup
2993
3499
  extend MetronomeSDK::Internal::Type::Enum
2994
3500
 
@@ -3001,10 +3507,32 @@ module MetronomeSDK
3001
3507
  end
3002
3508
  end
3003
3509
 
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
+
3004
3532
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
3005
3533
  # @!attribute frequency
3006
3534
  #
3007
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Frequency]
3535
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Frequency]
3008
3536
  required :frequency,
3009
3537
  enum: -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Frequency }
3010
3538
 
@@ -3021,7 +3549,7 @@ module MetronomeSDK
3021
3549
  # @!attribute day
3022
3550
  # If not provided, defaults to the first day of the month.
3023
3551
  #
3024
- # @return [Symbol, MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Day, nil]
3552
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Day, nil]
3025
3553
  optional :day, enum: -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Day }
3026
3554
 
3027
3555
  # @!attribute invoice_generation_starting_at
@@ -3035,18 +3563,18 @@ module MetronomeSDK
3035
3563
 
3036
3564
  # @!method initialize(frequency:, billing_anchor_date: nil, day: nil, invoice_generation_starting_at: nil)
3037
3565
  # Some parameter documentations has been truncated, see
3038
- # {MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule} for more
3039
- # details.
3566
+ # {MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule} for
3567
+ # more details.
3040
3568
  #
3041
- # @param frequency [Symbol, MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Frequency]
3569
+ # @param frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Frequency]
3042
3570
  #
3043
3571
  # @param billing_anchor_date [Time] Required when using CUSTOM_DATE. This option lets you set a historical billing a
3044
3572
  #
3045
- # @param day [Symbol, MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Day] If not provided, defaults to the first day of the month.
3573
+ # @param day [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Day] If not provided, defaults to the first day of the month.
3046
3574
  #
3047
3575
  # @param invoice_generation_starting_at [Time] The date Metronome should start generating usage invoices. If unspecified, contr
3048
3576
 
3049
- # @see MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule#frequency
3577
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule#frequency
3050
3578
  module Frequency
3051
3579
  extend MetronomeSDK::Internal::Type::Enum
3052
3580
 
@@ -3061,7 +3589,7 @@ module MetronomeSDK
3061
3589
 
3062
3590
  # If not provided, defaults to the first day of the month.
3063
3591
  #
3064
- # @see MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule#day
3592
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule#day
3065
3593
  module Day
3066
3594
  extend MetronomeSDK::Internal::Type::Enum
3067
3595