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
@@ -223,6 +223,28 @@ module MetronomeSDK
223
223
  end
224
224
  attr_writer :add_spend_threshold_configuration
225
225
 
226
+ # (beta) Optional list of
227
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
228
+ # to add to the contract.
229
+ sig do
230
+ returns(
231
+ T.nilable(
232
+ T::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription]
233
+ )
234
+ )
235
+ end
236
+ attr_reader :add_subscriptions
237
+
238
+ sig do
239
+ params(
240
+ add_subscriptions:
241
+ T::Array[
242
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::OrHash
243
+ ]
244
+ ).void
245
+ end
246
+ attr_writer :add_subscriptions
247
+
226
248
  # If true, allows setting the contract end date earlier than the end_timestamp of
227
249
  # existing finalized invoices. Finalized invoices will be unchanged; if you want
228
250
  # to incorporate the new end date, you can void and regenerate finalized usage
@@ -340,10 +362,7 @@ module MetronomeSDK
340
362
 
341
363
  # RFC 3339 timestamp indicating when the contract will end (exclusive).
342
364
  sig { returns(T.nilable(Time)) }
343
- attr_reader :update_contract_end_date
344
-
345
- sig { params(update_contract_end_date: Time).void }
346
- attr_writer :update_contract_end_date
365
+ attr_accessor :update_contract_end_date
347
366
 
348
367
  sig do
349
368
  returns(
@@ -381,6 +400,54 @@ module MetronomeSDK
381
400
  end
382
401
  attr_writer :update_prepaid_balance_threshold_configuration
383
402
 
403
+ # Edits to these recurring commits will only affect commits whose access schedules
404
+ # has not started. Expired commits, and commits with an active access schedule
405
+ # will remain unchanged.
406
+ sig do
407
+ returns(
408
+ T.nilable(
409
+ T::Array[
410
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit
411
+ ]
412
+ )
413
+ )
414
+ end
415
+ attr_reader :update_recurring_commits
416
+
417
+ sig do
418
+ params(
419
+ update_recurring_commits:
420
+ T::Array[
421
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::OrHash
422
+ ]
423
+ ).void
424
+ end
425
+ attr_writer :update_recurring_commits
426
+
427
+ # Edits to these recurring credits will only affect credits whose access schedules
428
+ # has not started. Expired credits, and credits with an active access schedule
429
+ # will remain unchanged.
430
+ sig do
431
+ returns(
432
+ T.nilable(
433
+ T::Array[
434
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit
435
+ ]
436
+ )
437
+ )
438
+ end
439
+ attr_reader :update_recurring_credits
440
+
441
+ sig do
442
+ params(
443
+ update_recurring_credits:
444
+ T::Array[
445
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::OrHash
446
+ ]
447
+ ).void
448
+ end
449
+ attr_writer :update_recurring_credits
450
+
384
451
  sig do
385
452
  returns(
386
453
  T.nilable(
@@ -419,6 +486,26 @@ module MetronomeSDK
419
486
  end
420
487
  attr_writer :update_spend_threshold_configuration
421
488
 
489
+ # (beta) Optional list of subscriptions to update.
490
+ sig do
491
+ returns(
492
+ T.nilable(
493
+ T::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]
494
+ )
495
+ )
496
+ end
497
+ attr_reader :update_subscriptions
498
+
499
+ sig do
500
+ params(
501
+ update_subscriptions:
502
+ T::Array[
503
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::OrHash
504
+ ]
505
+ ).void
506
+ end
507
+ attr_writer :update_subscriptions
508
+
422
509
  sig do
423
510
  params(
424
511
  contract_id: String,
@@ -459,6 +546,10 @@ module MetronomeSDK
459
546
  ],
460
547
  add_spend_threshold_configuration:
461
548
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::OrHash,
549
+ add_subscriptions:
550
+ T::Array[
551
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::OrHash
552
+ ],
462
553
  allow_contract_ending_before_finalized_invoice: T::Boolean,
463
554
  archive_commits:
464
555
  T::Array[
@@ -480,19 +571,31 @@ module MetronomeSDK
480
571
  T::Array[
481
572
  MetronomeSDK::V2::ContractEditParams::UpdateCommit::OrHash
482
573
  ],
483
- update_contract_end_date: Time,
574
+ update_contract_end_date: T.nilable(Time),
484
575
  update_credits:
485
576
  T::Array[
486
577
  MetronomeSDK::V2::ContractEditParams::UpdateCredit::OrHash
487
578
  ],
488
579
  update_prepaid_balance_threshold_configuration:
489
580
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::OrHash,
581
+ update_recurring_commits:
582
+ T::Array[
583
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::OrHash
584
+ ],
585
+ update_recurring_credits:
586
+ T::Array[
587
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::OrHash
588
+ ],
490
589
  update_scheduled_charges:
491
590
  T::Array[
492
591
  MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::OrHash
493
592
  ],
494
593
  update_spend_threshold_configuration:
495
594
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::OrHash,
595
+ update_subscriptions:
596
+ T::Array[
597
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::OrHash
598
+ ],
496
599
  request_options: MetronomeSDK::RequestOptions::OrHash
497
600
  ).returns(T.attached_class)
498
601
  end
@@ -513,6 +616,10 @@ module MetronomeSDK
513
616
  add_reseller_royalties: nil,
514
617
  add_scheduled_charges: nil,
515
618
  add_spend_threshold_configuration: nil,
619
+ # (beta) Optional list of
620
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
621
+ # to add to the contract.
622
+ add_subscriptions: nil,
516
623
  # If true, allows setting the contract end date earlier than the end_timestamp of
517
624
  # existing finalized invoices. Finalized invoices will be unchanged; if you want
518
625
  # to incorporate the new end date, you can void and regenerate finalized usage
@@ -531,8 +638,18 @@ module MetronomeSDK
531
638
  update_contract_end_date: nil,
532
639
  update_credits: nil,
533
640
  update_prepaid_balance_threshold_configuration: nil,
641
+ # Edits to these recurring commits will only affect commits whose access schedules
642
+ # has not started. Expired commits, and commits with an active access schedule
643
+ # will remain unchanged.
644
+ update_recurring_commits: nil,
645
+ # Edits to these recurring credits will only affect credits whose access schedules
646
+ # has not started. Expired credits, and credits with an active access schedule
647
+ # will remain unchanged.
648
+ update_recurring_credits: nil,
534
649
  update_scheduled_charges: nil,
535
650
  update_spend_threshold_configuration: nil,
651
+ # (beta) Optional list of subscriptions to update.
652
+ update_subscriptions: nil,
536
653
  request_options: {}
537
654
  )
538
655
  end
@@ -574,6 +691,8 @@ module MetronomeSDK
574
691
  ],
575
692
  add_spend_threshold_configuration:
576
693
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration,
694
+ add_subscriptions:
695
+ T::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
577
696
  allow_contract_ending_before_finalized_invoice: T::Boolean,
578
697
  archive_commits:
579
698
  T::Array[MetronomeSDK::V2::ContractEditParams::ArchiveCommit],
@@ -587,17 +706,29 @@ module MetronomeSDK
587
706
  T::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
588
707
  update_commits:
589
708
  T::Array[MetronomeSDK::V2::ContractEditParams::UpdateCommit],
590
- update_contract_end_date: Time,
709
+ update_contract_end_date: T.nilable(Time),
591
710
  update_credits:
592
711
  T::Array[MetronomeSDK::V2::ContractEditParams::UpdateCredit],
593
712
  update_prepaid_balance_threshold_configuration:
594
713
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration,
714
+ update_recurring_commits:
715
+ T::Array[
716
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit
717
+ ],
718
+ update_recurring_credits:
719
+ T::Array[
720
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit
721
+ ],
595
722
  update_scheduled_charges:
596
723
  T::Array[
597
724
  MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge
598
725
  ],
599
726
  update_spend_threshold_configuration:
600
727
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration,
728
+ update_subscriptions:
729
+ T::Array[
730
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription
731
+ ],
601
732
  request_options: MetronomeSDK::RequestOptions
602
733
  }
603
734
  )
@@ -765,6 +896,31 @@ module MetronomeSDK
765
896
  sig { params(rollover_fraction: Float).void }
766
897
  attr_writer :rollover_fraction
767
898
 
899
+ # List of filters that determine what kind of customer usage draws down a commit
900
+ # or credit. A customer's usage needs to meet the condition of at least one of the
901
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
902
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
903
+ sig do
904
+ returns(
905
+ T.nilable(
906
+ T::Array[
907
+ MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier
908
+ ]
909
+ )
910
+ )
911
+ end
912
+ attr_reader :specifiers
913
+
914
+ sig do
915
+ params(
916
+ specifiers:
917
+ T::Array[
918
+ MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier::OrHash
919
+ ]
920
+ ).void
921
+ end
922
+ attr_writer :specifiers
923
+
768
924
  # A temporary ID for the commit that can be used to reference the commit for
769
925
  # commit specific overrides.
770
926
  sig { returns(T.nilable(String)) }
@@ -795,6 +951,10 @@ module MetronomeSDK
795
951
  rate_type:
796
952
  MetronomeSDK::V2::ContractEditParams::AddCommit::RateType::OrSymbol,
797
953
  rollover_fraction: Float,
954
+ specifiers:
955
+ T::Array[
956
+ MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier::OrHash
957
+ ],
798
958
  temporary_id: String
799
959
  ).returns(T.attached_class)
800
960
  end
@@ -833,6 +993,11 @@ module MetronomeSDK
833
993
  rate_type: nil,
834
994
  # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
835
995
  rollover_fraction: nil,
996
+ # List of filters that determine what kind of customer usage draws down a commit
997
+ # or credit. A customer's usage needs to meet the condition of at least one of the
998
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
999
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1000
+ specifiers: nil,
836
1001
  # A temporary ID for the commit that can be used to reference the commit for
837
1002
  # commit specific overrides.
838
1003
  temporary_id: nil
@@ -862,6 +1027,10 @@ module MetronomeSDK
862
1027
  rate_type:
863
1028
  MetronomeSDK::V2::ContractEditParams::AddCommit::RateType::OrSymbol,
864
1029
  rollover_fraction: Float,
1030
+ specifiers:
1031
+ T::Array[
1032
+ MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier
1033
+ ],
865
1034
  temporary_id: String
866
1035
  }
867
1036
  )
@@ -1677,6 +1846,77 @@ module MetronomeSDK
1677
1846
  def self.values
1678
1847
  end
1679
1848
  end
