metronome-sdk 0.3.0 → 1.0.0

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 (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -57,6 +57,7 @@ module MetronomeSDK
57
57
  end
58
58
  attr_writer :credits
59
59
 
60
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
60
61
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
61
62
  attr_reader :custom_fields
62
63
 
@@ -217,6 +218,7 @@ module MetronomeSDK
217
218
  starting_at:,
218
219
  commits: nil,
219
220
  credits: nil,
221
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
220
222
  custom_fields: nil,
221
223
  # This field's availability is dependent on your client's configuration.
222
224
  discounts: nil,
@@ -335,6 +337,7 @@ module MetronomeSDK
335
337
  sig { params(applicable_product_tags: T::Array[String]).void }
336
338
  attr_writer :applicable_product_tags
337
339
 
340
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
338
341
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
339
342
  attr_reader :custom_fields
340
343
 
@@ -349,19 +352,13 @@ module MetronomeSDK
349
352
  attr_writer :description
350
353
 
351
354
  # 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
355
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
359
356
  attr_reader :hierarchy_configuration
360
357
 
361
358
  sig do
362
359
  params(
363
360
  hierarchy_configuration:
364
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash
361
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
365
362
  ).void
366
363
  end
367
364
  attr_writer :hierarchy_configuration
@@ -456,22 +453,13 @@ module MetronomeSDK
456
453
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
457
454
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
458
455
  sig do
459
- returns(
460
- T.nilable(
461
- T::Array[
462
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier
463
- ]
464
- )
465
- )
456
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
466
457
  end
467
458
  attr_reader :specifiers
468
459
 
469
460
  sig do
470
461
  params(
471
- specifiers:
472
- T::Array[
473
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier::OrHash
474
- ]
462
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
475
463
  ).void
476
464
  end
477
465
  attr_writer :specifiers
@@ -497,7 +485,7 @@ module MetronomeSDK
497
485
  custom_fields: T::Hash[Symbol, String],
498
486
  description: String,
499
487
  hierarchy_configuration:
500
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash,
488
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
501
489
  invoice_schedule:
502
490
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::OrHash,
503
491
  name: String,
@@ -508,10 +496,7 @@ module MetronomeSDK
508
496
  rate_type:
509
497
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
510
498
  rollover_fraction: Float,
511
- specifiers:
512
- T::Array[
513
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier::OrHash
514
- ],
499
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
515
500
  temporary_id: String
516
501
  ).returns(T.attached_class)
517
502
  end
@@ -532,6 +517,7 @@ module MetronomeSDK
532
517
  # applicable_product_tags or specifiers are not provided, the commit applies to
533
518
  # all products.
534
519
  applicable_product_tags: nil,
520
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
535
521
  custom_fields: nil,
536
522
  # Used only in UI/API. It is not exposed to end customers.
537
523
  description: nil,
@@ -579,7 +565,7 @@ module MetronomeSDK
579
565
  custom_fields: T::Hash[Symbol, String],
580
566
  description: String,
581
567
  hierarchy_configuration:
582
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
568
+ MetronomeSDK::CommitHierarchyConfiguration,
583
569
  invoice_schedule:
584
570
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
585
571
  name: String,
@@ -590,10 +576,7 @@ module MetronomeSDK
590
576
  rate_type:
591
577
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
592
578
  rollover_fraction: Float,
593
- specifiers:
594
- T::Array[
595
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier
596
- ],
579
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
597
580
  temporary_id: String
598
581
  }
599
582
  )
@@ -739,282 +722,6 @@ module MetronomeSDK
739
722
  end
740
723
  end
741
724
 
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
-
1018
725
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
1019
726
  OrHash =
1020
727
  T.type_alias do
@@ -1813,77 +1520,6 @@ module MetronomeSDK
1813
1520
  def self.values
1814
1521
  end
1815
1522
  end
