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
@@ -352,6 +352,16 @@ module MetronomeSDK
352
352
  :send_invoice,
353
353
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
354
354
  )
355
+ AUTO_CHARGE_PAYMENT_INTENT =
356
+ T.let(
357
+ :auto_charge_payment_intent,
358
+ MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
359
+ )
360
+ MANUALLY_CHARGE_PAYMENT_INTENT =
361
+ T.let(
362
+ :manually_charge_payment_intent,
363
+ MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
364
+ )
355
365
 
356
366
  sig do
357
367
  override.returns(
@@ -438,6 +438,16 @@ module MetronomeSDK
438
438
  :send_invoice,
439
439
  MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
440
440
  )
441
+ AUTO_CHARGE_PAYMENT_INTENT =
442
+ T.let(
443
+ :auto_charge_payment_intent,
444
+ MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
445
+ )
446
+ MANUALLY_CHARGE_PAYMENT_INTENT =
447
+ T.let(
448
+ :manually_charge_payment_intent,
449
+ MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
450
+ )
441
451
 
442
452
  sig do
443
453
  override.returns(
@@ -79,6 +79,7 @@ module MetronomeSDK
79
79
  sig { params(applicable_product_tags: T::Array[String]).void }
80
80
  attr_writer :applicable_product_tags
81
81
 
82
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
82
83
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
83
84
  attr_reader :custom_fields
84
85
 
@@ -165,22 +166,13 @@ module MetronomeSDK
165
166
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
166
167
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
167
168
  sig do
168
- returns(
169
- T.nilable(
170
- T::Array[
171
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier
172
- ]
173
- )
174
- )
169
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
175
170
  end
176
171
  attr_reader :specifiers
177
172
 
178
173
  sig do
179
174
  params(
180
- specifiers:
181
- T::Array[
182
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier::OrHash
183
- ]
175
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
184
176
  ).void
185
177
  end
186
178
  attr_writer :specifiers
@@ -217,10 +209,7 @@ module MetronomeSDK
217
209
  rate_type:
218
210
  MetronomeSDK::V1::Customers::CommitCreateParams::RateType::OrSymbol,
219
211
  salesforce_opportunity_id: String,
220
- specifiers:
221
- T::Array[
222
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier::OrHash
223
- ],
212
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
224
213
  uniqueness_key: String,
225
214
  request_options: MetronomeSDK::RequestOptions::OrHash
226
215
  ).returns(T.attached_class)
@@ -248,6 +237,7 @@ module MetronomeSDK
248
237
  # applicable_product_tags or specifiers are not provided, the commit applies to
249
238
  # all products.
250
239
  applicable_product_tags: nil,
240
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
251
241
  custom_fields: nil,
252
242
  # Used only in UI/API. It is not exposed to end customers.
253
243
  description: nil,
@@ -304,10 +294,7 @@ module MetronomeSDK
304
294
  rate_type:
305
295
  MetronomeSDK::V1::Customers::CommitCreateParams::RateType::OrSymbol,
306
296
  salesforce_opportunity_id: String,
307
- specifiers:
308
- T::Array[
309
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier
310
- ],
297
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
311
298
  uniqueness_key: String,
312
299
  request_options: MetronomeSDK::RequestOptions
313
300
  }
@@ -879,77 +866,6 @@ module MetronomeSDK
879
866
  def self.values
880
867
  end
881
868
  end
