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
@@ -334,6 +334,28 @@ module MetronomeSDK
334
334
  end
335
335
  attr_writer :spend_threshold_configuration
336
336
 
337
+ # (beta) Optional list of
338
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
339
+ # to add to the contract.
340
+ sig do
341
+ returns(
342
+ T.nilable(
343
+ T::Array[MetronomeSDK::V1::ContractCreateParams::Subscription]
344
+ )
345
+ )
346
+ end
347
+ attr_reader :subscriptions
348
+
349
+ sig do
350
+ params(
351
+ subscriptions:
352
+ T::Array[
353
+ MetronomeSDK::V1::ContractCreateParams::Subscription::OrHash
354
+ ]
355
+ ).void
356
+ end
357
+ attr_writer :subscriptions
358
+
337
359
  # This field's availability is dependent on your client's configuration.
338
360
  sig { returns(T.nilable(Float)) }
339
361
  attr_reader :total_contract_value
@@ -363,10 +385,19 @@ module MetronomeSDK
363
385
  sig { params(uniqueness_key: String).void }
364
386
  attr_writer :uniqueness_key
365
387
 
366
- sig { returns(T.nilable(MetronomeSDK::BaseUsageFilter)) }
388
+ sig do
389
+ returns(
390
+ T.nilable(MetronomeSDK::V1::ContractCreateParams::UsageFilter)
391
+ )
392
+ end
367
393
  attr_reader :usage_filter
368
394
 
369
- sig { params(usage_filter: MetronomeSDK::BaseUsageFilter::OrHash).void }
395
+ sig do
396
+ params(
397
+ usage_filter:
398
+ MetronomeSDK::V1::ContractCreateParams::UsageFilter::OrHash
399
+ ).void
400
+ end
370
401
  attr_writer :usage_filter
371
402
 
372
403
  sig do
@@ -440,11 +471,16 @@ module MetronomeSDK
440
471
  MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices::OrSymbol,
441
472
  spend_threshold_configuration:
442
473
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::OrHash,
474
+ subscriptions:
475
+ T::Array[
476
+ MetronomeSDK::V1::ContractCreateParams::Subscription::OrHash
477
+ ],
443
478
  total_contract_value: Float,
444
479
  transition:
445
480
  MetronomeSDK::V1::ContractCreateParams::Transition::OrHash,
446
481
  uniqueness_key: String,
447
- usage_filter: MetronomeSDK::BaseUsageFilter::OrHash,
482
+ usage_filter:
483
+ MetronomeSDK::V1::ContractCreateParams::UsageFilter::OrHash,
448
484
  usage_statement_schedule:
449
485
  MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::OrHash,
450
486
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -494,6 +530,10 @@ module MetronomeSDK
494
530
  # on a separate invoice from usage charges.
495
531
  scheduled_charges_on_usage_invoices: nil,
496
532
  spend_threshold_configuration: nil,
533
+ # (beta) Optional list of
534
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
535
+ # to add to the contract.
536
+ subscriptions: nil,
497
537
  # This field's availability is dependent on your client's configuration.
498
538
  total_contract_value: nil,
499
539
  transition: nil,
@@ -556,10 +596,12 @@ module MetronomeSDK
556
596
  MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices::OrSymbol,
557
597
  spend_threshold_configuration:
558
598
  MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration,
599
+ subscriptions:
600
+ T::Array[MetronomeSDK::V1::ContractCreateParams::Subscription],
559
601
  total_contract_value: Float,
560
602
  transition: MetronomeSDK::V1::ContractCreateParams::Transition,
561
603
  uniqueness_key: String,
562
- usage_filter: MetronomeSDK::BaseUsageFilter,
604
+ usage_filter: MetronomeSDK::V1::ContractCreateParams::UsageFilter,
563
605
  usage_statement_schedule:
564
606
  MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule,
565
607
  request_options: MetronomeSDK::RequestOptions
@@ -905,6 +947,31 @@ module MetronomeSDK
905
947
  sig { params(rollover_fraction: Float).void }
906
948
  attr_writer :rollover_fraction
907
949
 
950
+ # List of filters that determine what kind of customer usage draws down a commit
951
+ # or credit. A customer's usage needs to meet the condition of at least one of the
952
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
953
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
954
+ sig do
955
+ returns(
956
+ T.nilable(
957
+ T::Array[
958
+ MetronomeSDK::V1::ContractCreateParams::Commit::Specifier
959
+ ]
960
+ )
961
+ )
962
+ end
963
+ attr_reader :specifiers
964
+
965
+ sig do
966
+ params(
967
+ specifiers:
968
+ T::Array[
969
+ MetronomeSDK::V1::ContractCreateParams::Commit::Specifier::OrHash
970
+ ]
971
+ ).void
972
+ end
973
+ attr_writer :specifiers
974
+
908
975
  # A temporary ID for the commit that can be used to reference the commit for
909
976
  # commit specific overrides.
910
977
  sig { returns(T.nilable(String)) }
@@ -935,6 +1002,10 @@ module MetronomeSDK
935
1002
  rate_type:
936
1003
  MetronomeSDK::V1::ContractCreateParams::Commit::RateType::OrSymbol,
937
1004
  rollover_fraction: Float,
1005
+ specifiers:
1006
+ T::Array[
1007
+ MetronomeSDK::V1::ContractCreateParams::Commit::Specifier::OrHash
1008
+ ],
938
1009
  temporary_id: String
939
1010
  ).returns(T.attached_class)
940
1011
  end
@@ -973,6 +1044,11 @@ module MetronomeSDK
973
1044
  rate_type: nil,
974
1045
  # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
975
1046
  rollover_fraction: nil,
1047
+ # List of filters that determine what kind of customer usage draws down a commit
1048
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1049
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1050
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1051
+ specifiers: nil,
976
1052
  # A temporary ID for the commit that can be used to reference the commit for
977
1053
  # commit specific overrides.
978
1054
  temporary_id: nil
@@ -1002,6 +1078,10 @@ module MetronomeSDK
1002
1078
  rate_type:
1003
1079
  MetronomeSDK::V1::ContractCreateParams::Commit::RateType::OrSymbol,
1004
1080
  rollover_fraction: Float,
1081
+ specifiers:
1082
+ T::Array[
1083
+ MetronomeSDK::V1::ContractCreateParams::Commit::Specifier
1084
+ ],
1005
1085
  temporary_id: String
1006
1086
  }
1007
1087
  )
@@ -1817,6 +1897,77 @@ module MetronomeSDK
1817
1897
  def self.values
1818
1898
  end
1819
1899
  end