1816
-
1817
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1818
- OrHash =
1819
- T.type_alias do
1820
- T.any(
1821
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier,
1822
- MetronomeSDK::Internal::AnyHash
1823
- )
1824
- end
1825
-
1826
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1827
- attr_reader :presentation_group_values
1828
-
1829
- sig do
1830
- params(presentation_group_values: T::Hash[Symbol, String]).void
1831
- end
1832
- attr_writer :presentation_group_values
1833
-
1834
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1835
- attr_reader :pricing_group_values
1836
-
1837
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1838
- attr_writer :pricing_group_values
1839
-
1840
- # If provided, the specifier will only apply to the product with the specified ID.
1841
- sig { returns(T.nilable(String)) }
1842
- attr_reader :product_id
1843
-
1844
- sig { params(product_id: String).void }
1845
- attr_writer :product_id
1846
-
1847
- # If provided, the specifier will only apply to products with all the specified
1848
- # tags.
1849
- sig { returns(T.nilable(T::Array[String])) }
1850
- attr_reader :product_tags
1851
-
1852
- sig { params(product_tags: T::Array[String]).void }
1853
- attr_writer :product_tags
1854
-
1855
- sig do
1856
- params(
1857
- presentation_group_values: T::Hash[Symbol, String],
1858
- pricing_group_values: T::Hash[Symbol, String],
1859
- product_id: String,
1860
- product_tags: T::Array[String]
1861
- ).returns(T.attached_class)
1862
- end
1863
- def self.new(
1864
- presentation_group_values: nil,
1865
- pricing_group_values: nil,
1866
- # If provided, the specifier will only apply to the product with the specified ID.
1867
- product_id: nil,
1868
- # If provided, the specifier will only apply to products with all the specified
1869
- # tags.
1870
- product_tags: nil
1871
- )
1872
- end
1873
-
1874
- sig do
1875
- override.returns(
1876
- {
1877
- presentation_group_values: T::Hash[Symbol, String],
1878
- pricing_group_values: T::Hash[Symbol, String],
1879
- product_id: String,
1880
- product_tags: T::Array[String]
1881
- }
1882
- )
1883
- end
1884
- def to_hash
1885
- end
1886
- end
1887
1523
  end
1888
1524
 
1889
1525
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -1930,6 +1566,7 @@ module MetronomeSDK
1930
1566
  sig { params(applicable_product_tags: T::Array[String]).void }
1931
1567
  attr_writer :applicable_product_tags
1932
1568
 
1569
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1933
1570
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
1934
1571
  attr_reader :custom_fields
1935
1572
 
@@ -1944,19 +1581,13 @@ module MetronomeSDK
1944
1581
  attr_writer :description
1945
1582
 
1946
1583
  # Optional configuration for credit hierarchy access control
1947
- sig do
1948
- returns(
1949
- T.nilable(
1950
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration
1951
- )
1952
- )
1953
- end
1584
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
1954
1585
  attr_reader :hierarchy_configuration
1955
1586
 
1956
1587
  sig do
1957
1588
  params(
1958
1589
  hierarchy_configuration:
1959
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash
1590
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
1960
1591
  ).void
1961
1592
  end
1962
1593
  attr_writer :hierarchy_configuration
@@ -2005,22 +1636,13 @@ module MetronomeSDK
2005
1636
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2006
1637
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
2007
1638
  sig do
2008
- returns(
2009
- T.nilable(
2010
- T::Array[
2011
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier
2012
- ]
2013
- )
2014
- )
1639
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
2015
1640
  end
2016
1641
  attr_reader :specifiers
2017
1642
 
2018
1643
  sig do
2019
1644
  params(
2020
- specifiers:
2021
- T::Array[
2022
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier::OrHash
2023
- ]
1645
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
2024
1646
  ).void
2025
1647
  end
2026
1648
  attr_writer :specifiers