882
-
883
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
884
- OrHash =
885
- T.type_alias do
886
- T.any(
887
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier,
888
- MetronomeSDK::Internal::AnyHash
889
- )
890
- end
891
-
892
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
893
- attr_reader :presentation_group_values
894
-
895
- sig do
896
- params(presentation_group_values: T::Hash[Symbol, String]).void
897
- end
898
- attr_writer :presentation_group_values
899
-
900
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
901
- attr_reader :pricing_group_values
902
-
903
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
904
- attr_writer :pricing_group_values
905
-
906
- # If provided, the specifier will only apply to the product with the specified ID.
907
- sig { returns(T.nilable(String)) }
908
- attr_reader :product_id
909
-
910
- sig { params(product_id: String).void }
911
- attr_writer :product_id
912
-
913
- # If provided, the specifier will only apply to products with all the specified
914
- # tags.
915
- sig { returns(T.nilable(T::Array[String])) }
916
- attr_reader :product_tags
917
-
918
- sig { params(product_tags: T::Array[String]).void }
919
- attr_writer :product_tags
920
-
921
- sig do
922
- params(
923
- presentation_group_values: T::Hash[Symbol, String],
924
- pricing_group_values: T::Hash[Symbol, String],
925
- product_id: String,
926
- product_tags: T::Array[String]
927
- ).returns(T.attached_class)
928
- end
929
- def self.new(
930
- presentation_group_values: nil,
931
- pricing_group_values: nil,
932
- # If provided, the specifier will only apply to the product with the specified ID.
933
- product_id: nil,
934
- # If provided, the specifier will only apply to products with all the specified
935
- # tags.
936
- product_tags: nil
937
- )
938
- end
939
-
940
- sig do
941
- override.returns(
942
- {
943
- presentation_group_values: T::Hash[Symbol, String],
944
- pricing_group_values: T::Hash[Symbol, String],
945
- product_id: String,
946
- product_tags: T::Array[String]
947
- }
948
- )
949
- end
950
- def to_hash
951
- end
952
- end
953
869
  end
954
870
  end
955
871
  end
@@ -67,6 +67,7 @@ module MetronomeSDK
67
67
  sig { params(applicable_product_tags: T::Array[String]).void }
68
68
  attr_writer :applicable_product_tags
69
69
 
70
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
70
71
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
71
72
  attr_reader :custom_fields
72
73
 
@@ -123,22 +124,13 @@ module MetronomeSDK
123
124
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
124
125
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
125
126
  sig do
126
- returns(
127
- T.nilable(
128
- T::Array[
129
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier
130
- ]
131
- )
132
- )
127
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
133
128
  end
134
129
  attr_reader :specifiers
135
130
 
136
131
  sig do
137
132
  params(
138
- specifiers:
139
- T::Array[
140
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier::OrHash
141
- ]
133
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
142
134
  ).void
143
135
  end
144
136
  attr_writer :specifiers
@@ -170,10 +162,7 @@ module MetronomeSDK
170
162
  rate_type:
171
163
  MetronomeSDK::V1::Customers::CreditCreateParams::RateType::OrSymbol,
172
164
  salesforce_opportunity_id: String,
173
- specifiers:
174
- T::Array[
175
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier::OrHash
176
- ],
165
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
177
166
  uniqueness_key: String,
178
167
  request_options: MetronomeSDK::RequestOptions::OrHash
179
168
  ).returns(T.attached_class)
@@ -195,6 +184,7 @@ module MetronomeSDK
195
184
  # Which tags the credit applies to. If both applicable_product_ids and
196
185
  # applicable_product_tags are not provided, the credit applies to all products.
197
186
  applicable_product_tags: nil,
187
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
198
188
  custom_fields: nil,
199
189
  # Used only in UI/API. It is not exposed to end customers.
200
190
  description: nil,
@@ -237,10 +227,7 @@ module MetronomeSDK
237
227
  rate_type:
238
228
  MetronomeSDK::V1::Customers::CreditCreateParams::RateType::OrSymbol,
239
229
  salesforce_opportunity_id: String,
240
- specifiers:
241
- T::Array[
242
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier
243
- ],
230
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
244
231
  uniqueness_key: String,
245
232
  request_options: MetronomeSDK::RequestOptions
246
233
  }
@@ -384,77 +371,6 @@ module MetronomeSDK
384
371
  def self.values
385
372
  end
386
373
  end