1900
+
1901
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1902
+ OrHash =
1903
+ T.type_alias do
1904
+ T.any(
1905
+ MetronomeSDK::V1::ContractCreateParams::Commit::Specifier,
1906
+ MetronomeSDK::Internal::AnyHash
1907
+ )
1908
+ end
1909
+
1910
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1911
+ attr_reader :presentation_group_values
1912
+
1913
+ sig do
1914
+ params(presentation_group_values: T::Hash[Symbol, String]).void
1915
+ end
1916
+ attr_writer :presentation_group_values
1917
+
1918
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1919
+ attr_reader :pricing_group_values
1920
+
1921
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1922
+ attr_writer :pricing_group_values
1923
+
1924
+ # If provided, the specifier will only apply to the product with the specified ID.
1925
+ sig { returns(T.nilable(String)) }
1926
+ attr_reader :product_id
1927
+
1928
+ sig { params(product_id: String).void }
1929
+ attr_writer :product_id
1930
+
1931
+ # If provided, the specifier will only apply to products with all the specified
1932
+ # tags.
1933
+ sig { returns(T.nilable(T::Array[String])) }
1934
+ attr_reader :product_tags
1935
+
1936
+ sig { params(product_tags: T::Array[String]).void }
1937
+ attr_writer :product_tags
1938
+
1939
+ sig do
1940
+ params(
1941
+ presentation_group_values: T::Hash[Symbol, String],
1942
+ pricing_group_values: T::Hash[Symbol, String],
1943
+ product_id: String,
1944
+ product_tags: T::Array[String]
1945
+ ).returns(T.attached_class)
1946
+ end
1947
+ def self.new(
1948
+ presentation_group_values: nil,
1949
+ pricing_group_values: nil,
1950
+ # If provided, the specifier will only apply to the product with the specified ID.
1951
+ product_id: nil,
1952
+ # If provided, the specifier will only apply to products with all the specified
1953
+ # tags.
1954
+ product_tags: nil
1955
+ )
1956
+ end
1957
+
1958
+ sig do
1959
+ override.returns(
1960
+ {
1961
+ presentation_group_values: T::Hash[Symbol, String],
1962
+ pricing_group_values: T::Hash[Symbol, String],
1963
+ product_id: String,
1964
+ product_tags: T::Array[String]
1965
+ }
1966
+ )
1967
+ end
1968
+ def to_hash
1969
+ end
1970
+ end
1820
1971
  end
1821
1972
 
1822
1973
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -1915,6 +2066,31 @@ module MetronomeSDK
1915
2066
  end
1916
2067
  attr_writer :rate_type
1917
2068
 
2069
+ # List of filters that determine what kind of customer usage draws down a commit
2070
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2071
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2072
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2073
+ sig do
2074
+ returns(
2075
+ T.nilable(
2076
+ T::Array[
2077
+ MetronomeSDK::V1::ContractCreateParams::Credit::Specifier
2078
+ ]
2079
+ )
2080
+ )
2081
+ end
2082
+ attr_reader :specifiers
2083
+
2084
+ sig do
2085
+ params(
2086
+ specifiers:
2087
+ T::Array[
2088
+ MetronomeSDK::V1::ContractCreateParams::Credit::Specifier::OrHash
2089
+ ]
2090
+ ).void
2091
+ end
2092
+ attr_writer :specifiers
2093
+
1918
2094
  sig do
1919
2095
  params(
1920
2096
  access_schedule:
@@ -1928,7 +2104,11 @@ module MetronomeSDK
1928
2104
  netsuite_sales_order_id: String,
1929
2105
  priority: Float,
1930
2106
  rate_type:
1931
- MetronomeSDK::V1::ContractCreateParams::Credit::RateType::OrSymbol
2107
+ MetronomeSDK::V1::ContractCreateParams::Credit::RateType::OrSymbol,
2108
+ specifiers:
2109
+ T::Array[
2110
+ MetronomeSDK::V1::ContractCreateParams::Credit::Specifier::OrHash
2111
+ ]
1932
2112
  ).returns(T.attached_class)
1933
2113
  end
1934
2114
  def self.new(
@@ -1951,7 +2131,12 @@ module MetronomeSDK
1951
2131
  # If multiple credits are applicable, the one with the lower priority will apply
1952
2132
  # first.
1953
2133
  priority: nil,
1954
- rate_type: nil
2134
+ rate_type: nil,
2135
+ # List of filters that determine what kind of customer usage draws down a commit
2136
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2137
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2138
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2139
+ specifiers: nil
1955
2140
  )
1956
2141
  end
1957
2142
 
@@ -1969,7 +2154,11 @@ module MetronomeSDK
1969
2154
  netsuite_sales_order_id: String,
1970
2155
  priority: Float,
1971
2156
  rate_type:
1972
- MetronomeSDK::V1::ContractCreateParams::Credit::RateType::OrSymbol
2157
+ MetronomeSDK::V1::ContractCreateParams::Credit::RateType::OrSymbol,
2158
+ specifiers:
2159
+ T::Array[
2160
+ MetronomeSDK::V1::ContractCreateParams::Credit::Specifier
2161
+ ]
1973
2162
  }
1974
2163
  )
1975
2164
  end
@@ -2111,6 +2300,77 @@ module MetronomeSDK
2111
2300
  def self.values
2112
2301
  end
2113
2302
  end
2303
+
2304
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2305
+ OrHash =
2306
+ T.type_alias do
2307
+ T.any(
2308
+ MetronomeSDK::V1::ContractCreateParams::Credit::Specifier,
2309
+ MetronomeSDK::Internal::AnyHash
2310
+ )
2311
+ end
2312
+
2313
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2314
+ attr_reader :presentation_group_values
2315
+
2316
+ sig do
2317
+ params(presentation_group_values: T::Hash[Symbol, String]).void
2318
+ end
2319
+ attr_writer :presentation_group_values
2320
+
2321
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2322
+ attr_reader :pricing_group_values
2323
+
2324
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2325
+ attr_writer :pricing_group_values
2326
+
2327
+ # If provided, the specifier will only apply to the product with the specified ID.
2328
+ sig { returns(T.nilable(String)) }
2329
+ attr_reader :product_id
2330
+
2331
+ sig { params(product_id: String).void }
2332
+ attr_writer :product_id
2333
+
2334
+ # If provided, the specifier will only apply to products with all the specified
2335
+ # tags.
2336
+ sig { returns(T.nilable(T::Array[String])) }
2337
+ attr_reader :product_tags
2338
+
2339
+ sig { params(product_tags: T::Array[String]).void }
2340
+ attr_writer :product_tags
2341
+
2342
+ sig do
2343
+ params(
2344
+ presentation_group_values: T::Hash[Symbol, String],
2345
+ pricing_group_values: T::Hash[Symbol, String],
2346
+ product_id: String,
2347
+ product_tags: T::Array[String]
2348
+ ).returns(T.attached_class)
2349
+ end
2350
+ def self.new(
2351
+ presentation_group_values: nil,
2352
+ pricing_group_values: nil,
2353
+ # If provided, the specifier will only apply to the product with the specified ID.
2354
+ product_id: nil,
2355
+ # If provided, the specifier will only apply to products with all the specified
2356
+ # tags.
2357
+ product_tags: nil
2358
+ )
2359
+ end
2360
+
2361
+ sig do
2362
+ override.returns(
2363
+ {
2364
+ presentation_group_values: T::Hash[Symbol, String],
2365
+ pricing_group_values: T::Hash[Symbol, String],
2366
+ product_id: String,
2367
+ product_tags: T::Array[String]
2368
+ }
2369
+ )
2370
+ end
2371
+ def to_hash
2372
+ end
2373
+ end
2114
2374
  end
2115
2375
 
2116
2376
  class Discount < MetronomeSDK::Internal::Type::BaseModel
@@ -2886,6 +3146,23 @@ module MetronomeSDK
2886
3146
  )
2887
3147
  end
2888
3148
 
