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
@@ -11,6 +11,14 @@ module MetronomeSDK
11
11
  sig { returns(String) }
12
12
  attr_accessor :id
13
13
 
14
+ # Timestamp of when the commit was created.
15
+ #
16
+ # - Recurring commits: latter of commit service period date and parent commit
17
+ # start date
18
+ # - Rollover commits: when the new contract started
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
21
+
14
22
  sig { returns(MetronomeSDK::Commit::Product) }
15
23
  attr_reader :product
16
24
 
@@ -83,6 +91,7 @@ module MetronomeSDK
83
91
  sig { params(contract: MetronomeSDK::Commit::Contract::OrHash).void }
84
92
  attr_writer :contract
85
93
 
94
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
86
95
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
87
96
  attr_reader :custom_fields
88
97
 
@@ -96,13 +105,13 @@ module MetronomeSDK
96
105
  attr_writer :description
97
106
 
98
107
  # Optional configuration for commit hierarchy access control
99
- sig { returns(T.nilable(MetronomeSDK::Commit::HierarchyConfiguration)) }
108
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
100
109
  attr_reader :hierarchy_configuration
101
110
 
102
111
  sig do
103
112
  params(
104
113
  hierarchy_configuration:
105
- MetronomeSDK::Commit::HierarchyConfiguration::OrHash
114
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
106
115
  ).void
107
116
  end
108
117
  attr_writer :hierarchy_configuration
@@ -212,13 +221,11 @@ module MetronomeSDK
212
221
  # List of filters that determine what kind of customer usage draws down a commit
213
222
  # or credit. A customer's usage needs to meet the condition of at least one of the
214
223
  # specifiers to contribute to a commit's or credit's drawdown.
215
- sig { returns(T.nilable(T::Array[MetronomeSDK::Commit::Specifier])) }
224
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifier])) }
216
225
  attr_reader :specifiers
217
226
 
218
227
  sig do
219
- params(
220
- specifiers: T::Array[MetronomeSDK::Commit::Specifier::OrHash]
221
- ).void
228
+ params(specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash]).void
222
229
  end
223
230
  attr_writer :specifiers
224
231
 
@@ -235,6 +242,7 @@ module MetronomeSDK
235
242
  sig do
236
243
  params(
237
244
  id: String,
245
+ created_at: Time,
238
246
  product: MetronomeSDK::Commit::Product::OrHash,
239
247
  type: MetronomeSDK::Commit::Type::OrSymbol,
240
248
  access_schedule: MetronomeSDK::ScheduleDuration::OrHash,
@@ -248,7 +256,7 @@ module MetronomeSDK
248
256
  custom_fields: T::Hash[Symbol, String],
249
257
  description: String,
250
258
  hierarchy_configuration:
251
- MetronomeSDK::Commit::HierarchyConfiguration::OrHash,
259
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
252
260
  invoice_contract: MetronomeSDK::Commit::InvoiceContract::OrHash,
253
261
  invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash,
254
262
  ledger:
@@ -277,12 +285,18 @@ module MetronomeSDK
277
285
  rolled_over_from: MetronomeSDK::Commit::RolledOverFrom::OrHash,
278
286
  rollover_fraction: Float,
279
287
  salesforce_opportunity_id: String,
280
- specifiers: T::Array[MetronomeSDK::Commit::Specifier::OrHash],
288
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier::OrHash],
281
289
  uniqueness_key: String
282
290
  ).returns(T.attached_class)
283
291
  end