387
-
388
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
389
- OrHash =
390
- T.type_alias do
391
- T.any(
392
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier,
393
- MetronomeSDK::Internal::AnyHash
394
- )
395
- end
396
-
397
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
398
- attr_reader :presentation_group_values
399
-
400
- sig do
401
- params(presentation_group_values: T::Hash[Symbol, String]).void
402
- end
403
- attr_writer :presentation_group_values
404
-
405
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
406
- attr_reader :pricing_group_values
407
-
408
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
409
- attr_writer :pricing_group_values
410
-
411
- # If provided, the specifier will only apply to the product with the specified ID.
412
- sig { returns(T.nilable(String)) }
413
- attr_reader :product_id
414
-
415
- sig { params(product_id: String).void }
416
- attr_writer :product_id
417
-
418
- # If provided, the specifier will only apply to products with all the specified
419
- # tags.
420
- sig { returns(T.nilable(T::Array[String])) }
421
- attr_reader :product_tags
422
-
423
- sig { params(product_tags: T::Array[String]).void }
424
- attr_writer :product_tags
425
-
426
- sig do
427
- params(
428
- presentation_group_values: T::Hash[Symbol, String],
429
- pricing_group_values: T::Hash[Symbol, String],
430
- product_id: String,
431
- product_tags: T::Array[String]
432
- ).returns(T.attached_class)
433
- end
434
- def self.new(
435
- presentation_group_values: nil,
436
- pricing_group_values: nil,
437
- # If provided, the specifier will only apply to the product with the specified ID.
438
- product_id: nil,
439
- # If provided, the specifier will only apply to products with all the specified
440
- # tags.
441
- product_tags: nil
442
- )
443
- end
444
-
445
- sig do
446
- override.returns(
447
- {
448
- presentation_group_values: T::Hash[Symbol, String],
449
- pricing_group_values: T::Hash[Symbol, String],
450
- product_id: String,
451
- product_tags: T::Array[String]
452
- }
453
- )
454
- end
455
- def to_hash
456
- end
457
- end
458
374
  end
459
375
  end
460
376
  end
@@ -570,13 +570,16 @@ module MetronomeSDK
570
570
  sig { returns(String) }
571
571
  attr_accessor :key
572
572
 
573
- sig { returns(String) }
574
- attr_accessor :value
573
+ sig { returns(T.nilable(String)) }
574
+ attr_reader :value
575
+
576
+ sig { params(value: String).void }
577
+ attr_writer :value
575
578
 
576
579
  sig do
577
580
  params(key: String, value: String).returns(T.attached_class)
578
581
  end
579
- def self.new(key:, value:)
582
+ def self.new(key:, value: nil)
580
583
  end
581
584
 
582
585
  sig { override.returns({ key: String, value: String }) }
@@ -63,6 +63,7 @@ module MetronomeSDK
63
63
  end
64
64
  attr_writer :billable_status
65
65
 
66
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
66
67
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
67
68
  attr_reader :contract_custom_fields
68
69
 
@@ -104,6 +105,7 @@ module MetronomeSDK
104
105
  sig { params(custom_fields: T::Hash[Symbol, T.anything]).void }
105
106
  attr_writer :custom_fields
106
107
 
108
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
107
109
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
108
110
  attr_reader :customer_custom_fields
109
111
 
@@ -175,6 +177,7 @@ module MetronomeSDK
175
177
  sig { params(netsuite_sales_order_id: String).void }
176
178
  attr_writer :netsuite_sales_order_id
177
179
 
180
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
178
181
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
179
182
  attr_reader :plan_custom_fields
180
183
 
@@ -284,6 +287,7 @@ module MetronomeSDK
284
287
  amendment_id: nil,
285
288
  # This field's availability is dependent on your client's configuration.
286
289
  billable_status: nil,
290
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
287
291
  contract_custom_fields: nil,
288
292
  contract_id: nil,