3149
+ sig do
3150
+ returns(
3151
+ T.nilable(
3152
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol
3153
+ )
3154
+ )
3155
+ end
3156
+ attr_reader :billing_frequency
3157
+
3158
+ sig do
3159
+ params(
3160
+ billing_frequency:
3161
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol
3162
+ ).void
3163
+ end
3164
+ attr_writer :billing_frequency
3165
+
2889
3166
  # Can only be used for commit specific overrides. Must be used in conjunction with
2890
3167
  # one of product_id, product_tags, pricing_group_values, or
2891
3168
  # presentation_group_values. If provided, the override will only apply to the
@@ -2951,6 +3228,8 @@ module MetronomeSDK
2951
3228
 
2952
3229
  sig do
2953
3230
  params(
3231
+ billing_frequency:
3232
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
2954
3233
  commit_ids: T::Array[String],
2955
3234
  presentation_group_values: T::Hash[Symbol, String],
2956
3235
  pricing_group_values: T::Hash[Symbol, String],
@@ -2961,6 +3240,7 @@ module MetronomeSDK
2961
3240
  ).returns(T.attached_class)
2962
3241
  end
2963
3242
  def self.new(
3243
+ billing_frequency: nil,
2964
3244
  # Can only be used for commit specific overrides. Must be used in conjunction with
2965
3245
  # one of product_id, product_tags, pricing_group_values, or
2966
3246
  # presentation_group_values. If provided, the override will only apply to the
@@ -2993,6 +3273,8 @@ module MetronomeSDK
2993
3273
  sig do
2994
3274
  override.returns(
2995
3275
  {
3276
+ billing_frequency:
3277
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
2996
3278
  commit_ids: T::Array[String],
2997
3279
  presentation_group_values: T::Hash[Symbol, String],
2998
3280
  pricing_group_values: T::Hash[Symbol, String],
@@ -3005,6 +3287,50 @@ module MetronomeSDK
3005
3287
  end
3006
3288
  def to_hash
3007
3289
  end
3290
+
3291
+ module BillingFrequency
3292
+ extend MetronomeSDK::Internal::Type::Enum
3293
+
3294
+ TaggedSymbol =
3295
+ T.type_alias do
3296
+ T.all(
3297
+ Symbol,
3298
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency
3299
+ )
3300
+ end
3301
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3302
+
3303
+ MONTHLY =
3304
+ T.let(
3305
+ :MONTHLY,
3306
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3307
+ )
3308
+ QUARTERLY =
3309
+ T.let(
3310
+ :QUARTERLY,
3311
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3312
+ )
3313
+ ANNUAL =
3314
+ T.let(
3315
+ :ANNUAL,
3316
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3317
+ )
3318
+ WEEKLY =
3319
+ T.let(
3320
+ :WEEKLY,
3321
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3322
+ )
3323
+
3324
+ sig do
3325
+ override.returns(
3326
+ T::Array[
3327
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3328
+ ]
3329
+ )
3330
+ end
3331
+ def self.values
3332
+ end
3333
+ end
3008
3334
  end
3009
3335
 
3010
3336
  class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
@@ -3061,10 +3387,25 @@ module MetronomeSDK
3061
3387
  attr_writer :quantity
3062
3388
 
3063
3389
  # Only set for TIERED rate_type.
3064
- sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
3390
+ sig do
3391
+ returns(
3392
+ T.nilable(
3393
+ T::Array[
3394
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier
3395
+ ]
3396
+ )
3397
+ )
3398
+ end
3065
3399
  attr_reader :tiers
3066
3400
 
3067
- sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
3401
+ sig do
3402
+ params(
3403
+ tiers:
3404
+ T::Array[
3405
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier::OrHash
3406
+ ]
3407
+ ).void
3408
+ end
3068
3409
  attr_writer :tiers
3069
3410
 
3070
3411
  # Required for OVERWRITE type.
@@ -3077,7 +3418,10 @@ module MetronomeSDK
3077
3418
  is_prorated: T::Boolean,
3078
3419
  price: Float,
3079
3420
  quantity: Float,
3080
- tiers: T::Array[MetronomeSDK::Tier::OrHash]
3421
+ tiers:
3422
+ T::Array[
3423
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier::OrHash
3424
+ ]
3081
3425
  ).returns(T.attached_class)
3082
3426
  end
3083
3427
  def self.new(
@@ -3109,7 +3453,10 @@ module MetronomeSDK
3109
3453
  is_prorated: T::Boolean,
3110
3454
  price: Float,
3111
3455
  quantity: Float,
3112
- tiers: T::Array[MetronomeSDK::Tier]
3456
+ tiers:
3457
+ T::Array[
3458
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier
3459
+ ]
3113
3460
  }
3114
3461
  )
3115
3462
  end
@@ -3164,12 +3511,41 @@ module MetronomeSDK
3164
3511
  def self.values
3165
3512
  end
3166
3513
  end
3167
- end
3168
3514
 
3169
- # Indicates whether the override applies to commit rates or list rates. Can only
3170
- # be used for overrides that have `is_commit_specific` set to `true`. Defaults to
3171
- # `"LIST_RATE"`.
3172
- module Target
3515
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
3516
+ OrHash =
3517
+ T.type_alias do
3518
+ T.any(
3519
+ MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier,
3520
+ MetronomeSDK::Internal::AnyHash
3521
+ )
3522
+ end
3523
+
3524
+ sig { returns(Float) }
3525
+ attr_accessor :price
3526
+
3527
+ sig { returns(T.nilable(Float)) }
3528
+ attr_reader :size
3529
+
3530
+ sig { params(size: Float).void }
3531
+ attr_writer :size
3532
+
3533
+ sig do
3534
+ params(price: Float, size: Float).returns(T.attached_class)
3535
+ end
3536
+ def self.new(price:, size: nil)
3537
+ end
3538
+
3539
+ sig { override.returns({ price: Float, size: Float }) }
3540
+ def to_hash
3541
+ end
3542
+ end
3543
+ end
3544
+
3545
+ # Indicates whether the override applies to commit rates or list rates. Can only
3546
+ # be used for overrides that have `is_commit_specific` set to `true`. Defaults to
3547
+ # `"LIST_RATE"`.
3548
+ module Target
3173
3549
  extend MetronomeSDK::Internal::Type::Enum
3174
3550
 
3175
3551
  TaggedSymbol =
@@ -3414,13 +3790,42 @@ module MetronomeSDK
3414
3790
  sig { params(name: String).void }
3415
3791
  attr_writer :name
3416
3792
 
3793
+ # List of filters that determine what kind of customer usage draws down a commit
3794
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3795
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3796
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3797
+ sig do
3798
+ returns(
3799
+ T.nilable(
3800
+ T::Array[
3801
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier
3802
+ ]
3803
+ )
3804
+ )
3805
+ end
3806
+ attr_reader :specifiers
3807
+
3808
+ sig do
3809
+ params(
3810
+ specifiers:
3811
+ T::Array[
3812
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
3813
+ ]
3814
+ ).void
3815
+ end
3816
+ attr_writer :specifiers
3817
+
3417
3818
  sig do
3418
3819
  params(
3419
3820
  product_id: String,
3420
3821
  applicable_product_ids: T::Array[String],
3421
3822
  applicable_product_tags: T::Array[String],
3422
3823
  description: String,
3423
- name: String
3824
+ name: String,
3825
+ specifiers:
3826
+ T::Array[
3827
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
3828
+ ]
3424
3829
  ).returns(T.attached_class)
3425
3830
  end
3426
3831
  def self.new(
@@ -3437,7 +3842,12 @@ module MetronomeSDK
3437
3842
  description: nil,
3438
3843
  # Specify the name of the line item for the threshold charge. If left blank, it
3439
3844
  # will default to the commit product name.
3440
- name: nil
3845
+ name: nil,
3846
+ # List of filters that determine what kind of customer usage draws down a commit
3847
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3848
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3849
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3850
+ specifiers: nil
3441
3851
  )
3442
3852
  end
3443
3853
 
@@ -3448,12 +3858,87 @@ module MetronomeSDK
3448
3858
  applicable_product_ids: T::Array[String],
3449
3859
  applicable_product_tags: T::Array[String],
3450
3860
  description: String,
3451
- name: String
3861
+ name: String,
3862
+ specifiers:
3863
+ T::Array[
3864
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier
3865
+ ]
3452
3866
  }