@@ -2035,16 +1657,13 @@ module MetronomeSDK
2035
1657
  custom_fields: T::Hash[Symbol, String],
2036
1658
  description: String,
2037
1659
  hierarchy_configuration:
2038
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash,
1660
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
2039
1661
  name: String,
2040
1662
  netsuite_sales_order_id: String,
2041
1663
  priority: Float,
2042
1664
  rate_type:
2043
1665
  MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol,
2044
- specifiers:
2045
- T::Array[
2046
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier::OrHash
2047
- ]
1666
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
2048
1667
  ).returns(T.attached_class)
2049
1668
  end
2050
1669
  def self.new(
@@ -2057,6 +1676,7 @@ module MetronomeSDK
2057
1676
  # Which tags the credit applies to. If both applicable_product_ids and
2058
1677
  # applicable_product_tags are not provided, the credit applies to all products.
2059
1678
  applicable_product_tags: nil,
1679
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2060
1680
  custom_fields: nil,
2061
1681
  # Used only in UI/API. It is not exposed to end customers.
2062
1682
  description: nil,
@@ -2089,16 +1709,13 @@ module MetronomeSDK
2089
1709
  custom_fields: T::Hash[Symbol, String],
2090
1710
  description: String,
2091
1711
  hierarchy_configuration:
2092
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
1712
+ MetronomeSDK::CommitHierarchyConfiguration,
2093
1713
  name: String,
2094
1714
  netsuite_sales_order_id: String,
2095
1715
  priority: Float,
2096
1716
  rate_type:
2097
1717
  MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol,
2098
- specifiers:
2099
- T::Array[
2100
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier
2101
- ]
1718
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput]
2102
1719
  }
2103
1720
  )
2104
1721
  end
@@ -2207,282 +1824,6 @@ module MetronomeSDK
2207
1824
  end
2208
1825
  end
2209
1826
 