1849
+
1850
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1851
+ OrHash =
1852
+ T.type_alias do
1853
+ T.any(
1854
+ MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier,
1855
+ MetronomeSDK::Internal::AnyHash
1856
+ )
1857
+ end
1858
+
1859
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1860
+ attr_reader :presentation_group_values
1861
+
1862
+ sig do
1863
+ params(presentation_group_values: T::Hash[Symbol, String]).void
1864
+ end
1865
+ attr_writer :presentation_group_values
1866
+
1867
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1868
+ attr_reader :pricing_group_values
1869
+
1870
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1871
+ attr_writer :pricing_group_values
1872
+
1873
+ # If provided, the specifier will only apply to the product with the specified ID.
1874
+ sig { returns(T.nilable(String)) }
1875
+ attr_reader :product_id
1876
+
1877
+ sig { params(product_id: String).void }
1878
+ attr_writer :product_id
1879
+
1880
+ # If provided, the specifier will only apply to products with all the specified
1881
+ # tags.
1882
+ sig { returns(T.nilable(T::Array[String])) }
1883
+ attr_reader :product_tags
1884
+
1885
+ sig { params(product_tags: T::Array[String]).void }
1886
+ attr_writer :product_tags
1887
+
1888
+ sig do
1889
+ params(
1890
+ presentation_group_values: T::Hash[Symbol, String],
1891
+ pricing_group_values: T::Hash[Symbol, String],
1892
+ product_id: String,
1893
+ product_tags: T::Array[String]
1894
+ ).returns(T.attached_class)
1895
+ end
1896
+ def self.new(
1897
+ presentation_group_values: nil,
1898
+ pricing_group_values: nil,
1899
+ # If provided, the specifier will only apply to the product with the specified ID.
1900
+ product_id: nil,
1901
+ # If provided, the specifier will only apply to products with all the specified
1902
+ # tags.
1903
+ product_tags: nil
1904
+ )
1905
+ end
1906
+
1907
+ sig do
1908
+ override.returns(
1909
+ {
1910
+ presentation_group_values: T::Hash[Symbol, String],
1911
+ pricing_group_values: T::Hash[Symbol, String],
1912
+ product_id: String,
1913
+ product_tags: T::Array[String]
1914
+ }
1915
+ )
1916
+ end
1917
+ def to_hash
1918
+ end
1919
+ end
1680
1920
  end
1681
1921
 
1682
1922
  class AddCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -1775,6 +2015,31 @@ module MetronomeSDK
1775
2015
  end
1776
2016
  attr_writer :rate_type
1777
2017
 
2018
+ # List of filters that determine what kind of customer usage draws down a commit
2019
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2020
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2021
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2022
+ sig do
2023
+ returns(
2024
+ T.nilable(
2025
+ T::Array[
2026
+ MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier
2027
+ ]
2028
+ )
2029
+ )
2030
+ end
2031
+ attr_reader :specifiers
2032
+
2033
+ sig do
2034
+ params(
2035
+ specifiers:
2036
+ T::Array[
2037
+ MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier::OrHash
2038
+ ]
2039
+ ).void
2040
+ end
2041
+ attr_writer :specifiers
2042
+
1778
2043
  sig do
1779
2044
  params(
1780
2045
  access_schedule:
@@ -1788,7 +2053,11 @@ module MetronomeSDK
1788
2053
  netsuite_sales_order_id: String,
1789
2054
  priority: Float,
1790
2055
  rate_type:
1791
- MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol
2056
+ MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol,
2057
+ specifiers:
2058
+ T::Array[
2059
+ MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier::OrHash
2060
+ ]
1792
2061
  ).returns(T.attached_class)
1793
2062
  end
1794
2063
  def self.new(
@@ -1811,7 +2080,12 @@ module MetronomeSDK
1811
2080
  # If multiple credits are applicable, the one with the lower priority will apply
1812
2081
  # first.
1813
2082
  priority: nil,
1814
- rate_type: nil
2083
+ rate_type: nil,
2084
+ # List of filters that determine what kind of customer usage draws down a commit
2085
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2086
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2087
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2088
+ specifiers: nil
1815
2089
  )
1816
2090
  end
1817
2091
 
@@ -1829,7 +2103,11 @@ module MetronomeSDK
1829
2103
  netsuite_sales_order_id: String,
1830
2104
  priority: Float,
1831
2105
  rate_type:
1832
- MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol
2106
+ MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol,
2107
+ specifiers:
2108
+ T::Array[
2109
+ MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier
2110
+ ]
1833
2111
  }
1834
2112
  )
1835
2113
  end
@@ -1966,6 +2244,77 @@ module MetronomeSDK
1966
2244
  def self.values
1967
2245
  end
1968
2246
  end
2247
+
2248
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2249
+ OrHash =
2250
+ T.type_alias do
2251
+ T.any(
2252
+ MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier,
2253
+ MetronomeSDK::Internal::AnyHash
2254
+ )
2255
+ end
2256
+
2257
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2258
+ attr_reader :presentation_group_values
2259
+
2260
+ sig do
2261
+ params(presentation_group_values: T::Hash[Symbol, String]).void
2262
+ end
2263
+ attr_writer :presentation_group_values
2264
+
2265
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2266
+ attr_reader :pricing_group_values
2267
+
2268
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2269
+ attr_writer :pricing_group_values
2270
+
2271
+ # If provided, the specifier will only apply to the product with the specified ID.
2272
+ sig { returns(T.nilable(String)) }
2273
+ attr_reader :product_id
2274
+
2275
+ sig { params(product_id: String).void }
2276
+ attr_writer :product_id
2277
+
2278
+ # If provided, the specifier will only apply to products with all the specified
2279
+ # tags.
2280
+ sig { returns(T.nilable(T::Array[String])) }
2281
+ attr_reader :product_tags
2282
+
2283
+ sig { params(product_tags: T::Array[String]).void }
2284
+ attr_writer :product_tags
2285
+
2286
+ sig do
2287
+ params(
2288
+ presentation_group_values: T::Hash[Symbol, String],
2289
+ pricing_group_values: T::Hash[Symbol, String],
2290
+ product_id: String,
2291
+ product_tags: T::Array[String]
2292
+ ).returns(T.attached_class)
2293
+ end
2294
+ def self.new(
2295
+ presentation_group_values: nil,
2296
+ pricing_group_values: nil,
2297
+ # If provided, the specifier will only apply to the product with the specified ID.
2298
+ product_id: nil,
2299
+ # If provided, the specifier will only apply to products with all the specified
2300
+ # tags.
2301
+ product_tags: nil
2302
+ )
2303
+ end
2304
+
2305
+ sig do
2306
+ override.returns(
2307
+ {
2308
+ presentation_group_values: T::Hash[Symbol, String],
2309
+ pricing_group_values: T::Hash[Symbol, String],
2310
+ product_id: String,
2311
+ product_tags: T::Array[String]
2312
+ }
2313
+ )
2314
+ end
2315
+ def to_hash
2316
+ end
2317
+ end
1969
2318
  end
1970
2319
 
1971
2320
  class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
@@ -2704,6 +3053,23 @@ module MetronomeSDK
2704
3053
  )
2705
3054
  end
2706
3055
 
3056
+ sig do
3057
+ returns(
3058
+ T.nilable(
3059
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol
3060
+ )
3061
+ )
3062
+ end
3063
+ attr_reader :billing_frequency
3064
+
3065
+ sig do
3066
+ params(
3067
+ billing_frequency:
3068
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol
3069
+ ).void
3070
+ end
3071
+ attr_writer :billing_frequency
3072
+
2707
3073
  # If provided, the override will only apply to the specified commits. Can only be
2708
3074
  # used for commit specific overrides. If not provided, the override will apply to
2709
3075
  # all commits.
@@ -2769,6 +3135,8 @@ module MetronomeSDK
2769
3135
 
2770
3136
  sig do
2771
3137
  params(
3138
+ billing_frequency:
3139
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol,
2772
3140
  commit_ids: T::Array[String],
2773
3141
  presentation_group_values: T::Hash[Symbol, String],
2774
3142
  pricing_group_values: T::Hash[Symbol, String],
@@ -2779,6 +3147,7 @@ module MetronomeSDK
2779
3147
  ).returns(T.attached_class)
2780
3148
  end
2781
3149
  def self.new(
3150
+ billing_frequency: nil,
2782
3151
  # If provided, the override will only apply to the specified commits. Can only be
2783
3152
  # used for commit specific overrides. If not provided, the override will apply to
2784
3153
  # all commits.
@@ -2811,6 +3180,8 @@ module MetronomeSDK
2811
3180
  sig do
2812
3181
  override.returns(
2813
3182
  {
3183
+ billing_frequency:
3184
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol,
2814
3185
  commit_ids: T::Array[String],
2815
3186
  presentation_group_values: T::Hash[Symbol, String],
2816
3187
  pricing_group_values: T::Hash[Symbol, String],
@@ -2823,10 +3194,54 @@ module MetronomeSDK
2823
3194
  end
2824
3195
  def to_hash
2825
3196
  end
2826
- end
2827
3197
 
2828
- class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
2829
- OrHash =
3198
+ module BillingFrequency
3199
+ extend MetronomeSDK::Internal::Type::Enum
3200
+
3201
+ TaggedSymbol =
3202
+ T.type_alias do
3203
+ T.all(
3204
+ Symbol,
3205
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency
3206
+ )
3207
+ end
3208
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3209
+
3210
+ MONTHLY =
3211
+ T.let(
3212
+ :MONTHLY,
3213
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::TaggedSymbol
3214
+ )
3215
+ QUARTERLY =
3216
+ T.let(
3217
+ :QUARTERLY,
3218
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::TaggedSymbol
3219
+ )
3220
+ ANNUAL =
3221
+ T.let(
3222
+ :ANNUAL,
3223
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::TaggedSymbol
3224
+ )
3225
+ WEEKLY =
3226
+ T.let(
3227
+ :WEEKLY,
3228
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::TaggedSymbol
3229
+ )
3230
+
3231
+ sig do
3232
+ override.returns(
3233
+ T::Array[
3234
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::TaggedSymbol
3235
+ ]
3236
+ )
3237
+ end
3238
+ def self.values
3239
+ end
3240
+ end
3241
+ end
3242
+
3243
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
3244
+ OrHash =
2830
3245
  T.type_alias do
2831
3246
  T.any(
2832
3247
  MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate,
@@ -2879,10 +3294,25 @@ module MetronomeSDK
2879
3294
  attr_writer :quantity
2880
3295
 
2881
3296
  # Only set for TIERED rate_type.
2882
- sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
3297
+ sig do
3298
+ returns(
3299
+ T.nilable(
3300
+ T::Array[
3301
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier
3302
+ ]
3303
+ )
3304
+ )
3305
+ end
2883
3306
  attr_reader :tiers
2884
3307
 
2885
- sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
3308
+ sig do
3309
+ params(
3310
+ tiers:
3311
+ T::Array[
3312
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier::OrHash
3313
+ ]
3314
+ ).void
3315
+ end
2886
3316
  attr_writer :tiers
2887
3317
 
2888
3318
  # Required for OVERWRITE type.
@@ -2895,7 +3325,10 @@ module MetronomeSDK
2895
3325
  is_prorated: T::Boolean,
2896
3326
  price: Float,
2897
3327
  quantity: Float,
2898
- tiers: T::Array[MetronomeSDK::Tier::OrHash]
3328
+ tiers:
3329
+ T::Array[
3330
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier::OrHash
3331
+ ]
2899
3332
  ).returns(T.attached_class)
2900
3333
  end
2901
3334
  def self.new(
@@ -2927,7 +3360,10 @@ module MetronomeSDK
2927
3360
  is_prorated: T::Boolean,
2928
3361
  price: Float,
2929
3362
  quantity: Float,
2930
- tiers: T::Array[MetronomeSDK::Tier]
3363
+ tiers:
3364
+ T::Array[
3365
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier
3366
+ ]
2931
3367
  }
2932
3368
  )
2933
3369
  end
@@ -2982,6 +3418,35 @@ module MetronomeSDK
2982
3418
  def self.values
2983
3419
  end
2984
3420
  end
3421
+
3422
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
3423
+ OrHash =
3424
+ T.type_alias do
3425
+ T.any(
3426
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier,
3427
+ MetronomeSDK::Internal::AnyHash
3428
+ )
3429
+ end
3430
+
3431
+ sig { returns(Float) }
3432
+ attr_accessor :price
3433
+
3434
+ sig { returns(T.nilable(Float)) }
3435
+ attr_reader :size
3436
+
3437
+ sig { params(size: Float).void }
3438
+ attr_writer :size
3439
+
3440
+ sig do
3441
+ params(price: Float, size: Float).returns(T.attached_class)
3442
+ end
3443
+ def self.new(price:, size: nil)
3444
+ end
3445
+
3446
+ sig { override.returns({ price: Float, size: Float }) }
3447
+ def to_hash
3448
+ end
3449
+ end
2985
3450
  end
2986
3451
 
2987
3452
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -3232,13 +3697,42 @@ module MetronomeSDK
3232
3697
  sig { params(name: String).void }
3233
3698
  attr_writer :name
3234
3699
 
3700
+ # List of filters that determine what kind of customer usage draws down a commit
3701
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3702
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3703
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3704
+ sig do
3705
+ returns(
3706
+ T.nilable(
3707
+ T::Array[
3708
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier
3709
+ ]
3710
+ )
3711
+ )
3712
+ end
3713
+ attr_reader :specifiers
3714
+
3715
+ sig do
3716
+ params(
3717
+ specifiers:
3718
+ T::Array[
3719
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
3720
+ ]
3721
+ ).void
3722
+ end
3723
+ attr_writer :specifiers
3724
+
3235
3725
  sig do
3236
3726
  params(
3237
3727
  product_id: String,
3238
3728
  applicable_product_ids: T::Array[String],
3239
3729
  applicable_product_tags: T::Array[String],
3240
3730
  description: String,
3241
- name: String
3731
+ name: String,
3732
+ specifiers:
3733
+ T::Array[
3734
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
3735
+ ]
3242
3736
  ).returns(T.attached_class)
3243
3737
  end
3244
3738
  def self.new(
@@ -3255,7 +3749,12 @@ module MetronomeSDK
3255
3749
  description: nil,
3256
3750
  # Specify the name of the line item for the threshold charge. If left blank, it
3257
3751
  # will default to the commit product name.
3258
- name: nil
3752
+ name: nil,
3753
+ # List of filters that determine what kind of customer usage draws down a commit
3754
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3755
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3756
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3757
+ specifiers: nil
3259
3758
  )
3260
3759
  end
3261
3760
 
@@ -3266,12 +3765,87 @@ module MetronomeSDK
3266
3765
  applicable_product_ids: T::Array[String],
3267
3766
  applicable_product_tags: T::Array[String],
3268
3767
  description: String,
3269
- name: String
3768
+ name: String,
3769
+ specifiers:
3770
+ T::Array[
3771
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier
3772
+ ]
3270
3773
  }
3271
3774
  )