289
293
  correction_record: nil,
@@ -291,6 +295,7 @@ module MetronomeSDK
291
295
  # invoices only.
292
296
  created_at: nil,
293
297
  custom_fields: nil,
298
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
294
299
  customer_custom_fields: nil,
295
300
  # End of the usage period this invoice covers (UTC)
296
301
  end_timestamp: nil,
@@ -301,6 +306,7 @@ module MetronomeSDK
301
306
  net_payment_terms_days: nil,
302
307
  # This field's availability is dependent on your client's configuration.
303
308
  netsuite_sales_order_id: nil,
309
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
304
310
  plan_custom_fields: nil,
305
311
  plan_id: nil,
306
312
  plan_name: nil,
@@ -384,11 +390,29 @@ module MetronomeSDK
384
390
  sig { returns(Float) }
385
391
  attr_accessor :total
386
392
 
387
- # The type of line item. Possible values are 'aws_royalty',
388
- # 'applied_commit_or_credit', 'scheduled', 'commit_purchase', 'cpu_conversion',
389
- # 'discount', 'gcp_royalty', 'postpaid_trueup', 'professional_services',
390
- # 'subscription', 'usage', 'legacy', 'minimum', 'product_charge',
391
- # 'trial_discount', 'rollover', 'seat', 'grouped_charge'.
393
+ # The type of line item.
394
+ #
395
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
396
+ # scheduled_charge_id on the line item.
397
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
398
+ # commit. View the commit_id on the line item.
399
+ # - `usage`: Line item is associated with a usage product or composite product.
400
+ # View the product_id on the line item to determine which product.
401
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
402
+ # recurring payment for an in-advance subscription.
403
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
404
+ # are associated with their own line items. These line items have negative
405
+ # totals. Use the applied_commit_or_credit object on the line item to understand
406
+ # the id of the applied commit or credit, and its type. Note that the
407
+ # application of a postpaid commit is associated with a line item, but the total
408
+ # on the line item is not included in the invoice's total as postpaid commits
409
+ # are paid in-arrears.
410
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
411
+ # currency, using the conversion rate set on the rate card. This line item will
412
+ # appear when there are products priced in custom pricing units, and there is
413
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
414
+ # the spend. Then, the outstanding spend in custom pricing units will be
415
+ # converted to fiat currency using a cpu_conversion line item.
392
416
  sig { returns(String) }
393
417
  attr_accessor :type
394
418
 
@@ -412,6 +436,7 @@ module MetronomeSDK
412
436
  end
413
437
  attr_writer :applied_commit_or_credit
414
438
 
439
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
415
440
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
416
441
  attr_reader :commit_custom_fields
417
442
 
@@ -454,12 +479,14 @@ module MetronomeSDK
454
479
  sig { params(commit_type: String).void }
455
480
  attr_writer :commit_type
456
481
 
482
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
457
483
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
458
484
  attr_reader :custom_fields
459
485
 
460
486
  sig { params(custom_fields: T::Hash[Symbol, String]).void }
461
487
  attr_writer :custom_fields
462
488
 
489
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
463
490
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
464
491
  attr_reader :discount_custom_fields
465
492
 
@@ -569,6 +596,7 @@ module MetronomeSDK
569
596
  sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
570
597
  attr_writer :pricing_group_values
571
598
 
599
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
572
600
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
573
601
  attr_reader :product_custom_fields
574
602
 
@@ -600,6 +628,7 @@ module MetronomeSDK
600
628
  sig { params(product_type: String).void }
601
629
  attr_writer :product_type
602
630
 
631
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
603
632
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
604
633
  attr_reader :professional_service_custom_fields
605
634
 
@@ -640,6 +669,7 @@ module MetronomeSDK
640
669
  end
641
670
  attr_writer :reseller_type
642
671
 
672
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
643
673
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
644
674
  attr_reader :scheduled_charge_custom_fields
645
675
 