2210
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2211
- OrHash =
2212
- T.type_alias do
2213
- T.any(
2214
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
2215
- MetronomeSDK::Internal::AnyHash
2216
- )
2217
- end
2218
-
2219
- sig do
2220
- returns(
2221
- T.any(
2222
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2223
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2224
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2225
- )
2226
- )
2227
- end
2228
- attr_accessor :child_access
2229
-
2230
- # Optional configuration for credit hierarchy access control
2231
- sig do
2232
- params(
2233
- child_access:
2234
- T.any(
2235
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
2236
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
2237
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
2238
- )
2239
- ).returns(T.attached_class)
2240
- end
2241
- def self.new(child_access:)
2242
- end
2243
-
2244
- sig do
2245
- override.returns(
2246
- {
2247
- child_access:
2248
- T.any(
2249
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2250
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2251
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2252
- )
2253
- }
2254
- )
2255
- end
2256
- def to_hash
2257
- end
2258
-
2259
- module ChildAccess
2260
- extend MetronomeSDK::Internal::Type::Union
2261
-
2262
- Variants =
2263
- T.type_alias do
2264
- T.any(
2265
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2266
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2267
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2268
- )
2269
- end
2270
-
2271
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2272
- OrHash =
2273
- T.type_alias do
2274
- T.any(
2275
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2276
- MetronomeSDK::Internal::AnyHash
2277
- )
2278
- end
2279
-
2280
- sig do
2281
- returns(
2282
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2283
- )
2284
- end
2285
- attr_accessor :type
2286
-
2287
- sig do
2288
- params(
2289
- type:
2290
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2291
- ).returns(T.attached_class)
2292
- end
2293
- def self.new(type:)
2294
- end
2295
-
2296
- sig do
2297
- override.returns(
2298
- {
2299
- type:
2300
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2301
- }
2302
- )
2303
- end
2304
- def to_hash
2305
- end
2306
-
2307
- module Type
2308
- extend MetronomeSDK::Internal::Type::Enum
2309
-
2310
- TaggedSymbol =
2311
- T.type_alias do
2312
- T.all(
2313
- Symbol,
2314
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2315
- )
2316
- end
2317
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2318
-
2319
- ALL =
2320
- T.let(
2321
- :ALL,
2322
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2323
- )
2324
-
2325
- sig do
2326
- override.returns(
2327
- T::Array[
2328
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2329
- ]
2330
- )
2331
- end
2332
- def self.values
2333
- end
2334
- end
2335
- end
2336
-
2337
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2338
- OrHash =
2339
- T.type_alias do
2340
- T.any(
2341
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2342
- MetronomeSDK::Internal::AnyHash
2343
- )
2344
- end
2345
-
2346
- sig do
2347
- returns(
2348
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2349
- )
2350
- end
2351
- attr_accessor :type
2352
-
2353
- sig do
2354
- params(
2355
- type:
2356
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2357
- ).returns(T.attached_class)
2358
- end
2359
- def self.new(type:)
2360
- end
2361
-
2362
- sig do
2363
- override.returns(
2364
- {
2365
- type:
2366
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2367
- }
2368
- )
2369
- end
2370
- def to_hash
2371
- end
2372
-
2373
- module Type
2374
- extend MetronomeSDK::Internal::Type::Enum
2375
-
2376
- TaggedSymbol =
2377
- T.type_alias do
2378
- T.all(
2379
- Symbol,
2380
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2381
- )
2382
- end
2383
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2384
-
2385
- NONE =
2386
- T.let(
2387
- :NONE,
2388
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2389
- )
2390
-
2391
- sig do
2392
- override.returns(
2393
- T::Array[
2394
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2395
- ]
2396
- )
2397
- end
2398
- def self.values
2399
- end
2400
- end
2401
- end
2402
-
2403
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2404
- OrHash =
2405
- T.type_alias do
2406
- T.any(
2407
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
2408
- MetronomeSDK::Internal::AnyHash
2409
- )
2410
- end
2411
-
2412
- sig { returns(T::Array[String]) }
2413
- attr_accessor :contract_ids
2414
-
2415
- sig do
2416
- returns(
2417
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2418
- )
2419
- end
2420
- attr_accessor :type
2421
-
2422
- sig do
2423
- params(
2424
- contract_ids: T::Array[String],
2425
- type:
2426
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2427
- ).returns(T.attached_class)
2428
- end
2429
- def self.new(contract_ids:, type:)
2430
- end
2431
-
2432
- sig do
2433
- override.returns(
2434
- {
2435
- contract_ids: T::Array[String],
2436
- type:
2437
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2438
- }
2439
- )
2440
- end
2441
- def to_hash
2442
- end
2443
-
2444
- module Type
2445
- extend MetronomeSDK::Internal::Type::Enum
2446
-
2447
- TaggedSymbol =
2448
- T.type_alias do
2449
- T.all(
2450
- Symbol,
2451
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2452
- )
2453
- end
2454
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2455
-
2456
- CONTRACT_IDS =
2457
- T.let(
2458
- :CONTRACT_IDS,
2459
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2460
- )
2461
-
2462
- sig do
2463
- override.returns(
2464
- T::Array[
2465
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2466
- ]
2467
- )
2468
- end
2469
- def self.values
2470
- end
2471
- end
2472
- end
2473
-
2474
- sig do
2475
- override.returns(
2476
- T::Array[
2477
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::Variants
2478
- ]
2479
- )
2480
- end
2481
- def self.variants
2482
- end
2483
- end
2484
- end
2485
-
2486
1827
  module RateType
2487
1828
  extend MetronomeSDK::Internal::Type::Enum
2488
1829
 
@@ -2516,77 +1857,6 @@ module MetronomeSDK
2516
1857
  def self.values
2517
1858
  end
2518
1859
  end