284
292
  def self.new(
285
293
  id:,
294
+ # Timestamp of when the commit was created.
295
+ #
296
+ # - Recurring commits: latter of commit service period date and parent commit
297
+ # start date
298
+ # - Rollover commits: when the new contract started
299
+ created_at:,
286
300
  product:,
287
301
  type:,
288
302
  # The schedule that the customer will gain access to the credits purposed with
@@ -306,6 +320,7 @@ module MetronomeSDK
306
320
  # included in the balance, including future-dated manual ledger entries.
307
321
  balance: nil,
308
322
  contract: nil,
323
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
309
324
  custom_fields: nil,
310
325
  description: nil,
311
326
  # Optional configuration for commit hierarchy access control
@@ -344,6 +359,7 @@ module MetronomeSDK
344
359
  override.returns(
345
360
  {
346
361
  id: String,
362
+ created_at: Time,
347
363
  product: MetronomeSDK::Commit::Product,
348
364
  type: MetronomeSDK::Commit::Type::TaggedSymbol,
349
365
  access_schedule: MetronomeSDK::ScheduleDuration,
@@ -356,8 +372,7 @@ module MetronomeSDK
356
372
  contract: MetronomeSDK::Commit::Contract,
357
373
  custom_fields: T::Hash[Symbol, String],
358
374
  description: String,
359
- hierarchy_configuration:
360
- MetronomeSDK::Commit::HierarchyConfiguration,
375
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
361
376
  invoice_contract: MetronomeSDK::Commit::InvoiceContract,
362
377
  invoice_schedule: MetronomeSDK::SchedulePointInTime,
363
378
  ledger: T::Array[MetronomeSDK::Commit::Ledger::Variants],
@@ -368,7 +383,7 @@ module MetronomeSDK
368
383
  rolled_over_from: MetronomeSDK::Commit::RolledOverFrom,
369
384
  rollover_fraction: Float,
370
385
  salesforce_opportunity_id: String,
371
- specifiers: T::Array[MetronomeSDK::Commit::Specifier],
386
+ specifiers: T::Array[MetronomeSDK::CommitSpecifier],
372
387
  uniqueness_key: String
373
388
  }
374
389
  )
@@ -438,274 +453,6 @@ module MetronomeSDK
438
453
  end
439
454
  end
440
455
 
441
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
442
- OrHash =
443
- T.type_alias do
444
- T.any(
445
- MetronomeSDK::Commit::HierarchyConfiguration,
446
- MetronomeSDK::Internal::AnyHash
447
- )
448
- end
449
-
450
- sig do
451
- returns(
452
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::Variants
453
- )
454
- end
455
- attr_accessor :child_access
456
-
457
- # Optional configuration for commit hierarchy access control
458
- sig do
459
- params(
460
- child_access:
461
- T.any(
462
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
463
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
464
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
465
- )
466
- ).returns(T.attached_class)
467
- end
468
- def self.new(child_access:)
469
- end
470
-
471
- sig do
472
- override.returns(
473
- {
474
- child_access:
475
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::Variants
476
- }
477
- )
478
- end
479
- def to_hash
480
- end
481
-
482
- module ChildAccess
483
- extend MetronomeSDK::Internal::Type::Union
484
-
485
- Variants =
486
- T.type_alias do
487
- T.any(
488
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
489
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
490
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
491
- )
492
- end
493
-
494
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
495
- OrHash =
496
- T.type_alias do
497
- T.any(
498
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
499
- MetronomeSDK::Internal::AnyHash
500
- )
501
- end
502
-
503
- sig do
504
- returns(
505
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
506
- )
507
- end
508
- attr_accessor :type
509
-
510
- sig do
511
- params(
512
- type:
513
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
514
- ).returns(T.attached_class)
515
- end
516
- def self.new(type:)
517
- end
518
-
519
- sig do
520
- override.returns(
521
- {
522
- type:
523
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
524
- }
525
- )
526
- end
527
- def to_hash
528
- end
529
-
530
- module Type
531
- extend MetronomeSDK::Internal::Type::Enum
532
-
533
- TaggedSymbol =
534
- T.type_alias do
535
- T.all(
536
- Symbol,
537
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
538
- )
539
- end
540
- OrSymbol = T.type_alias { T.any(Symbol, String) }
541
-
542
- ALL =
543
- T.let(
544
- :ALL,
545
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
546
- )
547
-
548
- sig do
549
- override.returns(
550
- T::Array[
551
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
552
- ]
553
- )
554
- end
555
- def self.values
556
- end
557
- end
558
- end
559
-
560
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
561
- OrHash =
562
- T.type_alias do
563
- T.any(
564
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
565
- MetronomeSDK::Internal::AnyHash
566
- )
567
- end
568
-
569
- sig do
570
- returns(
571
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
572
- )
573
- end
574
- attr_accessor :type
575
-
576
- sig do
577
- params(
578
- type:
579
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
580
- ).returns(T.attached_class)
581
- end
582
- def self.new(type:)
583
- end
584
-
585
- sig do
586
- override.returns(
587
- {
588
- type:
589
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
590
- }
591
- )
592
- end
593
- def to_hash
594
- end
595
-
596
- module Type
597
- extend MetronomeSDK::Internal::Type::Enum
598
-
599
- TaggedSymbol =
600
- T.type_alias do
601
- T.all(
602
- Symbol,
603
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
604
- )
605
- end
606
- OrSymbol = T.type_alias { T.any(Symbol, String) }
607
-
608
- NONE =
609
- T.let(
610
- :NONE,
611
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
612
- )
613
-
614
- sig do
615
- override.returns(
616
- T::Array[
617
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
618
- ]
619
- )
620
- end
621
- def self.values
622
- end
623
- end
624
- end
625
-
626
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
627
- OrHash =
628
- T.type_alias do
629
- T.any(
630
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
631
- MetronomeSDK::Internal::AnyHash
632
- )
633
- end
634
-
635
- sig { returns(T::Array[String]) }
636
- attr_accessor :contract_ids
637
-
638
- sig do
639
- returns(
640
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
641
- )
642
- end
643
- attr_accessor :type
644
-
645
- sig do
646
- params(
647
- contract_ids: T::Array[String],
648
- type:
649
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
650
- ).returns(T.attached_class)
651
- end
652
- def self.new(contract_ids:, type:)
653
- end
654
-
655
- sig do
656
- override.returns(
657
- {
658
- contract_ids: T::Array[String],
659
- type:
660
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
661
- }
662
- )
663
- end
664
- def to_hash
665
- end
666
-
667
- module Type
668
- extend MetronomeSDK::Internal::Type::Enum
669
-
670
- TaggedSymbol =
671
- T.type_alias do
672
- T.all(
673
- Symbol,
674
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
675
- )
676
- end
677
- OrSymbol = T.type_alias { T.any(Symbol, String) }
678
-
679
- CONTRACT_IDS =
680
- T.let(
681
- :CONTRACT_IDS,
682
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
683
- )
684
-
685
- sig do
686
- override.returns(
687
- T::Array[
688
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
689
- ]
690
- )
691
- end
692
- def self.values
693
- end
694
- end
695
- end
696
-
697
- sig do
698
- override.returns(
699
- T::Array[
700
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::Variants
701
- ]
702
- )
703
- end
704
- def self.variants
705
- end
706
- end
707
- end
708
-
709
456
  class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
710
457
  OrHash =
711
458
  T.type_alias do
@@ -2046,75 +1793,6 @@ module MetronomeSDK
2046
1793
  def to_hash
2047
1794
  end
2048
1795
  end
2049
-
2050
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2051
- OrHash =
2052
- T.type_alias do
2053
- T.any(
2054
- MetronomeSDK::Commit::Specifier,
2055
- MetronomeSDK::Internal::AnyHash
2056
- )
2057
- end
2058
-
2059
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2060
- attr_reader :presentation_group_values
2061
-
2062
- sig { params(presentation_group_values: T::Hash[Symbol, String]).void }
2063
- attr_writer :presentation_group_values
2064
-
2065
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2066
- attr_reader :pricing_group_values
2067
-
2068
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2069
- attr_writer :pricing_group_values
2070
-
2071
- # If provided, the specifier will only apply to the product with the specified ID.
2072
- sig { returns(T.nilable(String)) }
2073
- attr_reader :product_id
2074
-
2075
- sig { params(product_id: String).void }
2076
- attr_writer :product_id
2077
-
2078
- # If provided, the specifier will only apply to products with all the specified
2079
- # tags.
2080
- sig { returns(T.nilable(T::Array[String])) }
2081
- attr_reader :product_tags
2082
-
2083
- sig { params(product_tags: T::Array[String]).void }
2084
- attr_writer :product_tags
2085
-
2086
- sig do
2087
- params(
2088
- presentation_group_values: T::Hash[Symbol, String],
2089
- pricing_group_values: T::Hash[Symbol, String],
2090
- product_id: String,
2091
- product_tags: T::Array[String]
2092
- ).returns(T.attached_class)
2093
- end
2094
- def self.new(
2095
- presentation_group_values: nil,
2096
- pricing_group_values: nil,
2097
- # If provided, the specifier will only apply to the product with the specified ID.
2098
- product_id: nil,
2099
- # If provided, the specifier will only apply to products with all the specified
2100
- # tags.
2101
- product_tags: nil
2102
- )
2103
- end
2104
-
2105
- sig do
2106
- override.returns(
2107
- {
2108
- presentation_group_values: T::Hash[Symbol, String],
2109
- pricing_group_values: T::Hash[Symbol, String],
2110
- product_id: String,
2111
- product_tags: T::Array[String]
2112
- }
2113
- )
2114
- end
2115
- def to_hash
2116
- end
2117
- end
2118
1796
  end
2119
1797
  end
2120
1798
  end