3453
3867
  )
3454
3868
  end
3455
3869
  def to_hash
3456
3870
  end
3871
+
3872
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3873
+ OrHash =
3874
+ T.type_alias do
3875
+ T.any(
3876
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier,
3877
+ MetronomeSDK::Internal::AnyHash
3878
+ )
3879
+ end
3880
+
3881
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3882
+ attr_reader :presentation_group_values
3883
+
3884
+ sig do
3885
+ params(presentation_group_values: T::Hash[Symbol, String]).void
3886
+ end
3887
+ attr_writer :presentation_group_values
3888
+
3889
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3890
+ attr_reader :pricing_group_values
3891
+
3892
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
3893
+ attr_writer :pricing_group_values
3894
+
3895
+ # If provided, the specifier will only apply to the product with the specified ID.
3896
+ sig { returns(T.nilable(String)) }
3897
+ attr_reader :product_id
3898
+
3899
+ sig { params(product_id: String).void }
3900
+ attr_writer :product_id
3901
+
3902
+ # If provided, the specifier will only apply to products with all the specified
3903
+ # tags.
3904
+ sig { returns(T.nilable(T::Array[String])) }
3905
+ attr_reader :product_tags
3906
+
3907
+ sig { params(product_tags: T::Array[String]).void }
3908
+ attr_writer :product_tags
3909
+
3910
+ sig do
3911
+ params(
3912
+ presentation_group_values: T::Hash[Symbol, String],
3913
+ pricing_group_values: T::Hash[Symbol, String],
3914
+ product_id: String,
3915
+ product_tags: T::Array[String]
3916
+ ).returns(T.attached_class)
3917
+ end
3918
+ def self.new(
3919
+ presentation_group_values: nil,
3920
+ pricing_group_values: nil,
3921
+ # If provided, the specifier will only apply to the product with the specified ID.
3922
+ product_id: nil,
3923
+ # If provided, the specifier will only apply to products with all the specified
3924
+ # tags.
3925
+ product_tags: nil
3926
+ )
3927
+ end
3928
+
3929
+ sig do
3930
+ override.returns(
3931
+ {
3932
+ presentation_group_values: T::Hash[Symbol, String],
3933
+ pricing_group_values: T::Hash[Symbol, String],
3934
+ product_id: String,
3935
+ product_tags: T::Array[String]
3936
+ }
3937
+ )
3938
+ end
3939
+ def to_hash
3940
+ end
3941
+ end
3457
3942
  end
3458
3943
 
3459
3944
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -3828,7 +4313,9 @@ module MetronomeSDK
3828
4313
  end
3829
4314
  attr_writer :access_amount
3830
4315
 
3831
- # The amount of time the created commits will be valid for.
4316
+ # Defines the length of the access schedule for each created commit/credit. The
4317
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4318
+ # length of a period is determined by the recurrence_frequency.
3832
4319
  sig do
3833
4320
  returns(
3834
4321
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration
@@ -3955,7 +4442,7 @@ module MetronomeSDK
3955
4442
  # The frequency at which the recurring commits will be created. If not provided: -
3956
4443
  # The commits will be created on the usage invoice frequency. If provided: - The
3957
4444
  # period defined in the duration will correspond to this frequency. - Commits will
3958
- # be created aligned with the recurring commit's start_date rather than the usage
4445
+ # be created aligned with the recurring commit's starting_at rather than the usage
3959
4446
  # invoice dates.
3960
4447
  sig do
3961
4448
  returns(
@@ -3983,6 +4470,31 @@ module MetronomeSDK
3983
4470
  sig { params(rollover_fraction: Float).void }
3984
4471
  attr_writer :rollover_fraction
3985
4472
 
4473
+ # List of filters that determine what kind of customer usage draws down a commit
4474
+ # or credit. A customer's usage needs to meet the condition of at least one of the
4475
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
4476
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
4477
+ sig do
4478
+ returns(
4479
+ T.nilable(
4480
+ T::Array[
4481
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier
4482
+ ]
4483
+ )
4484
+ )
4485
+ end
4486
+ attr_reader :specifiers
4487
+
4488
+ sig do
4489
+ params(
4490
+ specifiers:
4491
+ T::Array[
4492
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier::OrHash
4493
+ ]
4494
+ ).void
4495
+ end
4496
+ attr_writer :specifiers
4497
+
3986
4498
  # A temporary ID that can be used to reference the recurring commit for commit
3987
4499
  # specific overrides.
3988
4500
  sig { returns(T.nilable(String)) }
@@ -4015,13 +4527,19 @@ module MetronomeSDK
4015
4527
  recurrence_frequency:
4016
4528
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency::OrSymbol,
4017
4529
  rollover_fraction: Float,
4530
+ specifiers:
4531
+ T::Array[
4532
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier::OrHash
4533
+ ],
4018
4534
  temporary_id: String
4019
4535
  ).returns(T.attached_class)
4020
4536
  end
4021
4537
  def self.new(
4022
4538
  # The amount of commit to grant.
4023
4539
  access_amount:,
4024
- # The amount of time the created commits will be valid for.
4540
+ # Defines the length of the access schedule for each created commit/credit. The
4541
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4542
+ # length of a period is determined by the recurrence_frequency.
4025
4543
  commit_duration:,
4026
4544
  # Will be passed down to the individual commits
4027
4545
  priority:,
@@ -4050,13 +4568,18 @@ module MetronomeSDK
4050
4568
  # The frequency at which the recurring commits will be created. If not provided: -
4051
4569
  # The commits will be created on the usage invoice frequency. If provided: - The
4052
4570
  # period defined in the duration will correspond to this frequency. - Commits will
4053
- # be created aligned with the recurring commit's start_date rather than the usage
4571
+ # be created aligned with the recurring commit's starting_at rather than the usage
4054
4572
  # invoice dates.
4055
4573
  recurrence_frequency: nil,
4056
4574
  # Will be passed down to the individual commits. This controls how much of an
4057
4575
  # individual unexpired commit will roll over upon contract transition. Must be
4058
4576
  # between 0 and 1.
4059
4577
  rollover_fraction: nil,
4578
+ # List of filters that determine what kind of customer usage draws down a commit
4579
+ # or credit. A customer's usage needs to meet the condition of at least one of the
4580
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
4581
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
4582
+ specifiers: nil,
4060
4583
  # A temporary ID that can be used to reference the recurring commit for commit
4061
4584
  # specific overrides.
4062
4585
  temporary_id: nil
@@ -4088,6 +4611,10 @@ module MetronomeSDK
4088
4611
  recurrence_frequency:
4089
4612
  MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency::OrSymbol,
4090
4613
  rollover_fraction: Float,
4614
+ specifiers:
4615
+ T::Array[
4616
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier
4617
+ ],
4091
4618
  temporary_id: String
4092
4619
  }
4093
4620
  )