2519
-
2520
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2521
- OrHash =
2522
- T.type_alias do
2523
- T.any(
2524
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier,
2525
- MetronomeSDK::Internal::AnyHash
2526
- )
2527
- end
2528
-
2529
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2530
- attr_reader :presentation_group_values
2531
-
2532
- sig do
2533
- params(presentation_group_values: T::Hash[Symbol, String]).void
2534
- end
2535
- attr_writer :presentation_group_values
2536
-
2537
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2538
- attr_reader :pricing_group_values
2539
-
2540
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2541
- attr_writer :pricing_group_values
2542
-
2543
- # If provided, the specifier will only apply to the product with the specified ID.
2544
- sig { returns(T.nilable(String)) }
2545
- attr_reader :product_id
2546
-
2547
- sig { params(product_id: String).void }
2548
- attr_writer :product_id
2549
-
2550
- # If provided, the specifier will only apply to products with all the specified
2551
- # tags.
2552
- sig { returns(T.nilable(T::Array[String])) }
2553
- attr_reader :product_tags
2554
-
2555
- sig { params(product_tags: T::Array[String]).void }
2556
- attr_writer :product_tags
2557
-
2558
- sig do
2559
- params(
2560
- presentation_group_values: T::Hash[Symbol, String],
2561
- pricing_group_values: T::Hash[Symbol, String],
2562
- product_id: String,
2563
- product_tags: T::Array[String]
2564
- ).returns(T.attached_class)
2565
- end
2566
- def self.new(
2567
- presentation_group_values: nil,
2568
- pricing_group_values: nil,
2569
- # If provided, the specifier will only apply to the product with the specified ID.
2570
- product_id: nil,
2571
- # If provided, the specifier will only apply to products with all the specified
2572
- # tags.
2573
- product_tags: nil
2574
- )
2575
- end
2576
-
2577
- sig do
2578
- override.returns(
2579
- {
2580
- presentation_group_values: T::Hash[Symbol, String],
2581
- pricing_group_values: T::Hash[Symbol, String],
2582
- product_id: String,
2583
- product_tags: T::Array[String]
2584
- }
2585
- )
2586
- end
2587
- def to_hash
2588
- end
2589
- end
2590
1860
  end
2591
1861
 
2592
1862
  class Discount < MetronomeSDK::Internal::Type::BaseModel
@@ -2615,6 +1885,7 @@ module MetronomeSDK
2615
1885
  end
2616
1886
  attr_writer :schedule
2617
1887
 
1888
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2618
1889
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
2619
1890
  attr_reader :custom_fields
2620
1891
 
@@ -2649,6 +1920,7 @@ module MetronomeSDK
2649
1920
  product_id:,
2650
1921
  # Must provide either schedule_items or recurring_schedule.
2651
1922
  schedule:,
1923
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2652
1924
  custom_fields: nil,
2653
1925
  # displayed on invoices
2654
1926
  name: nil,
@@ -3355,8 +2627,8 @@ module MetronomeSDK
3355
2627
  attr_writer :billing_frequency
3356
2628
 
3357
2629
  # Can only be used for commit specific overrides. Must be used in conjunction with
3358
- # one of product_id, product_tags, pricing_group_values, or
3359
- # presentation_group_values. If provided, the override will only apply to the
2630
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2631
+ # `presentation_group_values`. If provided, the override will only apply to the
3360
2632
  # specified commits. If not provided, the override will apply to all commits.
3361
2633
  sig { returns(T.nilable(T::Array[String])) }
3362
2634
  attr_reader :commit_ids
@@ -3398,9 +2670,9 @@ module MetronomeSDK
3398
2670
  attr_writer :product_tags
3399
2671
 
3400
2672
  # Can only be used for commit specific overrides. Must be used in conjunction with
3401
- # one of product_id, product_tags, pricing_group_values, or
3402
- # presentation_group_values. If provided, the override will only apply to commits
3403
- # created by the specified recurring commit ids.
2673
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2674
+ # `presentation_group_values`. If provided, the override will only apply to
2675
+ # commits created by the specified recurring commit ids.
3404
2676
  sig { returns(T.nilable(T::Array[String])) }
