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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +85 -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/errors.rb +22 -0
  7. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  8. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  9. data/lib/metronome_sdk/internal/type/array_of.rb +14 -1
  10. data/lib/metronome_sdk/internal/type/base_model.rb +92 -23
  11. data/lib/metronome_sdk/internal/type/boolean.rb +15 -1
  12. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -2
  14. data/lib/metronome_sdk/internal/type/file_input.rb +13 -1
  15. data/lib/metronome_sdk/internal/type/hash_of.rb +14 -1
  16. data/lib/metronome_sdk/internal/type/union.rb +27 -7
  17. data/lib/metronome_sdk/internal/type/unknown.rb +15 -1
  18. data/lib/metronome_sdk/internal/util.rb +62 -10
  19. data/lib/metronome_sdk/internal.rb +3 -0
  20. data/lib/metronome_sdk/models/commit.rb +230 -87
  21. data/lib/metronome_sdk/models/contract_without_amendments.rb +551 -185
  22. data/lib/metronome_sdk/models/credit.rb +201 -51
  23. data/lib/metronome_sdk/models/discount.rb +5 -5
  24. data/lib/metronome_sdk/models/event_type_filter.rb +1 -1
  25. data/lib/metronome_sdk/models/override.rb +53 -34
  26. data/lib/metronome_sdk/models/pro_service.rb +2 -2
  27. data/lib/metronome_sdk/models/property_filter.rb +1 -1
  28. data/lib/metronome_sdk/models/rate.rb +9 -9
  29. data/lib/metronome_sdk/models/schedule_duration.rb +4 -4
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +11 -11
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +5 -5
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +2 -2
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +15 -12
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +2 -2
  35. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +2 -2
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +2 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +4 -4
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -4
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +577 -152
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +2 -2
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +2 -2
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +2 -2
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +1317 -341
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +2 -2
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +3 -7
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +421 -36
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +28 -7
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +422 -36
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  55. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +2 -2
  57. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +2 -2
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +2 -2
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -6
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +2 -2
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +5 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  63. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -8
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -8
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +4 -4
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +2 -2
  67. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +3 -3
  68. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +3 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +2 -2
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +2 -2
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +4 -4
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +26 -5
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +4 -4
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +2 -2
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +2 -2
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +46 -18
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +36 -12
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +6 -6
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +26 -5
  87. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +12 -20
  88. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +2 -2
  90. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  91. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +6 -6
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +8 -8
  93. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +2 -2
  94. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +1 -1
  95. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  96. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  97. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  100. data/lib/metronome_sdk/models/v1/customer.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +2 -2
  102. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  103. data/lib/metronome_sdk/models/v1/customer_create_response.rb +2 -2
  104. data/lib/metronome_sdk/models/v1/customer_detail.rb +10 -10
  105. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +4 -4
  106. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  107. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  108. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +2 -2
  109. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  111. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +2 -2
  112. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  113. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +2 -2
  114. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  115. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  116. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  117. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  118. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +86 -32
  119. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +2 -2
  120. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +2 -2
  122. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  123. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +2 -2
  124. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +2 -2
  125. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +2 -2
  126. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +24 -24
  127. data/lib/metronome_sdk/models/v1/customers/invoice.rb +74 -73
  128. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  129. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  130. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +2 -2
  131. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  132. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +2 -2
  133. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -2
  134. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +14 -13
  135. data/lib/metronome_sdk/models/v1/plan_detail.rb +18 -18
  136. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +2 -2
  137. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -2
  138. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  139. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -2
  140. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +3 -3
  141. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +3 -3
  142. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  143. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  144. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  145. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  146. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  147. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +78 -23
  148. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +2 -2
  149. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +62 -9
  150. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +2 -2
  151. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1995 -443
  152. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +2 -2
  153. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1959 -140
  154. data/lib/metronome_sdk/models/v2/contract_list_response.rb +963 -91
  155. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +964 -91
  156. data/lib/metronome_sdk/models.rb +30 -19
  157. data/lib/metronome_sdk/resources/v1/alerts.rb +4 -4
  158. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  159. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  160. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  161. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  162. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  163. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  164. data/lib/metronome_sdk/resources/v1/contracts.rb +59 -28
  165. data/lib/metronome_sdk/resources/v1/credit_grants.rb +7 -5
  166. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  167. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  168. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  169. data/lib/metronome_sdk/resources/v1/customers/commits.rb +9 -7
  170. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  171. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +4 -4
  172. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  173. data/lib/metronome_sdk/resources/v1/customers.rb +43 -4
  174. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  175. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  176. data/lib/metronome_sdk/resources/v1/usage.rb +30 -5
  177. data/lib/metronome_sdk/resources/v2/contracts.rb +45 -31
  178. data/lib/metronome_sdk/version.rb +1 -1
  179. data/lib/metronome_sdk.rb +9 -1
  180. data/rbi/metronome_sdk/errors.rbi +16 -0
  181. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  182. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  183. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  184. data/rbi/metronome_sdk/internal/type/boolean.rbi +8 -0
  185. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  186. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  187. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  188. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  189. data/rbi/metronome_sdk/internal/type/union.rbi +10 -0
  190. data/rbi/metronome_sdk/internal/type/unknown.rbi +8 -0
  191. data/rbi/metronome_sdk/internal/util.rbi +36 -0
  192. data/rbi/metronome_sdk/internal.rbi +5 -0
  193. data/rbi/metronome_sdk/models/commit.rbi +376 -39
  194. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +791 -54
  195. data/rbi/metronome_sdk/models/credit.rbi +376 -25
  196. data/rbi/metronome_sdk/models/override.rbi +66 -0
  197. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +9 -9
  198. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +10 -4
  199. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +995 -17
  200. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +2220 -136
  201. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +9 -2
  202. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +820 -28
  203. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  204. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +66 -0
  205. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +820 -28
  206. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  207. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  208. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +66 -0
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +72 -0
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +72 -0
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +66 -0
  215. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  216. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  217. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  218. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  219. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +121 -8
  220. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  221. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  222. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  223. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  224. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +113 -8
  225. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +101 -0
  226. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3667 -315
  227. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +5965 -2014
  228. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2279 -226
  229. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2279 -226
  230. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -2
  231. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -1
  232. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  233. data/rbi/metronome_sdk/resources/v1/contracts.rbi +36 -1
  234. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  235. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +15 -4
  236. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  237. data/rbi/metronome_sdk/resources/v1/customers.rbi +35 -1
  238. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  239. data/rbi/metronome_sdk/resources/v2/contracts.rbi +65 -7
  240. data/sig/metronome_sdk/errors.rbs +9 -0
  241. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  242. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  243. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  244. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  245. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  246. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  247. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  248. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  249. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  250. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  251. data/sig/metronome_sdk/internal/util.rbs +12 -0
  252. data/sig/metronome_sdk/internal.rbs +2 -0
  253. data/sig/metronome_sdk/models/base_usage_filter.rbs +6 -0
  254. data/sig/metronome_sdk/models/commit.rbs +374 -68
  255. data/sig/metronome_sdk/models/contract_without_amendments.rbs +620 -110
  256. data/sig/metronome_sdk/models/credit.rbs +286 -40
  257. data/sig/metronome_sdk/models/credit_type_data.rbs +2 -0
  258. data/sig/metronome_sdk/models/discount.rbs +11 -0
  259. data/sig/metronome_sdk/models/event_type_filter.rbs +5 -0
  260. data/sig/metronome_sdk/models/id.rbs +2 -0
  261. data/sig/metronome_sdk/models/override.rbs +92 -22
  262. data/sig/metronome_sdk/models/pro_service.rbs +11 -0
  263. data/sig/metronome_sdk/models/property_filter.rbs +7 -0
  264. data/sig/metronome_sdk/models/rate.rbs +16 -4
  265. data/sig/metronome_sdk/models/schedule_duration.rbs +12 -0
  266. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +20 -6
  267. data/sig/metronome_sdk/models/scheduled_charge.rbs +12 -0
  268. data/sig/metronome_sdk/models/tier.rbs +2 -0
  269. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  270. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +2 -0
  271. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  272. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +2 -0
  273. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  274. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  275. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +2 -0
  276. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +2 -0
  277. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -0
  278. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  280. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +13 -0
  281. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  282. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +17 -0
  283. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +719 -75
  285. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +2 -0
  286. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  287. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +2 -0
  288. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  289. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +2 -0
  290. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1503 -250
  291. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +2 -0
  292. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  293. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +5 -0
  294. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  295. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +459 -10
  296. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  297. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  298. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +48 -0
  299. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +459 -10
  300. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  301. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  302. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  303. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +2 -0
  304. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  305. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  306. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +2 -0
  307. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  308. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  309. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  310. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  311. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +2 -0
  312. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +18 -0
  313. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +2 -0
  314. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +19 -0
  315. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  316. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +29 -0
  317. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +2 -0
  318. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +33 -0
  319. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +19 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +2 -0
  321. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +10 -4
  322. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +9 -4
  323. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +2 -0
  324. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +2 -0
  325. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  326. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +2 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +23 -0
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +2 -0
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +46 -0
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +27 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +2 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +2 -0
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +2 -0
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +59 -8
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +2 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +51 -4
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +23 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +41 -0
  348. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +32 -4
  349. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +2 -0
  350. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  351. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +2 -0
  352. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +29 -0
  353. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +30 -0
  354. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +38 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  357. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +2 -0
  358. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +10 -0
  359. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  360. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  361. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  362. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  363. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  364. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  365. data/sig/metronome_sdk/models/v1/customer.rbs +8 -0
  366. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +2 -0
  367. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +2 -0
  368. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  369. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +2 -0
  370. data/sig/metronome_sdk/models/v1/customer_detail.rbs +23 -4
  371. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  372. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +17 -0
  373. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  374. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  375. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  376. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  377. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  378. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  379. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +2 -0
  380. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  381. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  382. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +2 -0
  383. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  384. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  385. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +5 -0
  386. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  388. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +2 -0
  389. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  390. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  391. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +23 -0
  393. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  394. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +2 -0
  395. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +5 -0
  397. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  398. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +2 -0
  399. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  400. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +2 -0
  401. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  402. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +5 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  404. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +2 -0
  405. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +45 -16
  406. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +195 -40
  407. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +5 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  412. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +2 -0
  414. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  417. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  418. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +2 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  420. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  421. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +23 -0
  425. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +30 -7
  426. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  427. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  428. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/plan_detail.rbs +38 -0
  432. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +2 -0
  434. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +28 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +14 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  439. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  440. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  442. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +12 -4
  443. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +9 -4
  444. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  445. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  446. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  450. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  451. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  452. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  453. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +106 -1
  454. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +2 -0
  455. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +81 -1
  456. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +2 -0
  457. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2233 -303
  458. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +2 -0
  459. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  460. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2475 -453
  461. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  462. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1400 -43
  463. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  464. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1400 -43
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +10 -0
  467. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  468. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  470. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +8 -0
  473. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  474. data/sig/metronome_sdk/resources/v2/contracts.rbs +8 -1
  475. metadata +20 -2