@@ -4142,33 +4669,45 @@ module MetronomeSDK
4142
4669
  )
4143
4670
  end
4144
4671
 
4672
+ sig { returns(Float) }
4673
+ attr_accessor :value
4674
+
4145
4675
  sig do
4146
4676
  returns(
4147
- MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol
4677
+ T.nilable(
4678
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol
4679
+ )
4148
4680
  )
4149
4681
  end
4150
- attr_accessor :unit
4682
+ attr_reader :unit
4151
4683
 
4152
- sig { returns(Float) }
4153
- attr_accessor :value
4684
+ sig do
4685
+ params(
4686
+ unit:
4687
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol
4688
+ ).void
4689
+ end
4690
+ attr_writer :unit
4154
4691
 
4155
- # The amount of time the created commits will be valid for.
4692
+ # Defines the length of the access schedule for each created commit/credit. The
4693
+ # value represents the number of units. Unit defaults to "PERIODS", where the
4694
+ # length of a period is determined by the recurrence_frequency.
4156
4695
  sig do
4157
4696
  params(
4697
+ value: Float,
4158
4698
  unit:
4159
- MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol,
4160
- value: Float
4699
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol
4161
4700
  ).returns(T.attached_class)
4162
4701
  end
4163
- def self.new(unit:, value:)
4702
+ def self.new(value:, unit: nil)
4164
4703
  end
4165
4704
 
4166
4705
  sig do
4167
4706
  override.returns(
4168
4707
  {
4708
+ value: Float,
4169
4709
  unit:
4170
- MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol,
4171
- value: Float
4710
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit::OrSymbol
4172
4711
  }
4173
4712
  )
4174
4713
  end
@@ -4327,7 +4866,7 @@ module MetronomeSDK
4327
4866
  # The frequency at which the recurring commits will be created. If not provided: -
4328
4867
  # The commits will be created on the usage invoice frequency. If provided: - The
4329
4868
  # period defined in the duration will correspond to this frequency. - Commits will
4330
- # be created aligned with the recurring commit's start_date rather than the usage
4869
+ # be created aligned with the recurring commit's starting_at rather than the usage
4331
4870
  # invoice dates.
4332
4871
  module RecurrenceFrequency
4333
4872
  extend MetronomeSDK::Internal::Type::Enum
@@ -4372,6 +4911,77 @@ module MetronomeSDK
4372
4911
  def self.values
4373
4912
  end
4374
4913
  end
4914
+
4915
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
4916
+ OrHash =
4917
+ T.type_alias do
4918
+ T.any(
4919
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier,
4920
+ MetronomeSDK::Internal::AnyHash
4921
+ )
4922
+ end
4923
+
4924
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
4925
+ attr_reader :presentation_group_values
4926
+
4927
+ sig do
4928
+ params(presentation_group_values: T::Hash[Symbol, String]).void
4929
+ end
4930
+ attr_writer :presentation_group_values
4931
+
4932
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
4933
+ attr_reader :pricing_group_values
4934
+
4935
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
4936
+ attr_writer :pricing_group_values
4937
+
4938
+ # If provided, the specifier will only apply to the product with the specified ID.
4939
+ sig { returns(T.nilable(String)) }
4940
+ attr_reader :product_id
4941
+
4942
+ sig { params(product_id: String).void }
4943
+ attr_writer :product_id
4944
+
4945
+ # If provided, the specifier will only apply to products with all the specified
4946
+ # tags.
4947
+ sig { returns(T.nilable(T::Array[String])) }
4948
+ attr_reader :product_tags
4949
+
4950
+ sig { params(product_tags: T::Array[String]).void }
4951
+ attr_writer :product_tags
4952
+
4953
+ sig do
4954
+ params(
4955
+ presentation_group_values: T::Hash[Symbol, String],
4956
+ pricing_group_values: T::Hash[Symbol, String],
4957
+ product_id: String,
4958
+ product_tags: T::Array[String]
4959
+ ).returns(T.attached_class)
4960
+ end
4961
+ def self.new(
4962
+ presentation_group_values: nil,
4963
+ pricing_group_values: nil,
4964
+ # If provided, the specifier will only apply to the product with the specified ID.
4965
+ product_id: nil,
4966
+ # If provided, the specifier will only apply to products with all the specified
4967
+ # tags.
4968
+ product_tags: nil
4969
+ )
4970
+ end
4971
+
4972
+ sig do
4973
+ override.returns(
4974
+ {
4975
+ presentation_group_values: T::Hash[Symbol, String],
4976
+ pricing_group_values: T::Hash[Symbol, String],
4977
+ product_id: String,
4978
+ product_tags: T::Array[String]
4979
+ }
4980
+ )
4981
+ end
4982
+ def to_hash
4983
+ end
4984
+ end
4375
4985
  end
4376
4986
 
4377
4987
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -4399,7 +5009,9 @@ module MetronomeSDK
4399
5009
  end
4400
5010
  attr_writer :access_amount
4401
5011
 
4402
- # The amount of time the created commits will be valid for.
5012
+ # Defines the length of the access schedule for each created commit/credit. The
5013
+ # value represents the number of units. Unit defaults to "PERIODS", where the
5014
+ # length of a period is determined by the recurrence_frequency.
4403
5015
  sig do
4404
5016
  returns(
4405
5017
  MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration
@@ -4508,7 +5120,7 @@ module MetronomeSDK
4508
5120
  # The frequency at which the recurring commits will be created. If not provided: -
4509
5121
  # The commits will be created on the usage invoice frequency. If provided: - The
4510
5122
  # period defined in the duration will correspond to this frequency. - Commits will
4511
- # be created aligned with the recurring commit's start_date rather than the usage
5123
+ # be created aligned with the recurring commit's starting_at rather than the usage
4512
5124
  # invoice dates.
4513
5125
  sig do
4514
5126
  returns(
@@ -4536,6 +5148,31 @@ module MetronomeSDK
4536
5148
  sig { params(rollover_fraction: Float).void }
4537
5149
  attr_writer :rollover_fraction
4538
5150
 
5151
+ # List of filters that determine what kind of customer usage draws down a commit
5152
+ # or credit. A customer's usage needs to meet the condition of at least one of the
5153
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5154
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
5155
+ sig do
5156
+ returns(
5157
+ T.nilable(
5158
+ T::Array[
5159
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier
5160
+ ]
5161
+ )
5162
+ )
5163
+ end
5164
+ attr_reader :specifiers
5165
+
5166
+ sig do
5167
+ params(
5168
+ specifiers:
5169
+ T::Array[
5170
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier::OrHash
5171
+ ]
5172
+ ).void
5173
+ end
5174
+ attr_writer :specifiers
5175
+
4539
5176
  # A temporary ID that can be used to reference the recurring commit for commit
4540
5177
  # specific overrides.
4541
5178
  sig { returns(T.nilable(String)) }
@@ -4566,13 +5203,19 @@ module MetronomeSDK
4566
5203
  recurrence_frequency:
4567
5204
  MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency::OrSymbol,
4568
5205
  rollover_fraction: Float,
5206
+ specifiers:
5207
+ T::Array[
5208
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier::OrHash
5209
+ ],
4569
5210
  temporary_id: String
4570
5211
  ).returns(T.attached_class)
4571
5212
  end
4572
5213
  def self.new(
4573
5214
  # The amount of commit to grant.
4574
5215
  access_amount:,
4575
- # The amount of time the created commits will be valid for.
5216
+ # Defines the length of the access schedule for each created commit/credit. The
5217
+ # value represents the number of units. Unit defaults to "PERIODS", where the
5218
+ # length of a period is determined by the recurrence_frequency.
4576
5219
  commit_duration:,
4577
5220
  # Will be passed down to the individual commits
4578
5221
  priority:,
@@ -4599,13 +5242,18 @@ module MetronomeSDK
4599
5242
  # The frequency at which the recurring commits will be created. If not provided: -
4600
5243
  # The commits will be created on the usage invoice frequency. If provided: - The
4601
5244
  # period defined in the duration will correspond to this frequency. - Commits will
4602
- # be created aligned with the recurring commit's start_date rather than the usage
5245
+ # be created aligned with the recurring commit's starting_at rather than the usage
4603
5246
  # invoice dates.
4604
5247
  recurrence_frequency: nil,
4605
5248
  # Will be passed down to the individual commits. This controls how much of an
4606
5249
  # individual unexpired commit will roll over upon contract transition. Must be
4607
5250
  # between 0 and 1.
4608
5251
  rollover_fraction: nil,
5252
+ # List of filters that determine what kind of customer usage draws down a commit
5253
+ # or credit. A customer's usage needs to meet the condition of at least one of the
5254
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
5255
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
5256
+ specifiers: nil,
4609
5257
  # A temporary ID that can be used to reference the recurring commit for commit
4610
5258
  # specific overrides.
4611
5259
  temporary_id: nil
@@ -4635,6 +5283,10 @@ module MetronomeSDK
4635
5283
  recurrence_frequency:
4636
5284
  MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency::OrSymbol,
4637
5285
  rollover_fraction: Float,
5286
+ specifiers:
5287
+ T::Array[
5288
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier
5289
+ ],
4638
5290
  temporary_id: String
4639
5291
  }
4640
5292
  )
@@ -4689,33 +5341,45 @@ module MetronomeSDK
4689
5341
  )
4690
5342
  end
4691
5343
 
5344
+ sig { returns(Float) }
5345
+ attr_accessor :value
5346
+
4692
5347
  sig do
4693
5348
  returns(
4694
- MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol
5349
+ T.nilable(
5350
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol
5351
+ )
4695
5352
  )
4696
5353
  end
4697
- attr_accessor :unit
5354
+ attr_reader :unit
4698
5355
 
4699
- sig { returns(Float) }
4700
- attr_accessor :value
5356
+ sig do
5357
+ params(
5358
+ unit:
5359
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol
5360
+ ).void
5361
+ end
5362
+ attr_writer :unit
4701
5363
 
4702
- # The amount of time the created commits will be valid for.
5364
+ # Defines the length of the access schedule for each created commit/credit. The
5365
+ # value represents the number of units. Unit defaults to "PERIODS", where the
5366
+ # length of a period is determined by the recurrence_frequency.
4703
5367
  sig do
4704
5368
  params(
5369
+ value: Float,
4705
5370
  unit:
4706
- MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol,
4707
- value: Float
5371
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol
4708
5372
  ).returns(T.attached_class)
4709
5373
  end
4710
- def self.new(unit:, value:)
5374
+ def self.new(value:, unit: nil)
4711
5375
  end
4712
5376
 
4713
5377
  sig do
4714
5378
  override.returns(
4715
5379
  {
5380
+ value: Float,
4716
5381
  unit:
4717
- MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol,
4718
- value: Float
5382
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit::OrSymbol
4719
5383
  }
4720
5384
  )
4721
5385
  end
@@ -4836,7 +5500,7 @@ module MetronomeSDK
4836
5500
  # The frequency at which the recurring commits will be created. If not provided: -
4837
5501
  # The commits will be created on the usage invoice frequency. If provided: - The
4838
5502
  # period defined in the duration will correspond to this frequency. - Commits will
4839
- # be created aligned with the recurring commit's start_date rather than the usage
5503
+ # be created aligned with the recurring commit's starting_at rather than the usage
4840
5504
  # invoice dates.
4841
5505
  module RecurrenceFrequency
4842
5506
  extend MetronomeSDK::Internal::Type::Enum
@@ -4881,38 +5545,109 @@ module MetronomeSDK
4881
5545
  def self.values
4882
5546
  end
4883
5547
  end
4884
- end
4885
5548
 
4886
- class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
4887
- OrHash =
4888
- T.type_alias do
4889
- T.any(
4890
- MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty,
4891
- MetronomeSDK::Internal::AnyHash
4892
- )
4893
- end
5549
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
5550
+ OrHash =
5551
+ T.type_alias do
5552
+ T.any(
5553
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier,
5554
+ MetronomeSDK::Internal::AnyHash
5555
+ )
5556
+ end
4894
5557
 
4895
- sig { returns(Float) }
4896
- attr_accessor :fraction
5558
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
5559
+ attr_reader :presentation_group_values
4897
5560
 
4898
- sig { returns(String) }
4899
- attr_accessor :netsuite_reseller_id
5561
+ sig do
5562
+ params(presentation_group_values: T::Hash[Symbol, String]).void
5563
+ end
5564
+ attr_writer :presentation_group_values
4900
5565
 
4901
- sig do
4902
- returns(
4903
- MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::ResellerType::OrSymbol
4904
- )
4905
- end
4906
- attr_accessor :reseller_type
5566
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
5567
+ attr_reader :pricing_group_values
4907
5568
 
4908
- sig { returns(Time) }
4909
- attr_accessor :starting_at
5569
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
5570
+ attr_writer :pricing_group_values
4910
5571
 
4911
- # Must provide at least one of applicable_product_ids or applicable_product_tags.
4912
- sig { returns(T.nilable(T::Array[String])) }
4913
- attr_reader :applicable_product_ids
5572
+ # If provided, the specifier will only apply to the product with the specified ID.
5573
+ sig { returns(T.nilable(String)) }
5574
+ attr_reader :product_id
4914
5575
 