3405
2677
  attr_reader :recurring_commit_ids
3406
2678
 
@@ -3408,9 +2680,9 @@ module MetronomeSDK
3408
2680
  attr_writer :recurring_commit_ids
3409
2681
 
3410
2682
  # Can only be used for commit specific overrides. Must be used in conjunction with
3411
- # one of product_id, product_tags, pricing_group_values, or
3412
- # presentation_group_values. If provided, the override will only apply to credits
3413
- # created by the specified recurring credit ids.
2683
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2684
+ # `presentation_group_values`. If provided, the override will only apply to
2685
+ # credits created by the specified recurring credit ids.
3414
2686
  sig { returns(T.nilable(T::Array[String])) }
3415
2687
  attr_reader :recurring_credit_ids
3416
2688
 
@@ -3433,8 +2705,8 @@ module MetronomeSDK
3433
2705
  def self.new(
3434
2706
  billing_frequency: nil,
3435
2707
  # Can only be used for commit specific overrides. Must be used in conjunction with
3436
- # one of product_id, product_tags, pricing_group_values, or
3437
- # presentation_group_values. If provided, the override will only apply to the
2708
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2709
+ # `presentation_group_values`. If provided, the override will only apply to the
3438
2710
  # specified commits. If not provided, the override will apply to all commits.
3439
2711
  commit_ids: nil,
3440
2712
  # A map of group names to values. The override will only apply to line items with
@@ -3449,14 +2721,14 @@ module MetronomeSDK
3449
2721
  # tags.
3450
2722
  product_tags: nil,
3451
2723
  # Can only be used for commit specific overrides. Must be used in conjunction with
3452
- # one of product_id, product_tags, pricing_group_values, or
3453
- # presentation_group_values. If provided, the override will only apply to commits
3454
- # created by the specified recurring commit ids.
2724
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2725
+ # `presentation_group_values`. If provided, the override will only apply to
2726
+ # commits created by the specified recurring commit ids.
3455
2727
  recurring_commit_ids: nil,
3456
2728
  # Can only be used for commit specific overrides. Must be used in conjunction with
3457
- # one of product_id, product_tags, pricing_group_values, or
3458
- # presentation_group_values. If provided, the override will only apply to credits
3459
- # created by the specified recurring credit ids.
2729
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2730
+ # `presentation_group_values`. If provided, the override will only apply to
2731
+ # credits created by the specified recurring credit ids.
3460
2732
  recurring_credit_ids: nil
3461
2733
  )
3462
2734
  end
@@ -3816,6 +3088,7 @@ module MetronomeSDK
3816
3088
  sig { returns(Float) }
3817
3089
  attr_accessor :unit_price
3818
3090
 
3091
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3819
3092
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
3820
3093
  attr_reader :custom_fields
3821
3094
 
@@ -3856,6 +3129,7 @@ module MetronomeSDK
3856
3129
  # Unit price for the charge. Will be multiplied by quantity to determine the
3857
3130
  # amount and must be specified.
3858
3131
  unit_price:,
3132
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3859
3133
  custom_fields: nil,
3860
3134
  description: nil,
3861
3135
  # This field's availability is dependent on your client's configuration.
@@ -4191,6 +3465,7 @@ module MetronomeSDK
4191
3465
  end
4192
3466
  attr_writer :schedule
4193
3467
 
3468
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
4194
3469
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
4195
3470
  attr_reader :custom_fields
4196
3471
 
@@ -4225,6 +3500,7 @@ module MetronomeSDK
4225
3500
  product_id:,
4226
3501
  # Must provide either schedule_items or recurring_schedule.
4227
3502
  schedule:,
3503
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
4228
3504
  custom_fields: nil,
4229
3505
  # displayed on invoices
4230
3506
  name: nil,