@@ -317,16 +317,18 @@ module MetronomeSDK
317
317
  sig { params(amount: Float).void }
318
318
  attr_writer :amount
319
319
 
320
- # Which products the commit applies to. If both applicable_product_ids and
321
- # applicable_product_tags are not provided, the commit applies to all products.
320
+ # Which products the commit applies to. If applicable_product_ids,
321
+ # applicable_product_tags or specifiers are not provided, the commit applies to
322
+ # all products.
322
323
  sig { returns(T.nilable(T::Array[String])) }
323
324
  attr_reader :applicable_product_ids
324
325
 
325
326
  sig { params(applicable_product_ids: T::Array[String]).void }
326
327
  attr_writer :applicable_product_ids
327
328
 
328
- # Which tags the commit applies to. If both applicable_product_ids and
329
- # applicable_product_tags are not provided, the commit applies to all products.
329
+ # Which tags the commit applies to. If applicable_product_ids,
330
+ # applicable_product_tags or specifiers are not provided, the commit applies to
331
+ # all products.
330
332
  sig { returns(T.nilable(T::Array[String])) }
331
333
  attr_reader :applicable_product_tags
332
334
 
@@ -346,6 +348,24 @@ module MetronomeSDK
346
348
  sig { params(description: String).void }
347
349
  attr_writer :description