@@ -685,6 +715,7 @@ module MetronomeSDK
685
715
  end
686
716
  attr_writer :sub_line_items
687
717
 
718
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
688
719
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
689
720
  attr_reader :subscription_custom_fields
690
721
 
@@ -772,16 +803,35 @@ module MetronomeSDK
772
803
  credit_type:,
773
804
  name:,
774
805
  total:,
775
- # The type of line item. Possible values are 'aws_royalty',
776
- # 'applied_commit_or_credit', 'scheduled', 'commit_purchase', 'cpu_conversion',
777
- # 'discount', 'gcp_royalty', 'postpaid_trueup', 'professional_services',
778
- # 'subscription', 'usage', 'legacy', 'minimum', 'product_charge',
779
- # 'trial_discount', 'rollover', 'seat', 'grouped_charge'.
806
+ # The type of line item.
807
+ #
808
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
809
+ # scheduled_charge_id on the line item.
810
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
811
+ # commit. View the commit_id on the line item.
812
+ # - `usage`: Line item is associated with a usage product or composite product.
813
+ # View the product_id on the line item to determine which product.
814
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
815
+ # recurring payment for an in-advance subscription.
816
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
817
+ # are associated with their own line items. These line items have negative
818
+ # totals. Use the applied_commit_or_credit object on the line item to understand
819
+ # the id of the applied commit or credit, and its type. Note that the
820
+ # application of a postpaid commit is associated with a line item, but the total
821
+ # on the line item is not included in the invoice's total as postpaid commits
822
+ # are paid in-arrears.
823
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
824
+ # currency, using the conversion rate set on the rate card. This line item will
825
+ # appear when there are products priced in custom pricing units, and there is
826
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
827
+ # the spend. Then, the outstanding spend in custom pricing units will be
828
+ # converted to fiat currency using a cpu_conversion line item.
780
829
  type:,
781
830
  # Details about the credit or commit that was applied to this line item. Only
782
831
  # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
783
832
  # types.
784
833
  applied_commit_or_credit: nil,
834
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
785
835
  commit_custom_fields: nil,
786
836
  # For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types,
787
837
  # the ID of the credit or commit that was applied to this line item. For line
@@ -794,7 +844,9 @@ module MetronomeSDK
794
844
  # `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit`
795
845
  # (for commit type `POSTPAID`).
796
846
  commit_type: nil,
847
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
797
848
  custom_fields: nil,
849
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
798
850
  discount_custom_fields: nil,
799
851
  # ID of the discount applied to this line item.
800
852
  discount_id: nil,
@@ -822,6 +874,7 @@ module MetronomeSDK
822
874
  # Includes the pricing group values associated with this line item if dimensional
823
875
  # pricing is used.
824
876
  pricing_group_values: nil,
877
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
825
878
  product_custom_fields: nil,
826
879
  # ID of the product associated with the line item.
827
880
  product_id: nil,
@@ -833,17 +886,20 @@ module MetronomeSDK
833
886
  # `CompositeProductListItem` (for `COMPOSITE` type products). For scheduled
834
887
  # charges, commit and credit payments, the value is `FixedProductListItem`.
835
888
  product_type: nil,
889
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
836
890
  professional_service_custom_fields: nil,
837
891
  professional_service_id: nil,
838
892
  # The quantity associated with the line item.
839
893
  quantity: nil,
840
894
  reseller_type: nil,
895
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
841
896
  scheduled_charge_custom_fields: nil,
842
897
  # ID of scheduled charge.
843
898
  scheduled_charge_id: nil,
844
899
  # The line item's start date (inclusive).
845
900
  starting_at: nil,
846
901
  sub_line_items: nil,
902
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
847
903
  subscription_custom_fields: nil,
848
904
  # Populated if the line item has a tiered price.
849
905
  tier: nil,
@@ -1067,6 +1123,7 @@ module MetronomeSDK
1067
1123
  )