4915
- sig { params(applicable_product_ids: T::Array[String]).void }
5576
+ sig { params(product_id: String).void }
5577
+ attr_writer :product_id
5578
+
5579
+ # If provided, the specifier will only apply to products with all the specified
5580
+ # tags.
5581
+ sig { returns(T.nilable(T::Array[String])) }
5582
+ attr_reader :product_tags
5583
+
5584
+ sig { params(product_tags: T::Array[String]).void }
5585
+ attr_writer :product_tags
5586
+
5587
+ sig do
5588
+ params(
5589
+ presentation_group_values: T::Hash[Symbol, String],
5590
+ pricing_group_values: T::Hash[Symbol, String],
5591
+ product_id: String,
5592
+ product_tags: T::Array[String]
5593
+ ).returns(T.attached_class)
5594
+ end
5595
+ def self.new(
5596
+ presentation_group_values: nil,
5597
+ pricing_group_values: nil,
5598
+ # If provided, the specifier will only apply to the product with the specified ID.
5599
+ product_id: nil,
5600
+ # If provided, the specifier will only apply to products with all the specified
5601
+ # tags.
5602
+ product_tags: nil
5603
+ )
5604
+ end
5605
+
5606
+ sig do
5607
+ override.returns(
5608
+ {
5609
+ presentation_group_values: T::Hash[Symbol, String],
5610
+ pricing_group_values: T::Hash[Symbol, String],
5611
+ product_id: String,
5612
+ product_tags: T::Array[String]
5613
+ }
5614
+ )
5615
+ end
5616
+ def to_hash
5617
+ end
5618
+ end
5619
+ end
5620
+
5621
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
5622
+ OrHash =
5623
+ T.type_alias do
5624
+ T.any(
5625
+ MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty,
5626
+ MetronomeSDK::Internal::AnyHash
5627
+ )
5628
+ end
5629
+
5630
+ sig { returns(Float) }
5631
+ attr_accessor :fraction
5632
+
5633
+ sig { returns(String) }
5634
+ attr_accessor :netsuite_reseller_id
5635
+
5636
+ sig do
5637
+ returns(
5638
+ MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::ResellerType::OrSymbol
5639
+ )
5640
+ end
5641
+ attr_accessor :reseller_type
5642
+
5643
+ sig { returns(Time) }
5644
+ attr_accessor :starting_at
5645
+
5646
+ # Must provide at least one of applicable_product_ids or applicable_product_tags.
5647
+ sig { returns(T.nilable(T::Array[String])) }
5648
+ attr_reader :applicable_product_ids
5649
+
5650
+ sig { params(applicable_product_ids: T::Array[String]).void }
4916
5651
  attr_writer :applicable_product_ids
4917
5652
 
4918
5653
  # Must provide at least one of applicable_product_ids or applicable_product_tags.
@@ -6046,6 +6781,383 @@ module MetronomeSDK
6046
6781
  end
6047
6782
  end
6048
6783
 