348
350
 
351
+ # Optional configuration for commit hierarchy access control
352
+ sig do
353
+ returns(
354
+ T.nilable(
355
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration
356
+ )
357
+ )
358
+ end
359
+ attr_reader :hierarchy_configuration
360
+
361
+ sig do
362
+ params(
363
+ hierarchy_configuration:
364
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash
365
+ ).void
366
+ end
367
+ attr_writer :hierarchy_configuration
368
+
349
369
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
350
370
  # time and only one schedule item is allowed; the total must match access_schedule
351
371
  # amount. Optional for "PREPAID" commits: if not provided, this will be a
@@ -431,6 +451,31 @@ module MetronomeSDK
431
451
  sig { params(rollover_fraction: Float).void }
432
452
  attr_writer :rollover_fraction
433
453
 
454
+ # List of filters that determine what kind of customer usage draws down a commit
455
+ # or credit. A customer's usage needs to meet the condition of at least one of the
456
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
457
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
458
+ sig do
459
+ returns(
460
+ T.nilable(
461
+ T::Array[
462
+ MetronomeSDK::V1::ContractAmendParams::Commit::Specifier
463
+ ]
464
+ )
465
+ )
466
+ end
467
+ attr_reader :specifiers
468
+
469
+ sig do
470
+ params(
471
+ specifiers:
472
+ T::Array[
473
+ MetronomeSDK::V1::ContractAmendParams::Commit::Specifier::OrHash
474
+ ]
475
+ ).void
476
+ end
477
+ attr_writer :specifiers
478
+
434
479
  # A temporary ID for the commit that can be used to reference the commit for
435
480
  # commit specific overrides.
436
481
  sig { returns(T.nilable(String)) }
@@ -451,6 +496,8 @@ module MetronomeSDK
451
496
  applicable_product_tags: T::Array[String],
452
497
  custom_fields: T::Hash[Symbol, String],
453
498
  description: String,
499
+ hierarchy_configuration:
500
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash,
454
501
  invoice_schedule:
455
502
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::OrHash,
456
503
  name: String,
@@ -461,6 +508,10 @@ module MetronomeSDK
461
508
  rate_type:
462
509
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
463
510
  rollover_fraction: Float,
511
+ specifiers:
512
+ T::Array[
513
+ MetronomeSDK::V1::ContractAmendParams::Commit::Specifier::OrHash
514
+ ],
464
515
  temporary_id: String
465
516
  ).returns(T.attached_class)
466
517
  end
@@ -473,15 +524,19 @@ module MetronomeSDK
473
524
  access_schedule: nil,
474
525
  # (DEPRECATED) Use access_schedule and invoice_schedule instead.
475
526
  amount: nil,
476
- # Which products the commit applies to. If both applicable_product_ids and
477
- # applicable_product_tags are not provided, the commit applies to all products.
527
+ # Which products the commit applies to. If applicable_product_ids,
528
+ # applicable_product_tags or specifiers are not provided, the commit applies to
529
+ # all products.
478
530
  applicable_product_ids: nil,
479
- # Which tags the commit applies to. If both applicable_product_ids and
480
- # applicable_product_tags are not provided, the commit applies to all products.
531
+ # Which tags the commit applies to. If applicable_product_ids,
532
+ # applicable_product_tags or specifiers are not provided, the commit applies to
533
+ # all products.
481
534
  applicable_product_tags: nil,
482
535
  custom_fields: nil,
483
536
  # Used only in UI/API. It is not exposed to end customers.
484
537
  description: nil,
538
+ # Optional configuration for commit hierarchy access control
539
+ hierarchy_configuration: nil,
485
540
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
486
541
  # time and only one schedule item is allowed; the total must match access_schedule
487
542
  # amount. Optional for "PREPAID" commits: if not provided, this will be a
@@ -499,6 +554,11 @@ module MetronomeSDK
499
554
  rate_type: nil,
500
555
  # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
501
556
  rollover_fraction: nil,
557
+ # List of filters that determine what kind of customer usage draws down a commit
558
+ # or credit. A customer's usage needs to meet the condition of at least one of the
559
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
560
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
561
+ specifiers: nil,
502
562
  # A temporary ID for the commit that can be used to reference the commit for
503
563
  # commit specific overrides.
504
564
  temporary_id: nil
@@ -518,6 +578,8 @@ module MetronomeSDK
518
578
  applicable_product_tags: T::Array[String],
519
579
  custom_fields: T::Hash[Symbol, String],
520
580
  description: String,
581
+ hierarchy_configuration:
582
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
521
583
  invoice_schedule:
522
584
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
523
585
  name: String,
@@ -528,6 +590,10 @@ module MetronomeSDK
528
590
  rate_type:
529
591
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
530
592
  rollover_fraction: Float,
593
+ specifiers:
594
+ T::Array[
595
+ MetronomeSDK::V1::ContractAmendParams::Commit::Specifier
596
+ ],
531
597
  temporary_id: String
532
598
  }
533
599
  )
@@ -673,6 +739,282 @@ module MetronomeSDK
673
739
  end
674
740
  end
675
741
 