3272
3775
  end
3273
3776
  def to_hash
3274
3777
  end
3778
+
3779
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3780
+ OrHash =
3781
+ T.type_alias do
3782
+ T.any(
3783
+ MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier,
3784
+ MetronomeSDK::Internal::AnyHash
3785
+ )
3786
+ end
3787
+
3788
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3789
+ attr_reader :presentation_group_values
3790
+
3791
+ sig do
3792
+ params(presentation_group_values: T::Hash[Symbol, String]).void
3793
+ end
3794
+ attr_writer :presentation_group_values
3795
+
3796
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3797
+ attr_reader :pricing_group_values
3798
+
3799
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
3800
+ attr_writer :pricing_group_values
3801
+
3802
+ # If provided, the specifier will only apply to the product with the specified ID.
3803
+ sig { returns(T.nilable(String)) }
3804
+ attr_reader :product_id
3805
+
3806
+ sig { params(product_id: String).void }
3807
+ attr_writer :product_id
3808
+
3809
+ # If provided, the specifier will only apply to products with all the specified
3810
+ # tags.
3811
+ sig { returns(T.nilable(T::Array[String])) }
3812
+ attr_reader :product_tags
3813
+
3814
+ sig { params(product_tags: T::Array[String]).void }
3815
+ attr_writer :product_tags
3816
+
3817
+ sig do
3818
+ params(
3819
+ presentation_group_values: T::Hash[Symbol, String],
3820
+ pricing_group_values: T::Hash[Symbol, String],
3821
+ product_id: String,
3822
+ product_tags: T::Array[String]
3823
+ ).returns(T.attached_class)
3824
+ end
3825
+ def self.new(
3826
+ presentation_group_values: nil,
3827
+ pricing_group_values: nil,
3828
+ # If provided, the specifier will only apply to the product with the specified ID.
3829
+ product_id: nil,
3830
+ # If provided, the specifier will only apply to products with all the specified
3831
+ # tags.
3832
+ product_tags: nil
3833
+ )
3834
+ end
3835
+
3836
+ sig do
3837
+ override.returns(
3838
+ {
3839
+ presentation_group_values: T::Hash[Symbol, String],
3840
+ pricing_group_values: T::Hash[Symbol, String],
3841
+ product_id: String,
3842
+ product_tags: T::Array[String]
3843
+ }
3844
+ )
3845
+ end
3846
+ def to_hash
3847
+ end
3848
+ end
3275
3849
  end
3276
3850
 
3277
3851
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -3646,7 +4220,9 @@ module MetronomeSDK
3646
4220
  end
3647
4221
  attr_writer :access_amount
3648
4222
 
3649
- # The amount of time the created commits will be valid for.
4223
+ # Defines the length of the access schedule for each created commit/credit. The
4224
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4225
+ # length of a period is determined by the recurrence_frequency.
3650
4226
  sig do
3651
4227
  returns(
3652
4228
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration
@@ -3773,7 +4349,7 @@ module MetronomeSDK
3773
4349
  # The frequency at which the recurring commits will be created. If not provided: -
3774
4350
  # The commits will be created on the usage invoice frequency. If provided: - The
3775
4351
  # period defined in the duration will correspond to this frequency. - Commits will
3776
- # be created aligned with the recurring commit's start_date rather than the usage
4352
+ # be created aligned with the recurring commit's starting_at rather than the usage
3777
4353
  # invoice dates.
3778
4354
  sig do
3779
4355
  returns(
@@ -3801,6 +4377,31 @@ module MetronomeSDK
3801
4377
  sig { params(rollover_fraction: Float).void }
3802
4378
  attr_writer :rollover_fraction
3803
4379
 
4380
+ # List of filters that determine what kind of customer usage draws down a commit
4381
+ # or credit. A customer's usage needs to meet the condition of at least one of the
4382
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
4383
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
4384
+ sig do
4385
+ returns(
4386
+ T.nilable(
4387
+ T::Array[
4388
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier
4389
+ ]
4390
+ )
4391
+ )
4392
+ end
4393
+ attr_reader :specifiers
4394
+
4395
+ sig do
4396
+ params(
4397
+ specifiers:
4398
+ T::Array[
4399
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier::OrHash
4400
+ ]
4401
+ ).void
4402
+ end
4403
+ attr_writer :specifiers
4404
+
3804
4405
  # A temporary ID that can be used to reference the recurring commit for commit
3805
4406
  # specific overrides.
3806
4407
  sig { returns(T.nilable(String)) }
@@ -3833,13 +4434,19 @@ module MetronomeSDK
3833
4434
  recurrence_frequency:
3834
4435
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency::OrSymbol,
3835
4436
  rollover_fraction: Float,
4437
+ specifiers:
4438
+ T::Array[
4439
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier::OrHash
4440
+ ],
3836
4441
  temporary_id: String
3837
4442
  ).returns(T.attached_class)
3838
4443
  end
3839
4444
  def self.new(
3840
4445
  # The amount of commit to grant.
3841
4446
  access_amount:,
3842
- # The amount of time the created commits will be valid for.
4447
+ # Defines the length of the access schedule for each created commit/credit. The
4448
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4449
+ # length of a period is determined by the recurrence_frequency.
3843
4450
  commit_duration:,
3844
4451
  # Will be passed down to the individual commits
3845
4452
  priority:,
@@ -3868,13 +4475,18 @@ module MetronomeSDK
3868
4475
  # The frequency at which the recurring commits will be created. If not provided: -
3869
4476
  # The commits will be created on the usage invoice frequency. If provided: - The
3870
4477
  # period defined in the duration will correspond to this frequency. - Commits will
3871
- # be created aligned with the recurring commit's start_date rather than the usage
4478
+ # be created aligned with the recurring commit's starting_at rather than the usage
3872
4479
  # invoice dates.
3873
4480
  recurrence_frequency: nil,
3874
4481
  # Will be passed down to the individual commits. This controls how much of an
3875
4482
  # individual unexpired commit will roll over upon contract transition. Must be
3876
4483
  # between 0 and 1.
3877
4484
  rollover_fraction: nil,
4485
+ # List of filters that determine what kind of customer usage draws down a commit
4486
+ # or credit. A customer's usage needs to meet the condition of at least one of the
4487
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
4488
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
4489
+ specifiers: nil,
3878
4490
  # A temporary ID that can be used to reference the recurring commit for commit
3879
4491
  # specific overrides.
3880
4492
  temporary_id: nil
@@ -3906,6 +4518,10 @@ module MetronomeSDK
3906
4518
  recurrence_frequency:
3907
4519
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency::OrSymbol,
3908
4520
  rollover_fraction: Float,
4521
+ specifiers:
4522
+ T::Array[
4523
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier
4524
+ ],
3909
4525
  temporary_id: String
3910
4526
  }
3911
4527
  )
@@ -3960,33 +4576,45 @@ module MetronomeSDK
3960
4576
  )
3961
4577
  end
3962
4578
 
4579
+ sig { returns(Float) }
4580
+ attr_accessor :value
4581
+
3963
4582
  sig do
3964
4583
  returns(
3965
- MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol
4584
+ T.nilable(
4585
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol
4586
+ )
3966
4587
  )
3967
4588
  end
3968
- attr_accessor :unit
4589
+ attr_reader :unit
3969
4590
 
3970
- sig { returns(Float) }
3971
- attr_accessor :value
4591
+ sig do
4592
+ params(
4593
+ unit:
4594
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol
4595
+ ).void
4596
+ end
4597
+ attr_writer :unit
3972
4598
 
3973
- # The amount of time the created commits will be valid for.
4599
+ # Defines the length of the access schedule for each created commit/credit. The
4600
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4601
+ # length of a period is determined by the recurrence_frequency.
3974
4602
  sig do
3975
4603
  params(
4604
+ value: Float,
3976
4605
  unit:
3977
- MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol,
3978
- value: Float
4606
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol
3979
4607
  ).returns(T.attached_class)
3980
4608
  end
3981
- def self.new(unit:, value:)
4609
+ def self.new(value:, unit: nil)
3982
4610
  end
3983
4611
 
3984
4612
  sig do
3985
4613
  override.returns(
3986
4614
  {
4615
+ value: Float,
3987
4616
  unit:
3988
- MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol,
3989
- value: Float
4617
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit::OrSymbol
3990
4618
  }
3991
4619
  )
3992
4620
  end
@@ -4145,7 +4773,7 @@ module MetronomeSDK
4145
4773
  # The frequency at which the recurring commits will be created. If not provided: -
4146
4774
  # The commits will be created on the usage invoice frequency. If provided: - The
4147
4775
  # period defined in the duration will correspond to this frequency. - Commits will