6784
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
6785
+ OrHash =
6786
+ T.type_alias do
6787
+ T.any(
6788
+ MetronomeSDK::V1::ContractCreateParams::Subscription,
6789
+ MetronomeSDK::Internal::AnyHash
6790
+ )
6791
+ end
6792
+
6793
+ sig do
6794
+ returns(
6795
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule::OrSymbol
6796
+ )
6797
+ end
6798
+ attr_accessor :collection_schedule
6799
+
6800
+ # The initial quantity for the subscription. It must be non-negative value.
6801
+ sig { returns(Float) }
6802
+ attr_accessor :initial_quantity
6803
+
6804
+ sig do
6805
+ returns(
6806
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration
6807
+ )
6808
+ end
6809
+ attr_reader :proration
6810
+
6811
+ sig do
6812
+ params(
6813
+ proration:
6814
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::OrHash
6815
+ ).void
6816
+ end
6817
+ attr_writer :proration
6818
+
6819
+ sig do
6820
+ returns(
6821
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate
6822
+ )
6823
+ end
6824
+ attr_reader :subscription_rate
6825
+
6826
+ sig do
6827
+ params(
6828
+ subscription_rate:
6829
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::OrHash
6830
+ ).void
6831
+ end
6832
+ attr_writer :subscription_rate
6833
+
6834
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
6835
+ attr_reader :custom_fields
6836
+
6837
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
6838
+ attr_writer :custom_fields
6839
+
6840
+ sig { returns(T.nilable(String)) }
6841
+ attr_reader :description
6842
+
6843
+ sig { params(description: String).void }
6844
+ attr_writer :description
6845
+
6846
+ # Exclusive end time for the subscription. If not provided, subscription inherits
6847
+ # contract end date.
6848
+ sig { returns(T.nilable(Time)) }
6849
+ attr_reader :ending_before
6850
+
6851
+ sig { params(ending_before: Time).void }
6852
+ attr_writer :ending_before
6853
+
6854
+ sig { returns(T.nilable(String)) }
6855
+ attr_reader :name
6856
+
6857
+ sig { params(name: String).void }
6858
+ attr_writer :name
6859
+
6860
+ # Inclusive start time for the subscription. If not provided, defaults to contract
6861
+ # start date
6862
+ sig { returns(T.nilable(Time)) }
6863
+ attr_reader :starting_at
6864
+
6865
+ sig { params(starting_at: Time).void }
6866
+ attr_writer :starting_at
6867
+
6868
+ sig do
6869
+ params(
6870
+ collection_schedule:
6871
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule::OrSymbol,
6872
+ initial_quantity: Float,
6873
+ proration:
6874
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::OrHash,
6875
+ subscription_rate:
6876
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::OrHash,
6877
+ custom_fields: T::Hash[Symbol, String],
6878
+ description: String,
6879
+ ending_before: Time,
6880
+ name: String,
6881
+ starting_at: Time
6882
+ ).returns(T.attached_class)
6883
+ end
6884
+ def self.new(
6885
+ collection_schedule:,
6886
+ # The initial quantity for the subscription. It must be non-negative value.
6887
+ initial_quantity:,
6888
+ proration:,
6889
+ subscription_rate:,
6890
+ custom_fields: nil,
6891
+ description: nil,
6892
+ # Exclusive end time for the subscription. If not provided, subscription inherits
6893
+ # contract end date.
6894
+ ending_before: nil,
6895
+ name: nil,
6896
+ # Inclusive start time for the subscription. If not provided, defaults to contract
6897
+ # start date
6898
+ starting_at: nil
6899
+ )
6900
+ end
6901
+
6902
+ sig do
6903
+ override.returns(
6904
+ {
6905
+ collection_schedule:
6906
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule::OrSymbol,
6907
+ initial_quantity: Float,
6908
+ proration:
6909
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
6910
+ subscription_rate:
6911
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
6912
+ custom_fields: T::Hash[Symbol, String],
6913
+ description: String,
6914
+ ending_before: Time,
6915
+ name: String,
6916
+ starting_at: Time
6917
+ }
6918
+ )
6919
+ end
6920
+ def to_hash
6921
+ end
6922
+
6923
+ module CollectionSchedule
6924
+ extend MetronomeSDK::Internal::Type::Enum
6925
+
6926
+ TaggedSymbol =
6927
+ T.type_alias do
6928
+ T.all(
6929
+ Symbol,
6930
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule
6931
+ )
6932
+ end
6933
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6934
+
6935
+ ADVANCE =
6936
+ T.let(
6937
+ :ADVANCE,
6938
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule::TaggedSymbol
6939
+ )
6940
+ ARREARS =
6941
+ T.let(
6942
+ :ARREARS,
6943
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule::TaggedSymbol
6944
+ )
6945
+
6946
+ sig do
6947
+ override.returns(
6948
+ T::Array[
6949
+ MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule::TaggedSymbol
6950
+ ]
6951
+ )
6952
+ end
6953
+ def self.values
6954
+ end
6955
+ end
6956
+
6957
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
6958
+ OrHash =
6959
+ T.type_alias do
6960
+ T.any(
6961
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration,
6962
+ MetronomeSDK::Internal::AnyHash
6963
+ )
6964
+ end
6965
+
6966
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
6967
+ # is selected, the quantity increase will be billed on the scheduled date. If
6968
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
6969
+ # for in-arrears at the end of the period.
6970
+ sig do
6971
+ returns(
6972
+ T.nilable(
6973
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::OrSymbol
6974
+ )
6975
+ )
6976
+ end
6977
+ attr_reader :invoice_behavior
6978
+
6979
+ sig do
6980
+ params(
6981
+ invoice_behavior:
6982
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::OrSymbol
6983
+ ).void
6984
+ end
6985
+ attr_writer :invoice_behavior
6986
+
6987
+ # Indicates if the partial period will be prorated or charged a full amount.
6988
+ sig { returns(T.nilable(T::Boolean)) }
6989
+ attr_reader :is_prorated
6990
+
6991
+ sig { params(is_prorated: T::Boolean).void }
6992
+ attr_writer :is_prorated
6993
+
6994
+ sig do
6995
+ params(
6996
+ invoice_behavior:
6997
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::OrSymbol,
6998
+ is_prorated: T::Boolean
6999
+ ).returns(T.attached_class)
7000
+ end
7001
+ def self.new(
7002
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
7003
+ # is selected, the quantity increase will be billed on the scheduled date. If
7004
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
7005
+ # for in-arrears at the end of the period.
7006
+ invoice_behavior: nil,
7007
+ # Indicates if the partial period will be prorated or charged a full amount.
7008
+ is_prorated: nil
7009
+ )
7010
+ end
7011
+
7012
+ sig do
7013
+ override.returns(
7014
+ {
7015
+ invoice_behavior:
7016
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::OrSymbol,
7017
+ is_prorated: T::Boolean
7018
+ }
7019
+ )
7020
+ end
7021
+ def to_hash
7022
+ end
7023
+
7024
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
7025
+ # is selected, the quantity increase will be billed on the scheduled date. If
7026
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
7027
+ # for in-arrears at the end of the period.
7028
+ module InvoiceBehavior
7029
+ extend MetronomeSDK::Internal::Type::Enum
7030
+
7031
+ TaggedSymbol =
7032
+ T.type_alias do
7033
+ T.all(
7034
+ Symbol,
7035
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior
7036
+ )
7037
+ end
7038
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7039
+
7040
+ BILL_IMMEDIATELY =
7041
+ T.let(
7042
+ :BILL_IMMEDIATELY,
7043
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::TaggedSymbol
7044
+ )
7045
+ BILL_ON_NEXT_COLLECTION_DATE =
7046
+ T.let(
7047
+ :BILL_ON_NEXT_COLLECTION_DATE,
7048
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::TaggedSymbol
7049
+ )
7050
+
7051
+ sig do
7052
+ override.returns(
7053
+ T::Array[
7054
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior::TaggedSymbol
7055
+ ]
7056
+ )
7057
+ end
7058
+ def self.values
7059
+ end
7060
+ end
7061
+ end
7062
+
7063
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
7064
+ OrHash =
7065
+ T.type_alias do
7066
+ T.any(
7067
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate,
7068
+ MetronomeSDK::Internal::AnyHash
7069
+ )
7070
+ end
7071
+
7072
+ # Frequency to bill subscription with. Together with product_id, must match
7073
+ # existing rate on the rate card.
7074
+ sig do
7075
+ returns(
7076
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::OrSymbol
7077
+ )
7078
+ end
7079
+ attr_accessor :billing_frequency
7080
+
7081
+ # Must be subscription type product
7082
+ sig { returns(String) }
7083
+ attr_accessor :product_id
7084
+
7085
+ sig do
7086
+ params(
7087
+ billing_frequency:
7088
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
7089
+ product_id: String
7090
+ ).returns(T.attached_class)
7091
+ end
7092
+ def self.new(
7093
+ # Frequency to bill subscription with. Together with product_id, must match
7094
+ # existing rate on the rate card.
7095
+ billing_frequency:,
7096
+ # Must be subscription type product
7097
+ product_id:
7098
+ )
7099
+ end
7100
+
7101
+ sig do
7102
+ override.returns(
7103
+ {
7104
+ billing_frequency:
7105
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
7106
+ product_id: String
7107
+ }
7108
+ )
7109
+ end
7110
+ def to_hash
7111
+ end
7112
+
7113
+ # Frequency to bill subscription with. Together with product_id, must match
7114
+ # existing rate on the rate card.
7115
+ module BillingFrequency
7116
+ extend MetronomeSDK::Internal::Type::Enum
7117
+
7118
+ TaggedSymbol =
7119
+ T.type_alias do
7120
+ T.all(
7121
+ Symbol,
7122
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency
7123
+ )
7124
+ end
7125
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7126
+
7127
+ MONTHLY =
7128
+ T.let(
7129
+ :MONTHLY,
7130
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7131
+ )
7132
+ QUARTERLY =
7133
+ T.let(
7134
+ :QUARTERLY,
7135
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7136
+ )
7137
+ ANNUAL =
7138
+ T.let(
7139
+ :ANNUAL,
7140
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7141
+ )
7142
+ WEEKLY =
7143
+ T.let(
7144
+ :WEEKLY,
7145
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7146
+ )
7147
+
7148
+ sig do
7149
+ override.returns(
7150
+ T::Array[
7151
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
7152
+ ]
7153
+ )
7154
+ end
7155
+ def self.values
7156
+ end
7157
+ end
7158
+ end
7159
+ end
7160
+
6049
7161
  class Transition < MetronomeSDK::Internal::Type::BaseModel
6050
7162
  OrHash =
6051
7163
  T.type_alias do
@@ -6235,6 +7347,50 @@ module MetronomeSDK
6235
7347
  end
6236
7348
  end
6237
7349
 
7350
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
7351
+ OrHash =
7352
+ T.type_alias do
7353
+ T.any(
7354
+ MetronomeSDK::V1::ContractCreateParams::UsageFilter,
7355
+ MetronomeSDK::Internal::AnyHash
7356
+ )
7357
+ end
7358
+
7359
+ sig { returns(String) }
7360
+ attr_accessor :group_key
7361
+
7362
+ sig { returns(T::Array[String]) }
7363
+ attr_accessor :group_values
7364
+
7365
+ sig { returns(T.nilable(Time)) }
7366
+ attr_reader :starting_at
7367
+
7368
+ sig { params(starting_at: Time).void }
7369
+ attr_writer :starting_at
7370
+
7371
+ sig do
7372
+ params(
7373
+ group_key: String,
7374
+ group_values: T::Array[String],
7375
+ starting_at: Time
7376
+ ).returns(T.attached_class)
7377
+ end
7378
+ def self.new(group_key:, group_values:, starting_at: nil)
7379
+ end
7380
+
7381
+ sig do
7382
+ override.returns(
7383
+ {
7384
+ group_key: String,
7385
+ group_values: T::Array[String],
7386
+ starting_at: Time
7387
+ }
7388
+ )
7389
+ end
7390
+ def to_hash
7391
+ end
7392
+ end
7393
+
6238
7394
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
6239
7395
  OrHash =
6240
7396
  T.type_alias do