1068
1124
  end
1069
1125
 
1126
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1070
1127
  sig { returns(T::Hash[Symbol, String]) }
1071
1128
  attr_accessor :custom_fields
1072
1129
 
@@ -1172,6 +1229,7 @@ module MetronomeSDK
1172
1229
  ).returns(T.attached_class)
1173
1230
  end
1174
1231
  def self.new(
1232
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1175
1233
  custom_fields:,
1176
1234
  name:,
1177
1235
  quantity:,
@@ -1911,6 +1969,7 @@ module MetronomeSDK
1911
1969
  sig { returns(Float) }
1912
1970
  attr_accessor :total
1913
1971
 
1972
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1914
1973
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
1915
1974
  attr_reader :credit_grant_custom_fields
1916
1975
 
@@ -1938,6 +1997,7 @@ module MetronomeSDK
1938
1997
  credit_type:,
1939
1998
  name:,
1940
1999
  total:,
2000
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1941
2001
  credit_grant_custom_fields: nil,
1942
2002
  credit_grant_id: nil
1943
2003
  )
@@ -17,6 +17,7 @@ module MetronomeSDK
17
17
  sig { returns(String) }
18
18
  attr_accessor :id
19
19
 
20
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
20
21
  sig { returns(T::Hash[Symbol, String]) }
21
22
  attr_accessor :custom_fields
22
23
 
@@ -79,6 +80,7 @@ module MetronomeSDK
79
80
  def self.new(
80
81
  # the ID of the customer plan
81
82
  id:,
83
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
82
84
  custom_fields:,
83
85
  plan_description:,
84
86
  # the ID of the plan
@@ -12,6 +12,7 @@ module MetronomeSDK
12
12
  sig { returns(String) }
13
13
  attr_accessor :id
14
14
 
15
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
15
16
  sig { returns(T::Hash[Symbol, String]) }
16
17
  attr_accessor :custom_fields
17
18
 
@@ -81,6 +82,7 @@ module MetronomeSDK
81
82
  end
82
83
  def self.new(
83
84
  id:,
85
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
84
86
  custom_fields:,
85
87
  name:,
86
88
  credit_grants: nil,
@@ -28,6 +28,7 @@ module MetronomeSDK
28
28
  sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
29
29
  attr_writer :credit_type
30
30
 
31
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
31
32
  sig { returns(T::Hash[Symbol, String]) }
32
33
  attr_accessor :custom_fields
33
34
 
@@ -112,6 +113,7 @@ module MetronomeSDK
112
113
  id:,
113
114
  charge_type:,
114
115
  credit_type:,
116
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
115
117
  custom_fields:,
116
118
  name:,
117
119
  prices:,
@@ -71,6 +71,7 @@ module MetronomeSDK
71
71
  sig { returns(String) }
72
72
  attr_accessor :id
73
73
 
74
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
74
75
  sig { returns(T::Hash[Symbol, String]) }
75
76
  attr_accessor :custom_fields
76
77
 
@@ -100,6 +101,7 @@ module MetronomeSDK
100
101
  end
101
102
  def self.new(
102
103
  id:,
104
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
103
105
  custom_fields:,
104
106
  customer_plan_id:,
105
107
  name:,
@@ -21,6 +21,7 @@ module MetronomeSDK
21
21
  sig { returns(String) }
22
22
  attr_accessor :name
23
23
 
24
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
24
25
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
25
26
  attr_reader :custom_fields
26
27
 
@@ -35,7 +36,13 @@ module MetronomeSDK
35
36
  custom_fields: T::Hash[Symbol, String]
36
37
  ).returns(T.attached_class)
37
38
  end
38
- def self.new(id:, description:, name:, custom_fields: nil)
39
+ def self.new(
40
+ id:,
41
+ description:,
42
+ name:,
43
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
44
+ custom_fields: nil
45
+ )
39
46
  end
40
47
 
41
48
  sig do