4148
- # be created aligned with the recurring commit's start_date rather than the usage
4776
+ # be created aligned with the recurring commit's starting_at rather than the usage
4149
4777
  # invoice dates.
4150
4778
  module RecurrenceFrequency
4151
4779
  extend MetronomeSDK::Internal::Type::Enum
@@ -4190,6 +4818,77 @@ module MetronomeSDK
4190
4818
  def self.values
4191
4819
  end
4192
4820
  end
4821
+
4822
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
4823
+ OrHash =
4824
+ T.type_alias do
4825
+ T.any(
4826
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier,
4827
+ MetronomeSDK::Internal::AnyHash
4828
+ )
4829
+ end
4830
+
4831
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
4832
+ attr_reader :presentation_group_values
4833
+
4834
+ sig do
4835
+ params(presentation_group_values: T::Hash[Symbol, String]).void
4836
+ end
4837
+ attr_writer :presentation_group_values
4838
+
4839
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
4840
+ attr_reader :pricing_group_values
4841
+
4842
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
4843
+ attr_writer :pricing_group_values
4844
+
4845
+ # If provided, the specifier will only apply to the product with the specified ID.
4846
+ sig { returns(T.nilable(String)) }
4847
+ attr_reader :product_id
4848
+
4849
+ sig { params(product_id: String).void }
4850
+ attr_writer :product_id
4851
+
4852
+ # If provided, the specifier will only apply to products with all the specified
4853
+ # tags.
4854
+ sig { returns(T.nilable(T::Array[String])) }
4855
+ attr_reader :product_tags
4856
+
4857
+ sig { params(product_tags: T::Array[String]).void }
4858
+ attr_writer :product_tags
4859
+
4860
+ sig do
4861
+ params(
4862
+ presentation_group_values: T::Hash[Symbol, String],
4863
+ pricing_group_values: T::Hash[Symbol, String],
4864
+ product_id: String,
4865
+ product_tags: T::Array[String]
4866
+ ).returns(T.attached_class)
4867
+ end
4868
+ def self.new(
4869
+ presentation_group_values: nil,
4870
+ pricing_group_values: nil,
4871
+ # If provided, the specifier will only apply to the product with the specified ID.
4872
+ product_id: nil,
4873
+ # If provided, the specifier will only apply to products with all the specified
4874
+ # tags.
4875
+ product_tags: nil
4876
+ )
4877
+ end
4878
+
4879
+ sig do
4880
+ override.returns(
4881
+ {
4882
+ presentation_group_values: T::Hash[Symbol, String],
4883
+ pricing_group_values: T::Hash[Symbol, String],
4884
+ product_id: String,
4885
+ product_tags: T::Array[String]
4886
+ }
4887
+ )
4888
+ end
4889
+ def to_hash
4890
+ end
4891
+ end
4193
4892
  end
4194
4893
 
4195
4894
  class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -4217,7 +4916,9 @@ module MetronomeSDK
4217
4916
  end
4218
4917
  attr_writer :access_amount
4219
4918
 
4220
- # The amount of time the created commits will be valid for.
4919
+ # Defines the length of the access schedule for each created commit/credit. The
4920
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4921
+ # length of a period is determined by the recurrence_frequency.
4221
4922
  sig do
4222
4923
  returns(
4223
4924
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration
@@ -4326,7 +5027,7 @@ module MetronomeSDK
4326
5027
  # The frequency at which the recurring commits will be created. If not provided: -
4327
5028
  # The commits will be created on the usage invoice frequency. If provided: - The
4328
5029
  # period defined in the duration will correspond to this frequency. - Commits will
4329
- # be created aligned with the recurring commit's start_date rather than the usage
5030
+ # be created aligned with the recurring commit's starting_at rather than the usage
4330
5031
  # invoice dates.
4331
5032
  sig do
4332
5033
  returns(
@@ -4354,6 +5055,31 @@ module MetronomeSDK
4354
5055
  sig { params(rollover_fraction: Float).void }
4355
5056
  attr_writer :rollover_fraction
4356
5057
 
5058
+ # List of filters that determine what kind of customer usage draws down a commit
5059
+ # or credit. A customer's usage needs to meet the condition of at least one of the
5060
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5061
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
5062
+ sig do
5063
+ returns(
5064
+ T.nilable(
5065
+ T::Array[
5066
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier
5067
+ ]
5068
+ )
5069
+ )
5070
+ end
5071
+ attr_reader :specifiers
5072
+
5073
+ sig do
5074
+ params(
5075
+ specifiers:
5076
+ T::Array[
5077
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier::OrHash
5078
+ ]
5079
+ ).void
5080
+ end
5081
+ attr_writer :specifiers
5082
+
4357
5083
  # A temporary ID that can be used to reference the recurring commit for commit
4358
5084
  # specific overrides.
4359
5085
  sig { returns(T.nilable(String)) }
@@ -4384,13 +5110,19 @@ module MetronomeSDK
4384
5110
  recurrence_frequency:
4385
5111
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency::OrSymbol,
4386
5112
  rollover_fraction: Float,
5113
+ specifiers:
5114
+ T::Array[
5115
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier::OrHash
5116
+ ],
4387
5117
  temporary_id: String
4388
5118
  ).returns(T.attached_class)
4389
5119
  end
4390
5120
  def self.new(
4391
5121
  # The amount of commit to grant.
4392
5122
  access_amount:,
4393
- # The amount of time the created commits will be valid for.
5123
+ # Defines the length of the access schedule for each created commit/credit. The
5124
+ # value represents the number of units. Unit defaults to "PERIODS", where the
5125
+ # length of a period is determined by the recurrence_frequency.
4394
5126
  commit_duration:,
4395
5127
  # Will be passed down to the individual commits
4396
5128
  priority:,
@@ -4417,13 +5149,18 @@ module MetronomeSDK
4417
5149
  # The frequency at which the recurring commits will be created. If not provided: -
4418
5150
  # The commits will be created on the usage invoice frequency. If provided: - The
4419
5151
  # period defined in the duration will correspond to this frequency. - Commits will
4420
- # be created aligned with the recurring commit's start_date rather than the usage
5152
+ # be created aligned with the recurring commit's starting_at rather than the usage
4421
5153
  # invoice dates.
4422
5154
  recurrence_frequency: nil,
4423
5155
  # Will be passed down to the individual commits. This controls how much of an
4424
5156
  # individual unexpired commit will roll over upon contract transition. Must be
4425
5157
  # between 0 and 1.
4426
5158
  rollover_fraction: nil,
5159
+ # List of filters that determine what kind of customer usage draws down a commit
5160
+ # or credit. A customer's usage needs to meet the condition of at least one of the
5161
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5162
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
5163
+ specifiers: nil,
4427
5164
  # A temporary ID that can be used to reference the recurring commit for commit
4428
5165
  # specific overrides.
4429
5166
  temporary_id: nil
@@ -4453,6 +5190,10 @@ module MetronomeSDK
4453
5190
  recurrence_frequency:
4454
5191
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency::OrSymbol,
4455
5192
  rollover_fraction: Float,
5193
+ specifiers:
5194
+ T::Array[
5195
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier
5196
+ ],
4456
5197
  temporary_id: String
4457
5198
  }
4458
5199
  )
@@ -4507,33 +5248,45 @@ module MetronomeSDK
4507
5248
  )
4508
5249
  end
4509
5250
 
5251
+ sig { returns(Float) }
5252
+ attr_accessor :value
5253
+
4510
5254
  sig do
4511
5255
  returns(
4512
- MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol
5256
+ T.nilable(
5257
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol
5258
+ )
4513
5259
  )
4514
5260
  end
4515
- attr_accessor :unit
5261
+ attr_reader :unit
4516
5262
 
4517
- sig { returns(Float) }
4518
- attr_accessor :value
5263
+ sig do
5264
+ params(
5265
+ unit:
5266
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol
5267
+ ).void
5268
+ end
5269
+ attr_writer :unit
4519
5270
 
4520
- # The amount of time the created commits will be valid for.
5271
+ # Defines the length of the access schedule for each created commit/credit. The
5272
+ # value represents the number of units. Unit defaults to "PERIODS", where the
5273
+ # length of a period is determined by the recurrence_frequency.
4521
5274
  sig do
4522
5275
  params(
5276
+ value: Float,
4523
5277
  unit:
4524
- MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol,
4525
- value: Float
5278
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol
4526
5279
  ).returns(T.attached_class)
4527
5280
  end
4528
- def self.new(unit:, value:)
5281
+ def self.new(value:, unit: nil)
4529
5282
  end
4530
5283
 
4531
5284
  sig do
4532
5285
  override.returns(
4533
5286
  {
5287
+ value: Float,
4534
5288
  unit:
4535
- MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol,
4536
- value: Float
5289
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit::OrSymbol
4537
5290
  }
4538
5291
  )
4539
5292
  end
@@ -4654,7 +5407,7 @@ module MetronomeSDK
4654
5407
  # The frequency at which the recurring commits will be created. If not provided: -
4655
5408
  # The commits will be created on the usage invoice frequency. If provided: - The
4656
5409
  # period defined in the duration will correspond to this frequency. - Commits will
4657
- # be created aligned with the recurring commit's start_date rather than the usage
5410
+ # be created aligned with the recurring commit's starting_at rather than the usage
4658
5411
  # invoice dates.
4659
5412
  module RecurrenceFrequency
4660
5413
  extend MetronomeSDK::Internal::Type::Enum
@@ -4699,6 +5452,77 @@ module MetronomeSDK
4699
5452
  def self.values
4700
5453
  end
4701
5454
  end
5455
+
5456
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
5457
+ OrHash =
5458
+ T.type_alias do
5459
+ T.any(
5460
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier,
5461
+ MetronomeSDK::Internal::AnyHash
5462
+ )
5463
+ end
5464
+
5465
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
5466
+ attr_reader :presentation_group_values
5467
+
5468
+ sig do
5469
+ params(presentation_group_values: T::Hash[Symbol, String]).void
5470
+ end
5471
+ attr_writer :presentation_group_values
5472
+
5473
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
5474
+ attr_reader :pricing_group_values
5475
+
5476
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
5477
+ attr_writer :pricing_group_values
5478
+
5479
+ # If provided, the specifier will only apply to the product with the specified ID.
5480
+ sig { returns(T.nilable(String)) }
5481
+ attr_reader :product_id
5482
+
5483
+ sig { params(product_id: String).void }
5484
+ attr_writer :product_id
5485
+
5486
+ # If provided, the specifier will only apply to products with all the specified
5487
+ # tags.
5488
+ sig { returns(T.nilable(T::Array[String])) }
5489
+ attr_reader :product_tags
5490
+
5491
+ sig { params(product_tags: T::Array[String]).void }
5492
+ attr_writer :product_tags
5493
+
5494
+ sig do
5495
+ params(
5496
+ presentation_group_values: T::Hash[Symbol, String],
5497
+ pricing_group_values: T::Hash[Symbol, String],
5498
+ product_id: String,
5499
+ product_tags: T::Array[String]
5500
+ ).returns(T.attached_class)
5501
+ end
5502
+ def self.new(
5503
+ presentation_group_values: nil,
5504
+ pricing_group_values: nil,
5505
+ # If provided, the specifier will only apply to the product with the specified ID.
5506
+ product_id: nil,
5507
+ # If provided, the specifier will only apply to products with all the specified
5508
+ # tags.
5509
+ product_tags: nil
5510
+ )
5511
+ end
5512
+
5513
+ sig do
5514
+ override.returns(
5515
+ {
5516
+ presentation_group_values: T::Hash[Symbol, String],
5517
+ pricing_group_values: T::Hash[Symbol, String],
5518
+ product_id: String,
5519
+ product_tags: T::Array[String]
5520
+ }
5521
+ )
5522
+ end
5523
+ def to_hash
5524
+ end
5525
+ end
4702
5526
  end
4703
5527
 
4704
5528
  class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -5843,200 +6667,575 @@ module MetronomeSDK
5843
6667
  end
5844
6668
  end
5845
6669
 
5846
- class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
5847
- OrHash =
5848
- T.type_alias do
5849
- T.any(
5850
- MetronomeSDK::V2::ContractEditParams::ArchiveCommit,
5851
- MetronomeSDK::Internal::AnyHash
5852
- )
5853
- end
5854
-
5855
- sig { returns(String) }
5856
- attr_accessor :id
5857
-
5858
- sig { params(id: String).returns(T.attached_class) }
5859
- def self.new(id:)
5860
- end
5861
-
5862
- sig { override.returns({ id: String }) }
5863
- def to_hash
5864
- end
5865
- end
5866
-
5867
- class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
5868
- OrHash =
5869
- T.type_alias do
5870
- T.any(
5871
- MetronomeSDK::V2::ContractEditParams::ArchiveCredit,
5872
- MetronomeSDK::Internal::AnyHash
5873
- )
5874
- end
5875
-
5876
- sig { returns(String) }
5877
- attr_accessor :id
5878
-
5879
- sig { params(id: String).returns(T.attached_class) }
5880
- def self.new(id:)
5881
- end
5882
-
5883
- sig { override.returns({ id: String }) }
5884
- def to_hash
5885
- end
5886
- end
5887
-
5888
- class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
5889
- OrHash =
5890
- T.type_alias do
5891
- T.any(
5892
- MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge,
5893
- MetronomeSDK::Internal::AnyHash
5894
- )
5895
- end
5896
-
5897
- sig { returns(String) }
5898
- attr_accessor :id
5899
-
5900
- sig { params(id: String).returns(T.attached_class) }
5901
- def self.new(id:)
5902
- end
5903
-
5904
- sig { override.returns({ id: String }) }
5905
- def to_hash
5906
- end
5907
- end
5908
-
5909
- class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
6670
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
5910
6671
  OrHash =
5911
6672
  T.type_alias do
5912
6673
  T.any(
5913
- MetronomeSDK::V2::ContractEditParams::RemoveOverride,
6674
+ MetronomeSDK::V2::ContractEditParams::AddSubscription,
5914
6675
  MetronomeSDK::Internal::AnyHash
5915
6676
  )
5916
6677
  end
5917
6678
 
5918
- sig { returns(String) }
5919
- attr_accessor :id
5920
-
5921
- sig { params(id: String).returns(T.attached_class) }
5922
- def self.new(id:)
5923
- end
5924
-
5925
- sig { override.returns({ id: String }) }
5926
- def to_hash
6679
+ sig do
6680
+ returns(
6681
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::OrSymbol
6682
+ )
5927
6683
  end
5928
- end
5929
-
5930
- class UpdateCommit < MetronomeSDK::Internal::Type::BaseModel
5931
- OrHash =
5932
- T.type_alias do
5933
- T.any(
5934
- MetronomeSDK::V2::ContractEditParams::UpdateCommit,
5935
- MetronomeSDK::Internal::AnyHash
5936
- )
5937
- end
6684
+ attr_accessor :collection_schedule
5938
6685
 
5939
- sig { returns(String) }
5940
- attr_accessor :commit_id
6686
+ sig { returns(Float) }
6687
+ attr_accessor :initial_quantity
5941
6688
 
5942
6689
  sig do
5943
6690
  returns(
5944
- T.nilable(
5945
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule
5946
- )
6691
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration
5947
6692
  )
5948
6693
  end
5949
- attr_reader :access_schedule
6694
+ attr_reader :proration
5950
6695
 
5951
6696
  sig do
5952
6697
  params(
5953
- access_schedule:
5954
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::OrHash
6698
+ proration:
6699
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::OrHash
5955
6700
  ).void
5956
6701
  end
5957
- attr_writer :access_schedule
5958
-
5959
- # Which products the commit applies to. If both applicable_product_ids and
5960
- # applicable_product_tags are not provided, the commit applies to all products.
5961
- sig { returns(T.nilable(T::Array[String])) }
5962
- attr_accessor :applicable_product_ids
5963
-
5964
- # Which tags the commit applies to. If both applicable_product_ids and
5965
- # applicable_product_tags are not provided, the commit applies to all products.
5966
- sig { returns(T.nilable(T::Array[String])) }
5967
- attr_accessor :applicable_product_tags
6702
+ attr_writer :proration
5968
6703
 
5969
6704
  sig do
5970
6705
  returns(
5971
- T.nilable(
5972
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule
5973
- )
6706
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate
5974
6707
  )
5975
6708
  end
5976
- attr_reader :invoice_schedule
6709
+ attr_reader :subscription_rate
5977
6710
 
5978
6711
  sig do
5979
6712
  params(
5980
- invoice_schedule:
5981
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::OrHash
6713
+ subscription_rate:
6714
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::OrHash
5982
6715
  ).void
5983
6716
  end
5984
- attr_writer :invoice_schedule
6717
+ attr_writer :subscription_rate
6718
+
6719
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
6720
+ attr_reader :custom_fields
6721
+
6722
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
6723
+ attr_writer :custom_fields
5985
6724
 
5986
6725
  sig { returns(T.nilable(String)) }
5987
- attr_accessor :netsuite_sales_order_id
6726
+ attr_reader :description
6727
+
6728
+ sig { params(description: String).void }
6729
+ attr_writer :description
6730
+
6731
+ # Exclusive end time for the subscription. If not provided, subscription inherits
6732
+ # contract end date.
6733
+ sig { returns(T.nilable(Time)) }
6734
+ attr_reader :ending_before
6735
+
6736
+ sig { params(ending_before: Time).void }
6737
+ attr_writer :ending_before
5988
6738
 
5989
6739
  sig { returns(T.nilable(String)) }
5990
- attr_reader :product_id
6740
+ attr_reader :name
5991
6741
 
5992
- sig { params(product_id: String).void }
5993
- attr_writer :product_id
6742
+ sig { params(name: String).void }
6743
+ attr_writer :name
5994
6744
 
5995
- sig { returns(T.nilable(Float)) }
5996
- attr_accessor :rollover_fraction
6745
+ # Inclusive start time for the subscription. If not provided, defaults to contract
6746
+ # start date
6747
+ sig { returns(T.nilable(Time)) }
6748
+ attr_reader :starting_at
6749
+
6750
+ sig { params(starting_at: Time).void }
6751
+ attr_writer :starting_at
5997
6752
 
5998
6753
  sig do
5999
6754
  params(
6000
- commit_id: String,
6001
- access_schedule:
6002
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::OrHash,
6003
- applicable_product_ids: T.nilable(T::Array[String]),
6004
- applicable_product_tags: T.nilable(T::Array[String]),
6005
- invoice_schedule:
6006
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::OrHash,
6007
- netsuite_sales_order_id: T.nilable(String),
6008
- product_id: String,
6009
- rollover_fraction: T.nilable(Float)
6755
+ collection_schedule:
6756
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::OrSymbol,
6757
+ initial_quantity: Float,
6758
+ proration:
6759
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::OrHash,
6760
+ subscription_rate:
6761
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::OrHash,
6762
+ custom_fields: T::Hash[Symbol, String],
6763
+ description: String,
6764
+ ending_before: Time,
6765
+ name: String,
6766
+ starting_at: Time
6010
6767
  ).returns(T.attached_class)
6011
6768
  end
6012
6769
  def self.new(
6013
- commit_id:,
6014
- access_schedule: nil,
6015
- # Which products the commit applies to. If both applicable_product_ids and
6016
- # applicable_product_tags are not provided, the commit applies to all products.
6017
- applicable_product_ids: nil,
6018
- # Which tags the commit applies to. If both applicable_product_ids and
6019
- # applicable_product_tags are not provided, the commit applies to all products.
6020
- applicable_product_tags: nil,
6021
- invoice_schedule: nil,
6022
- netsuite_sales_order_id: nil,
6023
- product_id: nil,
6024
- rollover_fraction: nil
6770
+ collection_schedule:,
6771
+ initial_quantity:,
6772
+ proration:,
6773
+ subscription_rate:,
6774
+ custom_fields: nil,
6775
+ description: nil,
6776
+ # Exclusive end time for the subscription. If not provided, subscription inherits
6777
+ # contract end date.
6778
+ ending_before: nil,
6779
+ name: nil,
6780
+ # Inclusive start time for the subscription. If not provided, defaults to contract
6781
+ # start date
6782
+ starting_at: nil
6025
6783
  )
6026
6784
  end
6027
6785
 
6028
6786
  sig do
6029
6787
  override.returns(
6030
6788
  {
6031
- commit_id: String,
6032
- access_schedule:
6033
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule,
6034
- applicable_product_ids: T.nilable(T::Array[String]),
6035
- applicable_product_tags: T.nilable(T::Array[String]),
6036
- invoice_schedule:
6037
- MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule,
6038
- netsuite_sales_order_id: T.nilable(String),
6039
- product_id: String,
6789
+ collection_schedule:
6790
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::OrSymbol,
6791
+ initial_quantity: Float,
6792
+ proration:
6793
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
6794
+ subscription_rate:
6795
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
6796
+ custom_fields: T::Hash[Symbol, String],
6797
+ description: String,
6798
+ ending_before: Time,
6799
+ name: String,
6800
+ starting_at: Time
6801
+ }
6802
+ )
6803
+ end
6804
+ def to_hash
6805
+ end
6806
+
6807
+ module CollectionSchedule
6808
+ extend MetronomeSDK::Internal::Type::Enum
6809
+
6810
+ TaggedSymbol =
6811
+ T.type_alias do
6812
+ T.all(
6813
+ Symbol,
6814
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule
6815
+ )
6816
+ end
6817
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6818
+
6819
+ ADVANCE =
6820
+ T.let(
6821
+ :ADVANCE,
6822
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::TaggedSymbol
6823
+ )
6824
+ ARREARS =
6825
+ T.let(
6826
+ :ARREARS,
6827
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::TaggedSymbol
6828
+ )
6829
+
6830
+ sig do
6831
+ override.returns(
6832
+ T::Array[
6833
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::TaggedSymbol
6834
+ ]
6835
+ )
6836
+ end
6837
+ def self.values
6838
+ end
6839
+ end
6840
+
6841
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
6842
+ OrHash =
6843
+ T.type_alias do
6844
+ T.any(
6845
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
6846
+ MetronomeSDK::Internal::AnyHash
6847
+ )
6848
+ end
6849
+
6850
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
6851
+ # is selected, the quantity increase will be billed on the scheduled date. If
6852
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
6853
+ # for in-arrears at the end of the period.
6854
+ sig do
6855
+ returns(
6856
+ T.nilable(
6857
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::OrSymbol
6858
+ )
6859
+ )
6860
+ end
6861
+ attr_reader :invoice_behavior
6862
+
6863
+ sig do
6864
+ params(
6865
+ invoice_behavior:
6866
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::OrSymbol
6867
+ ).void
6868
+ end
6869
+ attr_writer :invoice_behavior
6870
+
6871
+ # Indicates if the partial period will be prorated or charged a full amount.
6872
+ sig { returns(T.nilable(T::Boolean)) }
6873
+ attr_reader :is_prorated
6874
+
6875
+ sig { params(is_prorated: T::Boolean).void }
6876
+ attr_writer :is_prorated
6877
+
6878
+ sig do
6879
+ params(
6880
+ invoice_behavior:
6881
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::OrSymbol,
6882
+ is_prorated: T::Boolean
6883
+ ).returns(T.attached_class)
6884
+ end
6885
+ def self.new(
6886
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
6887
+ # is selected, the quantity increase will be billed on the scheduled date. If
6888
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
6889
+ # for in-arrears at the end of the period.
6890
+ invoice_behavior: nil,
6891
+ # Indicates if the partial period will be prorated or charged a full amount.
6892
+ is_prorated: nil
6893
+ )
6894
+ end
6895
+
6896
+ sig do
6897
+ override.returns(
6898
+ {
6899
+ invoice_behavior:
6900
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::OrSymbol,
6901
+ is_prorated: T::Boolean
6902
+ }
6903
+ )
6904
+ end
6905
+ def to_hash
6906
+ end
6907
+
6908
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
6909
+ # is selected, the quantity increase will be billed on the scheduled date. If
6910
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
6911
+ # for in-arrears at the end of the period.
6912
+ module InvoiceBehavior
6913
+ extend MetronomeSDK::Internal::Type::Enum
6914
+
6915
+ TaggedSymbol =
6916
+ T.type_alias do
6917
+ T.all(
6918
+ Symbol,
6919
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior
6920
+ )
6921
+ end
6922
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6923
+
6924
+ BILL_IMMEDIATELY =
6925
+ T.let(
6926
+ :BILL_IMMEDIATELY,
6927
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::TaggedSymbol
6928
+ )
6929
+ BILL_ON_NEXT_COLLECTION_DATE =
6930
+ T.let(
6931
+ :BILL_ON_NEXT_COLLECTION_DATE,
6932
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::TaggedSymbol
6933
+ )
6934
+
6935
+ sig do
6936
+ override.returns(
6937
+ T::Array[
6938
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::TaggedSymbol
6939
+ ]
6940
+ )
6941
+ end
6942
+ def self.values
6943
+ end
6944
+ end
6945
+ end
6946
+
6947
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
6948
+ OrHash =
6949
+ T.type_alias do
6950
+ T.any(
6951
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
6952
+ MetronomeSDK::Internal::AnyHash
6953
+ )
6954
+ end
6955
+
6956
+ # Frequency to bill subscription with. Together with product_id, must match
6957
+ # existing rate on the rate card.
6958
+ sig do
6959
+ returns(
6960
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::OrSymbol
6961
+ )
6962
+ end
6963
+ attr_accessor :billing_frequency
6964
+
6965
+ # Must be subscription type product
6966
+ sig { returns(String) }
6967
+ attr_accessor :product_id
6968
+
6969
+ sig do
6970
+ params(
6971
+ billing_frequency:
6972
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::OrSymbol,
6973
+ product_id: String
6974
+ ).returns(T.attached_class)
6975
+ end
6976
+ def self.new(
6977
+ # Frequency to bill subscription with. Together with product_id, must match
6978
+ # existing rate on the rate card.
6979
+ billing_frequency:,
6980
+ # Must be subscription type product
6981
+ product_id:
6982
+ )
6983
+ end
6984
+
6985
+ sig do
6986
+ override.returns(
6987
+ {
6988
+ billing_frequency:
6989
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::OrSymbol,
6990
+ product_id: String
6991
+ }
6992
+ )
6993
+ end
6994
+ def to_hash
6995
+ end
6996
+
6997
+ # Frequency to bill subscription with. Together with product_id, must match
6998
+ # existing rate on the rate card.
6999
+ module BillingFrequency
7000
+ extend MetronomeSDK::Internal::Type::Enum
7001
+
7002
+ TaggedSymbol =
7003
+ T.type_alias do
7004
+ T.all(
7005
+ Symbol,
7006
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency
7007
+ )
7008
+ end
7009
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7010
+
7011
+ MONTHLY =
7012
+ T.let(
7013
+ :MONTHLY,
7014
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7015
+ )
7016
+ QUARTERLY =
7017
+ T.let(
7018
+ :QUARTERLY,
7019
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7020
+ )
7021
+ ANNUAL =
7022
+ T.let(
7023
+ :ANNUAL,
7024
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7025
+ )
7026
+ WEEKLY =
7027
+ T.let(
7028
+ :WEEKLY,
7029
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7030
+ )
7031
+
7032
+ sig do
7033
+ override.returns(
7034
+ T::Array[
7035
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7036
+ ]
7037
+ )
7038
+ end
7039
+ def self.values
7040
+ end
7041
+ end
7042
+ end
7043
+ end
7044
+
7045
+ class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
7046
+ OrHash =
7047
+ T.type_alias do
7048
+ T.any(
7049
+ MetronomeSDK::V2::ContractEditParams::ArchiveCommit,
7050
+ MetronomeSDK::Internal::AnyHash
7051
+ )
7052
+ end
7053
+
7054
+ sig { returns(String) }
7055
+ attr_accessor :id
7056
+
7057
+ sig { params(id: String).returns(T.attached_class) }
7058
+ def self.new(id:)
7059
+ end
7060
+
7061
+ sig { override.returns({ id: String }) }
7062
+ def to_hash
7063
+ end
7064
+ end
7065
+
7066
+ class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
7067
+ OrHash =
7068
+ T.type_alias do
7069
+ T.any(
7070
+ MetronomeSDK::V2::ContractEditParams::ArchiveCredit,
7071
+ MetronomeSDK::Internal::AnyHash
7072
+ )
7073
+ end
7074
+
7075
+ sig { returns(String) }
7076
+ attr_accessor :id
7077
+
7078
+ sig { params(id: String).returns(T.attached_class) }
7079
+ def self.new(id:)
7080
+ end
7081
+
7082
+ sig { override.returns({ id: String }) }
7083
+ def to_hash
7084
+ end
7085
+ end
7086
+
7087
+ class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
7088
+ OrHash =
7089
+ T.type_alias do
7090
+ T.any(
7091
+ MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge,
7092
+ MetronomeSDK::Internal::AnyHash
7093
+ )
7094
+ end
7095
+
7096
+ sig { returns(String) }
7097
+ attr_accessor :id
7098
+
7099
+ sig { params(id: String).returns(T.attached_class) }
7100
+ def self.new(id:)
7101
+ end
7102
+
7103
+ sig { override.returns({ id: String }) }
7104
+ def to_hash
7105
+ end
7106
+ end
7107
+
7108
+ class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
7109
+ OrHash =
7110
+ T.type_alias do
7111
+ T.any(
7112
+ MetronomeSDK::V2::ContractEditParams::RemoveOverride,
7113
+ MetronomeSDK::Internal::AnyHash
7114
+ )
7115
+ end
7116
+
7117
+ sig { returns(String) }
7118
+ attr_accessor :id
7119
+
7120
+ sig { params(id: String).returns(T.attached_class) }
7121
+ def self.new(id:)
7122
+ end
7123
+
7124
+ sig { override.returns({ id: String }) }
7125
+ def to_hash
7126
+ end
7127
+ end
7128
+
7129
+ class UpdateCommit < MetronomeSDK::Internal::Type::BaseModel
7130
+ OrHash =
7131
+ T.type_alias do
7132
+ T.any(
7133
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit,
7134
+ MetronomeSDK::Internal::AnyHash
7135
+ )
7136
+ end
7137
+
7138
+ sig { returns(String) }
7139
+ attr_accessor :commit_id
7140
+
7141
+ sig do
7142
+ returns(
7143
+ T.nilable(
7144
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule
7145
+ )
7146
+ )
7147
+ end
7148
+ attr_reader :access_schedule
7149
+
7150
+ sig do
7151
+ params(
7152
+ access_schedule:
7153
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::OrHash
7154
+ ).void
7155
+ end
7156
+ attr_writer :access_schedule
7157
+
7158
+ # Which products the commit applies to. If both applicable_product_ids and
7159
+ # applicable_product_tags are not provided, the commit applies to all products.
7160
+ sig { returns(T.nilable(T::Array[String])) }
7161
+ attr_accessor :applicable_product_ids
7162
+
7163
+ # Which tags the commit applies to. If both applicable_product_ids and
7164
+ # applicable_product_tags are not provided, the commit applies to all products.
7165
+ sig { returns(T.nilable(T::Array[String])) }
7166
+ attr_accessor :applicable_product_tags
7167
+
7168
+ sig do
7169
+ returns(
7170
+ T.nilable(
7171
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule
7172
+ )
7173
+ )
7174
+ end
7175
+ attr_reader :invoice_schedule
7176
+
7177
+ sig do
7178
+ params(
7179
+ invoice_schedule:
7180
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::OrHash
7181
+ ).void
7182
+ end
7183
+ attr_writer :invoice_schedule
7184
+
7185
+ sig { returns(T.nilable(String)) }
7186
+ attr_accessor :netsuite_sales_order_id
7187
+
7188
+ sig { returns(T.nilable(String)) }
7189
+ attr_reader :product_id
7190
+
7191
+ sig { params(product_id: String).void }
7192
+ attr_writer :product_id
7193
+
7194
+ sig { returns(T.nilable(Float)) }
7195
+ attr_accessor :rollover_fraction
7196
+
7197
+ sig do
7198
+ params(
7199
+ commit_id: String,
7200
+ access_schedule:
7201
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::OrHash,
7202
+ applicable_product_ids: T.nilable(T::Array[String]),
7203
+ applicable_product_tags: T.nilable(T::Array[String]),
7204
+ invoice_schedule:
7205
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::OrHash,
7206
+ netsuite_sales_order_id: T.nilable(String),
7207
+ product_id: String,
7208
+ rollover_fraction: T.nilable(Float)
7209
+ ).returns(T.attached_class)
7210
+ end
7211
+ def self.new(
7212
+ commit_id:,
7213
+ access_schedule: nil,
7214
+ # Which products the commit applies to. If both applicable_product_ids and
7215
+ # applicable_product_tags are not provided, the commit applies to all products.
7216
+ applicable_product_ids: nil,
7217
+ # Which tags the commit applies to. If both applicable_product_ids and
7218
+ # applicable_product_tags are not provided, the commit applies to all products.
7219
+ applicable_product_tags: nil,
7220
+ invoice_schedule: nil,
7221
+ netsuite_sales_order_id: nil,
7222
+ product_id: nil,
7223
+ rollover_fraction: nil
7224
+ )
7225
+ end
7226
+
7227
+ sig do
7228
+ override.returns(
7229
+ {
7230
+ commit_id: String,
7231
+ access_schedule:
7232
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule,
7233
+ applicable_product_ids: T.nilable(T::Array[String]),
7234
+ applicable_product_tags: T.nilable(T::Array[String]),
7235
+ invoice_schedule:
7236
+ MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule,
7237
+ netsuite_sales_order_id: T.nilable(String),
7238
+ product_id: String,
6040
7239
  rollover_fraction: T.nilable(Float)
6041
7240
  }
6042
7241
  )
@@ -6985,15 +8184,10 @@ module MetronomeSDK
6985
8184
  OrHash =
6986
8185
  T.type_alias do
6987
8186
  T.any(
6988
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
6989
- MetronomeSDK::Internal::AnyHash
6990
- )
6991
- end
6992
-
6993
- # The commit product that will be used to generate the line item for commit
6994
- # payment.
6995
- sig { returns(String) }
6996
- attr_accessor :product_id
8187
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit,
8188
+ MetronomeSDK::Internal::AnyHash
8189
+ )
8190
+ end
6997
8191
 
6998
8192
  # Which products the threshold commit applies to. If both applicable_product_ids
6999
8193
  # and applicable_product_tags are not provided, the commit applies to all
@@ -7026,19 +8220,53 @@ module MetronomeSDK
7026
8220
  sig { params(name: String).void }
7027
8221
  attr_writer :name
7028
8222
 
8223
+ # The commit product that will be used to generate the line item for commit
8224
+ # payment.
8225
+ sig { returns(T.nilable(String)) }
8226
+ attr_reader :product_id
8227
+
8228
+ sig { params(product_id: String).void }
8229
+ attr_writer :product_id
8230
+
8231
+ # List of filters that determine what kind of customer usage draws down a commit
8232
+ # or credit. A customer's usage needs to meet the condition of at least one of the
8233
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
8234
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
8235
+ sig do
8236
+ returns(
8237
+ T.nilable(
8238
+ T::Array[
8239
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier
8240
+ ]
8241
+ )
8242
+ )
8243
+ end
8244
+ attr_reader :specifiers
8245
+
8246
+ sig do
8247
+ params(
8248
+ specifiers:
8249
+ T::Array[
8250
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
8251
+ ]
8252
+ ).void
8253
+ end
8254
+ attr_writer :specifiers
8255
+
7029
8256
  sig do
7030
8257
  params(
7031
- product_id: String,
7032
8258
  applicable_product_ids: T::Array[String],
7033
8259
  applicable_product_tags: T::Array[String],
7034
8260
  description: String,
7035
- name: String
8261
+ name: String,
8262
+ product_id: String,
8263
+ specifiers:
8264
+ T::Array[
8265
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
8266
+ ]
7036
8267
  ).returns(T.attached_class)
7037
8268
  end
7038
8269
  def self.new(
7039
- # The commit product that will be used to generate the line item for commit
7040
- # payment.
7041
- product_id:,
7042
8270
  # Which products the threshold commit applies to. If both applicable_product_ids
7043
8271
  # and applicable_product_tags are not provided, the commit applies to all
7044
8272
  # products.
@@ -7049,23 +8277,106 @@ module MetronomeSDK
7049
8277
  description: nil,
7050
8278
  # Specify the name of the line item for the threshold charge. If left blank, it
7051
8279
  # will default to the commit product name.
7052
- name: nil
8280
+ name: nil,
8281
+ # The commit product that will be used to generate the line item for commit
8282
+ # payment.
8283
+ product_id: nil,
8284
+ # List of filters that determine what kind of customer usage draws down a commit
8285
+ # or credit. A customer's usage needs to meet the condition of at least one of the
8286
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
8287
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
8288
+ specifiers: nil
7053
8289
  )
7054
8290
  end
7055
8291
 
7056
8292
  sig do
7057
8293
  override.returns(
7058
8294
  {
7059
- product_id: String,
7060
8295
  applicable_product_ids: T::Array[String],
7061
8296
  applicable_product_tags: T::Array[String],
7062
8297
  description: String,
7063
- name: String
8298
+ name: String,
8299
+ product_id: String,
8300
+ specifiers:
8301
+ T::Array[
8302
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier
8303
+ ]
7064
8304
  }
7065
8305
  )
7066
8306
  end
7067
8307
  def to_hash
7068
8308
  end
8309
+
8310
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
8311
+ OrHash =
8312
+ T.type_alias do
8313
+ T.any(
8314
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier,
8315
+ MetronomeSDK::Internal::AnyHash
8316
+ )
8317
+ end
8318
+
8319
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
8320
+ attr_reader :presentation_group_values
8321
+
8322
+ sig do
8323
+ params(presentation_group_values: T::Hash[Symbol, String]).void
8324
+ end
8325
+ attr_writer :presentation_group_values
8326
+
8327
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
8328
+ attr_reader :pricing_group_values
8329
+
8330
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
8331
+ attr_writer :pricing_group_values
8332
+
8333
+ # If provided, the specifier will only apply to the product with the specified ID.
8334
+ sig { returns(T.nilable(String)) }
8335
+ attr_reader :product_id
8336
+
8337
+ sig { params(product_id: String).void }
8338
+ attr_writer :product_id
8339
+
8340
+ # If provided, the specifier will only apply to products with all the specified
8341
+ # tags.
8342
+ sig { returns(T.nilable(T::Array[String])) }
8343
+ attr_reader :product_tags
8344
+
8345
+ sig { params(product_tags: T::Array[String]).void }
8346
+ attr_writer :product_tags
8347
+
8348
+ sig do
8349
+ params(
8350
+ presentation_group_values: T::Hash[Symbol, String],
8351
+ pricing_group_values: T::Hash[Symbol, String],
8352
+ product_id: String,
8353
+ product_tags: T::Array[String]
8354
+ ).returns(T.attached_class)
8355
+ end
8356
+ def self.new(
8357
+ presentation_group_values: nil,
8358
+ pricing_group_values: nil,
8359
+ # If provided, the specifier will only apply to the product with the specified ID.
8360
+ product_id: nil,
8361
+ # If provided, the specifier will only apply to products with all the specified
8362
+ # tags.
8363
+ product_tags: nil
8364
+ )
8365
+ end
8366
+
8367
+ sig do
8368
+ override.returns(
8369
+ {
8370
+ presentation_group_values: T::Hash[Symbol, String],
8371
+ pricing_group_values: T::Hash[Symbol, String],
8372
+ product_id: String,
8373
+ product_tags: T::Array[String]
8374
+ }
8375
+ )
8376
+ end
8377
+ def to_hash
8378
+ end
8379
+ end
7069
8380
  end
7070
8381
 
7071
8382
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -7247,80 +8558,326 @@ module MetronomeSDK
7247
8558
  }
7248
8559
  )
7249
8560
  end
7250
- def to_hash
7251
- end
8561
+ def to_hash
8562
+ end
8563
+
8564
+ # If left blank, will default to INVOICE
8565
+ module PaymentType
8566
+ extend MetronomeSDK::Internal::Type::Enum
8567
+
8568
+ TaggedSymbol =
8569
+ T.type_alias do
8570
+ T.all(
8571
+ Symbol,
8572
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
8573
+ )
8574
+ end
8575
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8576
+
8577
+ INVOICE =
8578
+ T.let(
8579
+ :INVOICE,
8580
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
8581
+ )
8582
+ PAYMENT_INTENT =
8583
+ T.let(
8584
+ :PAYMENT_INTENT,
8585
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
8586
+ )
8587
+
8588
+ sig do
8589
+ override.returns(
8590
+ T::Array[
8591
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
8592
+ ]
8593
+ )
8594
+ end
8595
+ def self.values
8596
+ end
8597
+ end
8598
+ end
8599
+
8600
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
8601
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
8602
+ # will default to NONE.
8603
+ module TaxType
8604
+ extend MetronomeSDK::Internal::Type::Enum
8605
+
8606
+ TaggedSymbol =
8607
+ T.type_alias do
8608
+ T.all(
8609
+ Symbol,
8610
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
8611
+ )
8612
+ end
8613
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8614
+
8615
+ NONE =
8616
+ T.let(
8617
+ :NONE,
8618
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8619
+ )
8620
+ STRIPE =
8621
+ T.let(
8622
+ :STRIPE,
8623
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8624
+ )
8625
+
8626
+ sig do
8627
+ override.returns(
8628
+ T::Array[
8629
+ MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8630
+ ]
8631
+ )
8632
+ end
8633
+ def self.values
8634
+ end
8635
+ end
8636
+ end
8637
+ end
8638
+
8639
+ class UpdateRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
8640
+ OrHash =
8641
+ T.type_alias do
8642
+ T.any(
8643
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit,
8644
+ MetronomeSDK::Internal::AnyHash
8645
+ )
8646
+ end
8647
+
8648
+ sig { returns(String) }
8649
+ attr_accessor :recurring_commit_id
8650
+
8651
+ sig do
8652
+ returns(
8653
+ T.nilable(
8654
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount
8655
+ )
8656
+ )
8657
+ end
8658
+ attr_reader :access_amount
8659
+
8660
+ sig do
8661
+ params(
8662
+ access_amount:
8663
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount::OrHash
8664
+ ).void
8665
+ end
8666
+ attr_writer :access_amount
8667
+
8668
+ sig { returns(T.nilable(Time)) }
8669
+ attr_accessor :ending_before
8670
+
8671
+ sig do
8672
+ returns(
8673
+ T.nilable(
8674
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
8675
+ )
8676
+ )
8677
+ end
8678
+ attr_reader :invoice_amount
8679
+
8680
+ sig do
8681
+ params(
8682
+ invoice_amount:
8683
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount::OrHash
8684
+ ).void
8685
+ end
8686
+ attr_writer :invoice_amount
8687
+
8688
+ sig do
8689
+ params(
8690
+ recurring_commit_id: String,
8691
+ access_amount:
8692
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount::OrHash,
8693
+ ending_before: T.nilable(Time),
8694
+ invoice_amount:
8695
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount::OrHash
8696
+ ).returns(T.attached_class)
8697
+ end
8698
+ def self.new(
8699
+ recurring_commit_id:,
8700
+ access_amount: nil,
8701
+ ending_before: nil,
8702
+ invoice_amount: nil
8703
+ )
8704
+ end
8705
+
8706
+ sig do
8707
+ override.returns(
8708
+ {
8709
+ recurring_commit_id: String,
8710
+ access_amount:
8711
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
8712
+ ending_before: T.nilable(Time),
8713
+ invoice_amount:
8714
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
8715
+ }
8716
+ )
8717
+ end
8718
+ def to_hash
8719
+ end
8720
+
8721
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
8722
+ OrHash =
8723
+ T.type_alias do
8724
+ T.any(
8725
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
8726
+ MetronomeSDK::Internal::AnyHash
8727
+ )
8728
+ end
8729
+
8730
+ sig { returns(T.nilable(Float)) }
8731
+ attr_reader :quantity
8732
+
8733
+ sig { params(quantity: Float).void }
8734
+ attr_writer :quantity
8735
+
8736
+ sig { returns(T.nilable(Float)) }
8737
+ attr_reader :unit_price
8738
+
8739
+ sig { params(unit_price: Float).void }
8740
+ attr_writer :unit_price
8741
+
8742
+ sig do
8743
+ params(quantity: Float, unit_price: Float).returns(
8744
+ T.attached_class
8745
+ )
8746
+ end
8747
+ def self.new(quantity: nil, unit_price: nil)
8748
+ end
8749
+
8750
+ sig { override.returns({ quantity: Float, unit_price: Float }) }
8751
+ def to_hash
8752
+ end
8753
+ end
8754
+
8755
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
8756
+ OrHash =
8757
+ T.type_alias do
8758
+ T.any(
8759
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
8760
+ MetronomeSDK::Internal::AnyHash
8761
+ )
8762
+ end
7252
8763
 