742
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
743
+ OrHash =
744
+ T.type_alias do
745
+ T.any(
746
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
747
+ MetronomeSDK::Internal::AnyHash
748
+ )
749
+ end
750
+
751
+ sig do
752
+ returns(
753
+ T.any(
754
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
755
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
756
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
757
+ )
758
+ )
759
+ end
760
+ attr_accessor :child_access
761
+
762
+ # Optional configuration for commit hierarchy access control
763
+ sig do
764
+ params(
765
+ child_access:
766
+ T.any(
767
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
768
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
769
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
770
+ )
771
+ ).returns(T.attached_class)
772
+ end
773
+ def self.new(child_access:)
774
+ end
775
+
776
+ sig do
777
+ override.returns(
778
+ {
779
+ child_access:
780
+ T.any(
781
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
782
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
783
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
784
+ )
785
+ }
786
+ )
787
+ end
788
+ def to_hash
789
+ end
790
+
791
+ module ChildAccess
792
+ extend MetronomeSDK::Internal::Type::Union
793
+
794
+ Variants =
795
+ T.type_alias do
796
+ T.any(
797
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
798
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
799
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
800
+ )
801
+ end
802
+
803
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
804
+ OrHash =
805
+ T.type_alias do
806
+ T.any(
807
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
808
+ MetronomeSDK::Internal::AnyHash
809
+ )
810
+ end
811
+
812
+ sig do
813
+ returns(
814
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
815
+ )
816
+ end
817
+ attr_accessor :type
818
+
819
+ sig do
820
+ params(
821
+ type:
822
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
823
+ ).returns(T.attached_class)
824
+ end
825
+ def self.new(type:)
826
+ end
827
+
828
+ sig do
829
+ override.returns(
830
+ {
831
+ type:
832
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
833
+ }
834
+ )
835
+ end
836
+ def to_hash
837
+ end
838
+
839
+ module Type
840
+ extend MetronomeSDK::Internal::Type::Enum
841
+
842
+ TaggedSymbol =
843
+ T.type_alias do
844
+ T.all(
845
+ Symbol,
846
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
847
+ )
848
+ end
849
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
850
+
851
+ ALL =
852
+ T.let(
853
+ :ALL,
854
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
855
+ )
856
+
857
+ sig do
858
+ override.returns(
859
+ T::Array[
860
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
861
+ ]
862
+ )
863
+ end
864
+ def self.values
865
+ end
866
+ end
867
+ end
868
+
869
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
870
+ OrHash =
871
+ T.type_alias do
872
+ T.any(
873
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
874
+ MetronomeSDK::Internal::AnyHash
875
+ )
876
+ end
877
+
878
+ sig do
879
+ returns(
880
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
881
+ )
882
+ end
883
+ attr_accessor :type
884
+
885
+ sig do
886
+ params(
887
+ type:
888
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
889
+ ).returns(T.attached_class)
890
+ end
891
+ def self.new(type:)
892
+ end
893
+
894
+ sig do
895
+ override.returns(
896
+ {
897
+ type:
898
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
899
+ }
900
+ )
901
+ end
902
+ def to_hash
903
+ end
904
+
905
+ module Type
906
+ extend MetronomeSDK::Internal::Type::Enum
907
+
908
+ TaggedSymbol =
909
+ T.type_alias do
910
+ T.all(
911
+ Symbol,
912
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
913
+ )
914
+ end
915
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
916
+
917
+ NONE =
918
+ T.let(
919
+ :NONE,
920
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
921
+ )
922
+
923
+ sig do
924
+ override.returns(
925
+ T::Array[
926
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
927
+ ]
928
+ )
929
+ end
930
+ def self.values
931
+ end
932
+ end
933
+ end
934
+
935
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
936
+ OrHash =
937
+ T.type_alias do
938
+ T.any(
939
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
940
+ MetronomeSDK::Internal::AnyHash
941
+ )
942
+ end
943
+
944
+ sig { returns(T::Array[String]) }
945
+ attr_accessor :contract_ids
946
+
947
+ sig do
948
+ returns(
949
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
950
+ )
951
+ end
952
+ attr_accessor :type
953
+
954
+ sig do
955
+ params(
956
+ contract_ids: T::Array[String],
957
+ type:
958
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
959
+ ).returns(T.attached_class)
960
+ end
961
+ def self.new(contract_ids:, type:)
962
+ end
963
+
964
+ sig do
965
+ override.returns(
966
+ {
967
+ contract_ids: T::Array[String],
968
+ type:
969
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
970
+ }
971
+ )
972
+ end
973
+ def to_hash
974
+ end
975
+
976
+ module Type
977
+ extend MetronomeSDK::Internal::Type::Enum
978
+
979
+ TaggedSymbol =
980
+ T.type_alias do
981
+ T.all(
982
+ Symbol,
983
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
984
+ )
985
+ end
986
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
987
+
988
+ CONTRACT_IDS =
989
+ T.let(
990
+ :CONTRACT_IDS,
991
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
992
+ )
993
+
994
+ sig do
995
+ override.returns(
996
+ T::Array[
997
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
998
+ ]
999
+ )
1000
+ end
1001
+ def self.values
1002
+ end
1003
+ end
1004
+ end
1005
+
1006
+ sig do
1007
+ override.returns(
1008
+ T::Array[
1009
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::Variants
1010
+ ]
1011
+ )
1012
+ end
1013
+ def self.variants
1014
+ end
1015
+ end
1016
+ end
1017
+
676
1018
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
677
1019
  OrHash =
678
1020
  T.type_alias do
@@ -1073,7 +1415,25 @@ module MetronomeSDK
1073
1415
  end
1074
1416
  attr_accessor :payment_gate_type
1075
1417
 
1076
- # Only applicable if using Stripe as your payment gateway through Metronome.
1418
+ # Only applicable if using PRECALCULATED as your tax type.
1419
+ sig do
1420
+ returns(
1421
+ T.nilable(
1422
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
1423
+ )
1424
+ )
1425
+ end
1426
+ attr_reader :precalculated_tax_config
1427
+
1428
+ sig do
1429
+ params(
1430
+ precalculated_tax_config:
1431
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1432
+ ).void
1433
+ end
1434
+ attr_writer :precalculated_tax_config
1435
+
1436
+ # Only applicable if using STRIPE as your payment gate type.
1077
1437
  sig do