7253
- # If left blank, will default to INVOICE
7254
- module PaymentType
7255
- extend MetronomeSDK::Internal::Type::Enum
8764
+ sig { returns(T.nilable(Float)) }
8765
+ attr_reader :quantity
7256
8766
 
7257
- TaggedSymbol =
7258
- T.type_alias do
7259
- T.all(
7260
- Symbol,
7261
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
7262
- )
7263
- end
7264
- OrSymbol = T.type_alias { T.any(Symbol, String) }
8767
+ sig { params(quantity: Float).void }
8768
+ attr_writer :quantity
7265
8769
 
7266
- INVOICE =
7267
- T.let(
7268
- :INVOICE,
7269
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
7270
- )
7271
- PAYMENT_INTENT =
7272
- T.let(
7273
- :PAYMENT_INTENT,
7274
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
7275
- )
8770
+ sig { returns(T.nilable(Float)) }
8771
+ attr_reader :unit_price
7276
8772
 
7277
- sig do
7278
- override.returns(
7279
- T::Array[
7280
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
7281
- ]
7282
- )
7283
- end
7284
- def self.values
7285
- end
7286
- end
8773
+ sig { params(unit_price: Float).void }
8774
+ attr_writer :unit_price
8775
+
8776
+ sig do
8777
+ params(quantity: Float, unit_price: Float).returns(
8778
+ T.attached_class
8779
+ )
8780
+ end
8781
+ def self.new(quantity: nil, unit_price: nil)
7287
8782
  end
7288
8783
 
7289
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
7290
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
7291
- # will default to NONE.
7292
- module TaxType
7293
- extend MetronomeSDK::Internal::Type::Enum
8784
+ sig { override.returns({ quantity: Float, unit_price: Float }) }
8785
+ def to_hash
8786
+ end
8787
+ end
8788
+ end
7294
8789
 
7295
- TaggedSymbol =
7296
- T.type_alias do
7297
- T.all(
7298
- Symbol,
7299
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
7300
- )
7301
- end
7302
- OrSymbol = T.type_alias { T.any(Symbol, String) }
8790
+ class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
8791
+ OrHash =
8792
+ T.type_alias do
8793
+ T.any(
8794
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit,
8795
+ MetronomeSDK::Internal::AnyHash
8796
+ )
8797
+ end
7303
8798
 
7304
- NONE =
7305
- T.let(
7306
- :NONE,
7307
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
7308
- )
7309
- STRIPE =
7310
- T.let(
7311
- :STRIPE,
7312
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
7313
- )
8799
+ sig { returns(String) }
8800
+ attr_accessor :recurring_credit_id
7314
8801
 
7315
- sig do
7316
- override.returns(
7317
- T::Array[
7318
- MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
7319
- ]
8802
+ sig do
8803
+ returns(
8804
+ T.nilable(
8805
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount
8806
+ )
8807
+ )
8808
+ end
8809
+ attr_reader :access_amount
8810
+
8811
+ sig do
8812
+ params(
8813
+ access_amount:
8814
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount::OrHash
8815
+ ).void
8816
+ end
8817
+ attr_writer :access_amount
8818
+
8819
+ sig { returns(T.nilable(Time)) }
8820
+ attr_accessor :ending_before
8821
+
8822
+ sig do
8823
+ params(
8824
+ recurring_credit_id: String,
8825
+ access_amount:
8826
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount::OrHash,
8827
+ ending_before: T.nilable(Time)
8828
+ ).returns(T.attached_class)
8829
+ end
8830
+ def self.new(
8831
+ recurring_credit_id:,
8832
+ access_amount: nil,
8833
+ ending_before: nil
8834
+ )
8835
+ end
8836
+
8837
+ sig do
8838
+ override.returns(
8839
+ {
8840
+ recurring_credit_id: String,
8841
+ access_amount:
8842
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
8843
+ ending_before: T.nilable(Time)
8844
+ }
8845
+ )
8846
+ end
8847
+ def to_hash
8848
+ end
8849
+
8850
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
8851
+ OrHash =
8852
+ T.type_alias do
8853
+ T.any(
8854
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
8855
+ MetronomeSDK::Internal::AnyHash
7320
8856
  )
7321
8857
  end
7322
- def self.values
7323
- end
8858
+
8859
+ sig { returns(T.nilable(Float)) }
8860
+ attr_reader :quantity
8861
+
8862
+ sig { params(quantity: Float).void }
8863
+ attr_writer :quantity
8864
+
8865
+ sig { returns(T.nilable(Float)) }
8866
+ attr_reader :unit_price
8867
+
8868
+ sig { params(unit_price: Float).void }
8869
+ attr_writer :unit_price
8870
+
8871
+ sig do
8872
+ params(quantity: Float, unit_price: Float).returns(
8873
+ T.attached_class
8874
+ )
8875
+ end
8876
+ def self.new(quantity: nil, unit_price: nil)
8877
+ end
8878
+
8879
+ sig { override.returns({ quantity: Float, unit_price: Float }) }
8880
+ def to_hash
7324
8881
  end
7325
8882
  end
7326
8883
  end
@@ -7761,13 +9318,21 @@ module MetronomeSDK
7761
9318
  end
7762
9319
 
7763
9320
  sig { returns(T.nilable(String)) }
7764
- attr_accessor :description
9321
+ attr_reader :description
9322
+
9323
+ sig { params(description: String).void }
9324
+ attr_writer :description
7765
9325
 
7766
9326
  # Specify the name of the line item for the threshold charge. If left blank, it
7767
9327
  # will default to the commit product name.
7768
9328
  sig { returns(T.nilable(String)) }
7769
- attr_accessor :name
9329
+ attr_reader :name
9330
+
9331
+ sig { params(name: String).void }
9332
+ attr_writer :name
7770
9333
 
9334
+ # The commit product that will be used to generate the line item for commit
9335
+ # payment.
7771
9336
  sig { returns(T.nilable(String)) }
7772
9337
  attr_reader :product_id
7773
9338
 
@@ -7776,8 +9341,8 @@ module MetronomeSDK
7776
9341
 
7777
9342
  sig do
7778
9343
  params(
7779
- description: T.nilable(String),
7780
- name: T.nilable(String),
9344
+ description: String,
9345
+ name: String,
7781
9346
  product_id: String
7782
9347
  ).returns(T.attached_class)
7783
9348
  end
@@ -7786,17 +9351,15 @@ module MetronomeSDK
7786
9351
  # Specify the name of the line item for the threshold charge. If left blank, it
7787
9352
  # will default to the commit product name.
7788
9353
  name: nil,
9354
+ # The commit product that will be used to generate the line item for commit
9355
+ # payment.
7789
9356
  product_id: nil
7790
9357
  )
7791
9358
  end
7792
9359
 
7793
9360
  sig do
7794
9361
  override.returns(
7795
- {
7796
- description: T.nilable(String),
7797
- name: T.nilable(String),
7798
- product_id: String
7799
- }
9362
+ { description: String, name: String, product_id: String }
7800
9363
  )
7801
9364
  end
7802
9365
  def to_hash
@@ -8059,6 +9622,138 @@ module MetronomeSDK
8059
9622
  end
8060
9623
  end
8061
9624
  end
9625
+
9626
+ class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel
9627
+ OrHash =
9628
+ T.type_alias do
9629
+ T.any(
9630
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription,
9631
+ MetronomeSDK::Internal::AnyHash
9632
+ )
9633
+ end
9634
+
9635
+ sig { returns(String) }
9636
+ attr_accessor :subscription_id
9637
+
9638
+ sig { returns(T.nilable(Time)) }
9639
+ attr_accessor :ending_before
9640
+
9641
+ # Quantity changes are applied on the effective date based on the order which they
9642
+ # are sent. For example, if I scheduled the quantity to be 12 on May 21 and then
9643
+ # scheduled a quantity delta change of -1, the result from that day would be 11.
9644
+ sig do
9645
+ returns(
9646
+ T.nilable(
9647
+ T::Array[
9648
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate
9649
+ ]
9650
+ )
9651
+ )
9652
+ end
9653
+ attr_reader :quantity_updates
9654
+
9655
+ sig do
9656
+ params(
9657
+ quantity_updates:
9658
+ T::Array[
9659
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate::OrHash
9660
+ ]
9661
+ ).void
9662
+ end
9663
+ attr_writer :quantity_updates
9664
+
9665
+ sig do
9666
+ params(
9667
+ subscription_id: String,
9668
+ ending_before: T.nilable(Time),
9669
+ quantity_updates:
9670
+ T::Array[
9671
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate::OrHash
9672
+ ]
9673
+ ).returns(T.attached_class)
9674
+ end
9675
+ def self.new(
9676
+ subscription_id:,
9677
+ ending_before: nil,
9678
+ # Quantity changes are applied on the effective date based on the order which they
9679
+ # are sent. For example, if I scheduled the quantity to be 12 on May 21 and then
9680
+ # scheduled a quantity delta change of -1, the result from that day would be 11.
9681
+ quantity_updates: nil
9682
+ )
9683
+ end
9684
+
9685
+ sig do
9686
+ override.returns(
9687
+ {
9688
+ subscription_id: String,
9689
+ ending_before: T.nilable(Time),
9690
+ quantity_updates:
9691
+ T::Array[
9692
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate
9693
+ ]
9694
+ }
9695
+ )
9696
+ end
9697
+ def to_hash
9698
+ end
9699
+
9700
+ class QuantityUpdate < MetronomeSDK::Internal::Type::BaseModel
9701
+ OrHash =
9702
+ T.type_alias do
9703
+ T.any(
9704
+ MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate,
9705
+ MetronomeSDK::Internal::AnyHash
9706
+ )
9707
+ end
9708
+
9709
+ sig { returns(Time) }
9710
+ attr_accessor :starting_at
9711
+
9712
+ # The new quantity for the subscription. Must be provided if quantity_delta is not
9713
+ # provided. Must be non-negative.
9714
+ sig { returns(T.nilable(Float)) }
9715
+ attr_reader :quantity
9716
+
9717
+ sig { params(quantity: Float).void }
9718
+ attr_writer :quantity
9719
+
9720
+ # The delta to add to the subscription's quantity. Must be provided if quantity is
9721
+ # not provided. Can't be zero. It also can't result in a negative quantity on the
9722
+ # subscription.
9723
+ sig { returns(T.nilable(Float)) }
9724
+ attr_reader :quantity_delta
9725
+
9726
+ sig { params(quantity_delta: Float).void }
9727
+ attr_writer :quantity_delta
9728
+
9729
+ sig do
9730
+ params(
9731
+ starting_at: Time,
9732
+ quantity: Float,
9733
+ quantity_delta: Float
9734
+ ).returns(T.attached_class)
9735
+ end
9736
+ def self.new(
9737
+ starting_at:,
9738
+ # The new quantity for the subscription. Must be provided if quantity_delta is not
9739
+ # provided. Must be non-negative.
9740
+ quantity: nil,
9741
+ # The delta to add to the subscription's quantity. Must be provided if quantity is
9742
+ # not provided. Can't be zero. It also can't result in a negative quantity on the
9743
+ # subscription.
9744
+ quantity_delta: nil
9745
+ )
9746
+ end
9747
+
9748
+ sig do
9749
+ override.returns(
9750
+ { starting_at: Time, quantity: Float, quantity_delta: Float }
9751
+ )
9752
+ end
9753
+ def to_hash
9754
+ end
9755
+ end
9756
+ end
8062
9757
  end
8063
9758
  end
8064
9759
  end