1078
1438
  returns(
1079
1439
  T.nilable(
@@ -1116,6 +1476,8 @@ module MetronomeSDK
1116
1476
  params(
1117
1477
  payment_gate_type:
1118
1478
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol,
1479
+ precalculated_tax_config:
1480
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1119
1481
  stripe_config:
1120
1482
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::OrHash,
1121
1483
  tax_type:
@@ -1128,7 +1490,9 @@ module MetronomeSDK
1128
1490
  # facilitate payment using your own payment integration. Select NONE if you do not
1129
1491
  # wish to payment gate the commit balance.
1130
1492
  payment_gate_type:,
1131
- # Only applicable if using Stripe as your payment gateway through Metronome.
1493
+ # Only applicable if using PRECALCULATED as your tax type.
1494
+ precalculated_tax_config: nil,
1495
+ # Only applicable if using STRIPE as your payment gate type.
1132
1496
  stripe_config: nil,
1133
1497
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1134
1498
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -1142,6 +1506,8 @@ module MetronomeSDK
1142
1506
  {
1143
1507
  payment_gate_type:
1144
1508
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol,
1509
+ precalculated_tax_config:
1510
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
1145
1511
  stripe_config:
1146
1512
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
1147
1513
  tax_type:
@@ -1195,6 +1561,49 @@ module MetronomeSDK
1195
1561
  end
1196
1562
  end
1197
1563
 
1564
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1565
+ OrHash =
1566
+ T.type_alias do
1567
+ T.any(
1568
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
1569
+ MetronomeSDK::Internal::AnyHash
1570
+ )
1571
+ end
1572
+
1573
+ # Amount of tax to be applied. This should be in the same currency and
1574
+ # denomination as the commit's invoice schedule
1575
+ sig { returns(Float) }
1576
+ attr_accessor :tax_amount
1577
+
1578
+ # Name of the tax to be applied. This may be used in an invoice line item
1579
+ # description.
1580
+ sig { returns(T.nilable(String)) }
1581
+ attr_reader :tax_name
1582
+
1583
+ sig { params(tax_name: String).void }
1584
+ attr_writer :tax_name
1585
+
1586
+ # Only applicable if using PRECALCULATED as your tax type.
1587
+ sig do
1588
+ params(tax_amount: Float, tax_name: String).returns(
1589
+ T.attached_class
1590
+ )
1591
+ end
1592
+ def self.new(
1593
+ # Amount of tax to be applied. This should be in the same currency and
1594
+ # denomination as the commit's invoice schedule
1595
+ tax_amount:,
1596
+ # Name of the tax to be applied. This may be used in an invoice line item
1597
+ # description.
1598
+ tax_name: nil
1599
+ )
1600
+ end
1601
+
1602
+ sig { override.returns({ tax_amount: Float, tax_name: String }) }
1603
+ def to_hash
1604
+ end
1605
+ end
1606
+
1198
1607
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1199
1608
  OrHash =
1200
1609
  T.type_alias do
@@ -1212,16 +1621,28 @@ module MetronomeSDK
1212
1621
  end
1213
1622
  attr_accessor :payment_type
1214
1623
 
1215
- # Only applicable if using Stripe as your payment gateway through Metronome.
1624
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1625
+ # your payment type.
1626
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1627
+ attr_reader :invoice_metadata
1628
+
1629
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1630
+ attr_writer :invoice_metadata
1631
+
1632
+ # Only applicable if using STRIPE as your payment gate type.
1216
1633
  sig do
1217
1634
  params(
1218
1635
  payment_type:
1219
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1636
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1637
+ invoice_metadata: T::Hash[Symbol, String]
1220
1638
  ).returns(T.attached_class)
1221
1639
  end
1222
1640
  def self.new(
1223
1641
  # If left blank, will default to INVOICE
1224
- payment_type:
1642
+ payment_type:,
1643
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1644
+ # your payment type.
1645
+ invoice_metadata: nil
1225
1646
  )
1226
1647
  end
1227
1648
 
@@ -1229,7 +1650,8 @@ module MetronomeSDK
1229
1650
  override.returns(
1230
1651
  {
1231
1652
  payment_type:
1232
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1653
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1654
+ invoice_metadata: T::Hash[Symbol, String]
1233
1655
  }
1234
1656
  )
1235
1657
  end
@@ -1297,6 +1719,16 @@ module MetronomeSDK
1297
1719
  :STRIPE,
1298
1720
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1299
1721
  )
1722
+ ANROK =
1723
+ T.let(
1724
+ :ANROK,
1725
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1726
+ )
1727
+ PRECALCULATED =
1728
+ T.let(
1729
+ :PRECALCULATED,
1730
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1731
+ )
1300
1732
 
1301
1733
  sig do
1302
1734
  override.returns(
@@ -1343,6 +1775,77 @@ module MetronomeSDK
1343
1775
  def self.values
1344
1776
  end
1345
1777
  end
1778
+
1779
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1780
+ OrHash =
1781
+ T.type_alias do
1782
+ T.any(
1783
+ MetronomeSDK::V1::ContractAmendParams::Commit::Specifier,
1784
+ MetronomeSDK::Internal::AnyHash
1785
+ )
1786
+ end
1787
+
1788
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1789
+ attr_reader :presentation_group_values
1790
+
1791
+ sig do
1792
+ params(presentation_group_values: T::Hash[Symbol, String]).void
1793
+ end
1794
+ attr_writer :presentation_group_values
1795
+
1796
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1797
+ attr_reader :pricing_group_values
1798
+
1799
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1800
+ attr_writer :pricing_group_values
1801
+
1802
+ # If provided, the specifier will only apply to the product with the specified ID.
1803
+ sig { returns(T.nilable(String)) }
1804
+ attr_reader :product_id
1805
+
1806
+ sig { params(product_id: String).void }
1807
+ attr_writer :product_id
1808
+
1809
+ # If provided, the specifier will only apply to products with all the specified
1810
+ # tags.
1811
+ sig { returns(T.nilable(T::Array[String])) }
1812
+ attr_reader :product_tags
1813
+
1814
+ sig { params(product_tags: T::Array[String]).void }
1815
+ attr_writer :product_tags
1816
+
1817
+ sig do
1818
+ params(
1819
+ presentation_group_values: T::Hash[Symbol, String],
1820
+ pricing_group_values: T::Hash[Symbol, String],
1821
+ product_id: String,
1822
+ product_tags: T::Array[String]
1823
+ ).returns(T.attached_class)
1824
+ end
1825
+ def self.new(
1826
+ presentation_group_values: nil,
1827
+ pricing_group_values: nil,
1828
+ # If provided, the specifier will only apply to the product with the specified ID.
1829
+ product_id: nil,
1830
+ # If provided, the specifier will only apply to products with all the specified
1831
+ # tags.
1832
+ product_tags: nil
1833
+ )
1834
+ end
1835
+
1836
+ sig do
1837
+ override.returns(
1838
+ {
1839
+ presentation_group_values: T::Hash[Symbol, String],
1840
+ pricing_group_values: T::Hash[Symbol, String],
1841
+ product_id: String,
1842
+ product_tags: T::Array[String]
1843
+ }
1844
+ )
1845
+ end
1846
+ def to_hash
1847
+ end
1848
+ end
1346
1849
  end
1347
1850
 
1348
1851
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -1402,6 +1905,24 @@ module MetronomeSDK
1402
1905
  sig { params(description: String).void }
1403
1906
  attr_writer :description
1404
1907
 
1908
+ # Optional configuration for credit hierarchy access control
1909
+ sig do
1910
+ returns(
1911
+ T.nilable(
1912
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration
1913
+ )
1914
+ )
1915
+ end
1916
+ attr_reader :hierarchy_configuration
1917
+
1918
+ sig do
1919
+ params(
1920
+ hierarchy_configuration:
1921
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash
1922
+ ).void
1923
+ end
1924
+ attr_writer :hierarchy_configuration
1925
+
1405
1926
  # displayed on invoices
1406
1927
  sig { returns(T.nilable(String)) }
1407
1928
  attr_reader :name
@@ -1441,6 +1962,31 @@ module MetronomeSDK
1441
1962
  end
1442
1963
  attr_writer :rate_type
1443
1964
 
1965
+ # List of filters that determine what kind of customer usage draws down a commit
1966
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1967
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1968
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1969
+ sig do
1970
+ returns(
1971
+ T.nilable(
1972
+ T::Array[
1973
+ MetronomeSDK::V1::ContractAmendParams::Credit::Specifier
1974
+ ]
1975
+ )
1976
+ )
1977
+ end
1978
+ attr_reader :specifiers
1979
+
1980
+ sig do
1981
+ params(
1982
+ specifiers:
1983
+ T::Array[
1984
+ MetronomeSDK::V1::ContractAmendParams::Credit::Specifier::OrHash
1985
+ ]
1986
+ ).void
1987
+ end
1988
+ attr_writer :specifiers
1989
+
1444
1990
  sig do
1445
1991
  params(
1446
1992
  access_schedule:
@@ -1450,11 +1996,17 @@ module MetronomeSDK
1450
1996
  applicable_product_tags: T::Array[String],
1451
1997
  custom_fields: T::Hash[Symbol, String],
1452
1998
  description: String,
1999
+ hierarchy_configuration:
2000
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash,
1453
2001
  name: String,
1454
2002
  netsuite_sales_order_id: String,
1455
2003
  priority: Float,
1456
2004
  rate_type:
1457
- MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol
2005
+ MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol,
2006
+ specifiers:
2007
+ T::Array[
2008
+ MetronomeSDK::V1::ContractAmendParams::Credit::Specifier::OrHash
2009
+ ]
1458
2010
  ).returns(T.attached_class)
1459
2011
  end
1460
2012
  def self.new(
@@ -1470,6 +2022,8 @@ module MetronomeSDK
1470
2022
  custom_fields: nil,
1471
2023
  # Used only in UI/API. It is not exposed to end customers.
1472
2024
  description: nil,
2025
+ # Optional configuration for credit hierarchy access control
2026
+ hierarchy_configuration: nil,
1473
2027
  # displayed on invoices
1474
2028
  name: nil,
1475
2029
  # This field's availability is dependent on your client's configuration.
@@ -1477,7 +2031,12 @@ module MetronomeSDK
1477
2031
  # If multiple credits are applicable, the one with the lower priority will apply
1478
2032
  # first.
1479
2033
  priority: nil,
1480
- rate_type: nil
2034
+ rate_type: nil,
2035
+ # List of filters that determine what kind of customer usage draws down a commit
2036
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2037
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2038
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2039
+ specifiers: nil
1481
2040
  )
1482
2041
  end
1483
2042
 
@@ -1491,11 +2050,17 @@ module MetronomeSDK
1491
2050
  applicable_product_tags: T::Array[String],
1492
2051
  custom_fields: T::Hash[Symbol, String],
1493
2052
  description: String,
2053
+ hierarchy_configuration:
2054
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
1494
2055
  name: String,
1495
2056
  netsuite_sales_order_id: String,
1496
2057
  priority: Float,
1497
2058
  rate_type:
1498
- MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol
2059
+ MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol,
2060
+ specifiers:
2061
+ T::Array[
2062
+ MetronomeSDK::V1::ContractAmendParams::Credit::Specifier
2063
+ ]
1499
2064
  }
1500
2065
  )
1501
2066
  end
@@ -1604,6 +2169,282 @@ module MetronomeSDK
1604
2169
  end
1605
2170
  end
1606
2171
 
2172
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2173
+ OrHash =
2174
+ T.type_alias do
2175
+ T.any(
2176
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
2177
+ MetronomeSDK::Internal::AnyHash
2178
+ )
2179
+ end
2180
+
2181
+ sig do
2182
+ returns(
2183
+ T.any(
2184
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2185
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2186
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2187
+ )
2188
+ )
2189
+ end
2190
+ attr_accessor :child_access
2191
+
2192
+ # Optional configuration for credit hierarchy access control
2193
+ sig do
2194
+ params(
2195
+ child_access:
2196
+ T.any(
2197
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
2198
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
2199
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
2200
+ )
2201
+ ).returns(T.attached_class)
2202
+ end
2203
+ def self.new(child_access:)
2204
+ end
2205
+
2206
+ sig do
2207
+ override.returns(
2208
+ {
2209
+ child_access:
2210
+ T.any(
2211
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2212
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2213
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2214
+ )
2215
+ }
2216
+ )
2217
+ end
2218
+ def to_hash
2219
+ end
2220
+
2221
+ module ChildAccess
2222
+ extend MetronomeSDK::Internal::Type::Union
2223
+
2224
+ Variants =
2225
+ T.type_alias do
2226
+ T.any(
2227
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2228
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2229
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2230
+ )
2231
+ end
2232
+
2233
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2234
+ OrHash =
2235
+ T.type_alias do
2236
+ T.any(
2237
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2238
+ MetronomeSDK::Internal::AnyHash
2239
+ )
2240
+ end
2241
+
2242
+ sig do
2243
+ returns(
2244
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2245
+ )
2246
+ end
2247
+ attr_accessor :type
2248
+
2249
+ sig do
2250
+ params(
2251
+ type:
2252
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2253
+ ).returns(T.attached_class)
2254
+ end
2255
+ def self.new(type:)
2256
+ end
2257
+
2258
+ sig do
2259
+ override.returns(
2260
+ {
2261
+ type:
2262
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2263
+ }
2264
+ )
2265
+ end
2266
+ def to_hash
2267
+ end
2268
+
2269
+ module Type
2270
+ extend MetronomeSDK::Internal::Type::Enum
2271
+
2272
+ TaggedSymbol =
2273
+ T.type_alias do
2274
+ T.all(
2275
+ Symbol,
2276
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2277
+ )
2278
+ end
2279
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2280
+
2281
+ ALL =
2282
+ T.let(
2283
+ :ALL,
2284
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2285
+ )
2286
+
2287
+ sig do
2288
+ override.returns(
2289
+ T::Array[
2290
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2291
+ ]
2292
+ )
2293
+ end
2294
+ def self.values
2295
+ end
2296
+ end
2297
+ end
2298
+
2299
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2300
+ OrHash =
2301
+ T.type_alias do
2302
+ T.any(
2303
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2304
+ MetronomeSDK::Internal::AnyHash
2305
+ )
2306
+ end
2307
+
2308
+ sig do
2309
+ returns(
2310
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2311
+ )
2312
+ end
2313
+ attr_accessor :type
2314
+
2315
+ sig do
2316
+ params(
2317
+ type:
2318
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2319
+ ).returns(T.attached_class)
2320
+ end
2321
+ def self.new(type:)
2322
+ end
2323
+
2324
+ sig do
2325
+ override.returns(
2326
+ {
2327
+ type:
2328
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2329
+ }
2330
+ )
2331
+ end
2332
+ def to_hash
2333
+ end
2334
+
2335
+ module Type
2336
+ extend MetronomeSDK::Internal::Type::Enum
2337
+
2338
+ TaggedSymbol =
2339
+ T.type_alias do
2340
+ T.all(
2341
+ Symbol,
2342
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2343
+ )
2344
+ end
2345
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2346
+
2347
+ NONE =
2348
+ T.let(
2349
+ :NONE,
2350
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2351
+ )
2352
+
2353
+ sig do
2354
+ override.returns(
2355
+ T::Array[
2356
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2357
+ ]
2358
+ )
2359
+ end
2360
+ def self.values
2361
+ end
2362
+ end
2363
+ end
2364
+
2365
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2366
+ OrHash =
2367
+ T.type_alias do
2368
+ T.any(
2369
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
2370
+ MetronomeSDK::Internal::AnyHash
2371
+ )
2372
+ end
2373
+
2374
+ sig { returns(T::Array[String]) }
2375
+ attr_accessor :contract_ids
2376
+
2377
+ sig do
2378
+ returns(
2379
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2380
+ )
2381
+ end
2382
+ attr_accessor :type
2383
+
2384
+ sig do
2385
+ params(
2386
+ contract_ids: T::Array[String],
2387
+ type:
2388
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2389
+ ).returns(T.attached_class)
2390
+ end
2391
+ def self.new(contract_ids:, type:)
2392
+ end
2393
+
2394
+ sig do
2395
+ override.returns(
2396
+ {
2397
+ contract_ids: T::Array[String],
2398
+ type:
2399
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2400
+ }
2401
+ )
2402
+ end
2403
+ def to_hash
2404
+ end
2405
+
2406
+ module Type
2407
+ extend MetronomeSDK::Internal::Type::Enum
2408
+
2409
+ TaggedSymbol =
2410
+ T.type_alias do
2411
+ T.all(
2412
+ Symbol,
2413
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2414
+ )
2415
+ end
2416
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2417
+
2418
+ CONTRACT_IDS =
2419
+ T.let(
2420
+ :CONTRACT_IDS,
2421
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2422
+ )
2423
+
2424
+ sig do
2425
+ override.returns(
2426
+ T::Array[
2427
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2428
+ ]
2429
+ )
2430
+ end
2431
+ def self.values
2432
+ end
2433
+ end
2434
+ end
2435
+
2436
+ sig do
2437
+ override.returns(
2438
+ T::Array[
2439
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::Variants
2440
+ ]
2441
+ )
2442
+ end
2443
+ def self.variants
2444
+ end
2445
+ end
2446
+ end
2447
+
1607
2448
  module RateType
1608
2449
  extend MetronomeSDK::Internal::Type::Enum
1609
2450
 
@@ -1637,6 +2478,77 @@ module MetronomeSDK
1637
2478
  def self.values
1638
2479
  end
1639
2480
  end
2481
+
2482
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2483
+ OrHash =
2484
+ T.type_alias do
2485
+ T.any(
2486
+ MetronomeSDK::V1::ContractAmendParams::Credit::Specifier,
2487
+ MetronomeSDK::Internal::AnyHash
2488
+ )
2489
+ end
2490
+
2491
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2492
+ attr_reader :presentation_group_values
2493
+
2494
+ sig do
2495
+ params(presentation_group_values: T::Hash[Symbol, String]).void
2496
+ end
2497
+ attr_writer :presentation_group_values
2498
+
2499
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2500
+ attr_reader :pricing_group_values
2501
+
2502
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2503
+ attr_writer :pricing_group_values
2504
+
2505
+ # If provided, the specifier will only apply to the product with the specified ID.
2506
+ sig { returns(T.nilable(String)) }
2507
+ attr_reader :product_id
2508
+
2509
+ sig { params(product_id: String).void }
2510
+ attr_writer :product_id
2511
+
2512
+ # If provided, the specifier will only apply to products with all the specified
2513
+ # tags.
2514
+ sig { returns(T.nilable(T::Array[String])) }
2515
+ attr_reader :product_tags
2516
+
2517
+ sig { params(product_tags: T::Array[String]).void }
2518
+ attr_writer :product_tags
2519
+
2520
+ sig do
2521
+ params(
2522
+ presentation_group_values: T::Hash[Symbol, String],
2523
+ pricing_group_values: T::Hash[Symbol, String],
2524
+ product_id: String,
2525
+ product_tags: T::Array[String]
2526
+ ).returns(T.attached_class)
2527
+ end
2528
+ def self.new(
2529
+ presentation_group_values: nil,
2530
+ pricing_group_values: nil,
2531
+ # If provided, the specifier will only apply to the product with the specified ID.
2532
+ product_id: nil,
2533
+ # If provided, the specifier will only apply to products with all the specified
2534
+ # tags.
2535
+ product_tags: nil
2536
+ )
2537
+ end
2538
+
2539
+ sig do
2540
+ override.returns(
2541
+ {
2542
+ presentation_group_values: T::Hash[Symbol, String],
2543
+ pricing_group_values: T::Hash[Symbol, String],
2544
+ product_id: String,
2545
+ product_tags: T::Array[String]
2546
+ }
2547
+ )
2548
+ end
2549
+ def to_hash
2550
+ end
2551
+ end
1640
2552
  end
1641
2553
 
1642
2554
  class Discount < MetronomeSDK::Internal::Type::BaseModel
@@ -2374,6 +3286,23 @@ module MetronomeSDK
2374
3286
  )
2375
3287
  end
2376
3288
 
3289
+ sig do
3290
+ returns(
3291
+ T.nilable(
3292
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol
3293
+ )
3294
+ )
3295
+ end
3296
+ attr_reader :billing_frequency
3297
+
3298
+ sig do
3299
+ params(
3300
+ billing_frequency:
3301
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol
3302
+ ).void
3303
+ end
3304
+ attr_writer :billing_frequency
3305
+
2377
3306
  # Can only be used for commit specific overrides. Must be used in conjunction with
2378
3307
  # one of product_id, product_tags, pricing_group_values, or
2379
3308
  # presentation_group_values. If provided, the override will only apply to the
@@ -2439,6 +3368,8 @@ module MetronomeSDK
2439
3368
 
2440
3369
  sig do
2441
3370
  params(
3371
+ billing_frequency:
3372
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
2442
3373
  commit_ids: T::Array[String],
2443
3374
  presentation_group_values: T::Hash[Symbol, String],
2444
3375
  pricing_group_values: T::Hash[Symbol, String],
@@ -2449,6 +3380,7 @@ module MetronomeSDK
2449
3380
  ).returns(T.attached_class)
2450
3381
  end
2451
3382
  def self.new(
3383
+ billing_frequency: nil,
2452
3384
  # Can only be used for commit specific overrides. Must be used in conjunction with
2453
3385
  # one of product_id, product_tags, pricing_group_values, or
2454
3386
  # presentation_group_values. If provided, the override will only apply to the
@@ -2481,6 +3413,8 @@ module MetronomeSDK
2481
3413
  sig do
2482
3414
  override.returns(
2483
3415
  {
3416
+ billing_frequency:
3417
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
2484
3418
  commit_ids: T::Array[String],
2485
3419
  presentation_group_values: T::Hash[Symbol, String],
2486
3420
  pricing_group_values: T::Hash[Symbol, String],
@@ -2493,6 +3427,50 @@ module MetronomeSDK
2493
3427
  end
2494
3428
  def to_hash
2495
3429
  end
3430
+
3431
+ module BillingFrequency
3432
+ extend MetronomeSDK::Internal::Type::Enum
3433
+
3434
+ TaggedSymbol =
3435
+ T.type_alias do
3436
+ T.all(
3437
+ Symbol,
3438
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency
3439
+ )
3440
+ end
3441
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3442
+
3443
+ MONTHLY =
3444
+ T.let(
3445
+ :MONTHLY,
3446
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3447
+ )
3448
+ QUARTERLY =
3449
+ T.let(
3450
+ :QUARTERLY,
3451
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3452
+ )
3453
+ ANNUAL =
3454
+ T.let(
3455
+ :ANNUAL,
3456
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3457
+ )
3458
+ WEEKLY =
3459
+ T.let(
3460
+ :WEEKLY,
3461
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3462
+ )
3463
+
3464
+ sig do
3465
+ override.returns(
3466
+ T::Array[
3467
+ MetronomeSDK::V1::ContractAmendParams::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
3468
+ ]
3469
+ )
3470
+ end
3471
+ def self.values
3472
+ end
3473
+ end
2496
3474
  end
2497
3475
 
2498
3476
  class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel