metronome-sdk 0.2.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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -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/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -54,6 +54,7 @@ module MetronomeSDK
54
54
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
55
55
 
56
56
  # @!attribute custom_fields
57
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
57
58
  #
58
59
  # @return [Hash{Symbol=>String}, nil]
59
60
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -93,11 +94,8 @@ module MetronomeSDK
93
94
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
94
95
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
95
96
  #
96
- # @return [Array<MetronomeSDK::Models::V1::Customers::CreditCreateParams::Specifier>, nil]
97
- optional :specifiers,
98
- -> {
99
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CreditCreateParams::Specifier]
100
- }
97
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
98
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
101
99
 
102
100
  # @!attribute uniqueness_key
103
101
  # Prevents the creation of duplicates. If a request to create a commit or credit
@@ -126,7 +124,7 @@ module MetronomeSDK
126
124
  #
127
125
  # @param applicable_product_tags [Array<String>] Which tags the credit applies to. If both applicable*product_ids and applicable*
128
126
  #
129
- # @param custom_fields [Hash{Symbol=>String}]
127
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
130
128
  #
131
129
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
132
130
  #
@@ -138,7 +136,7 @@ module MetronomeSDK
138
136
  #
139
137
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
140
138
  #
141
- # @param specifiers [Array<MetronomeSDK::Models::V1::Customers::CreditCreateParams::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
139
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
142
140
  #
143
141
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
144
142
  #
@@ -149,9 +147,7 @@ module MetronomeSDK
149
147
  #
150
148
  # @return [Array<MetronomeSDK::Models::V1::Customers::CreditCreateParams::AccessSchedule::ScheduleItem>]
151
149
  required :schedule_items,
152
- -> {
153
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CreditCreateParams::AccessSchedule::ScheduleItem]
154
- }
150
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CreditCreateParams::AccessSchedule::ScheduleItem] }
155
151
 
156
152
  # @!attribute credit_type_id
157
153
  # Defaults to USD (cents) if not passed
@@ -202,44 +198,6 @@ module MetronomeSDK
202
198
  # @!method self.values
203
199
  # @return [Array<Symbol>]
204
200
  end
205
-
206
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
207
- # @!attribute presentation_group_values
208
- #
209
- # @return [Hash{Symbol=>String}, nil]
210
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
211
-
212
- # @!attribute pricing_group_values
213
- #
214
- # @return [Hash{Symbol=>String}, nil]
215
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
216
-
217
- # @!attribute product_id
218
- # If provided, the specifier will only apply to the product with the specified ID.
219
- #
220
- # @return [String, nil]
221
- optional :product_id, String
222
-
223
- # @!attribute product_tags
224
- # If provided, the specifier will only apply to products with all the specified
225
- # tags.
226
- #
227
- # @return [Array<String>, nil]
228
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
229
-
230
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
231
- # Some parameter documentations has been truncated, see
232
- # {MetronomeSDK::Models::V1::Customers::CreditCreateParams::Specifier} for more
233
- # details.
234
- #
235
- # @param presentation_group_values [Hash{Symbol=>String}]
236
- #
237
- # @param pricing_group_values [Hash{Symbol=>String}]
238
- #
239
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
240
- #
241
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
242
- end
243
201
  end
244
202
  end
245
203
  end
@@ -4,6 +4,7 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  module Customers
7
+ # @see MetronomeSDK::Resources::V1::Customers::Alerts#list
7
8
  class CustomerAlert < MetronomeSDK::Internal::Type::BaseModel
8
9
  # @!attribute alert
9
10
  #
@@ -91,19 +92,14 @@ module MetronomeSDK
91
92
  #
92
93
  # @return [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::CustomFieldFilter>, nil]
93
94
  optional :custom_field_filters,
94
- -> {
95
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter]
96
- }
95
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter] }
97
96
 
98
97
  # @!attribute group_key_filter
99
98
  # Scopes alert evaluation to a specific presentation group key on individual line
100
99
  # items. Only present for spend alerts.
101
100
  #
102
101
  # @return [MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupKeyFilter, nil]
103
- optional :group_key_filter,
104
- -> {
105
- MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter
106
- }
102
+ optional :group_key_filter, -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter }
107
103
 
108
104
  # @!attribute group_values
109
105
  # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
@@ -111,9 +107,7 @@ module MetronomeSDK
111
107
  #
112
108
  # @return [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupValue>, nil]
113
109
  optional :group_values,
114
- -> {
115
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue]
116
- }
110
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue] }
117
111
 
118
112
  # @!attribute invoice_types_filter
119
113
  # Only supported for invoice_total_reached alerts. A list of invoice types to
@@ -206,9 +200,7 @@ module MetronomeSDK
206
200
  #
207
201
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity]
208
202
  required :entity,
209
- enum: -> {
210
- MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity
211
- }
203
+ enum: -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity }
212
204
 
213
205
  # @!attribute key
214
206
  #
@@ -266,10 +258,10 @@ module MetronomeSDK
266
258
 
267
259
  # @!attribute value
268
260
  #
269
- # @return [String]
270
- required :value, String
261
+ # @return [String, nil]
262
+ optional :value, String
271
263
 
272
- # @!method initialize(key:, value:)
264
+ # @!method initialize(key:, value: nil)
273
265
  # @param key [String]
274
266
  # @param value [String]
275
267
  end
@@ -25,9 +25,7 @@ module MetronomeSDK
25
25
  #
26
26
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem>]
27
27
  required :line_items,
28
- -> {
29
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem]
30
- }
28
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem] }
31
29
 
32
30
  # @!attribute status
33
31
  #
@@ -56,6 +54,7 @@ module MetronomeSDK
56
54
  optional :billable_status, enum: -> { MetronomeSDK::V1::Customers::Invoice::BillableStatus }
57
55
 
58
56
  # @!attribute contract_custom_fields
57
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
59
58
  #
60
59
  # @return [Hash{Symbol=>String}, nil]
61
60
  optional :contract_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -83,6 +82,7 @@ module MetronomeSDK
83
82
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
84
83
 
85
84
  # @!attribute customer_custom_fields
85
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
86
86
  #
87
87
  # @return [Hash{Symbol=>String}, nil]
88
88
  optional :customer_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -102,9 +102,7 @@ module MetronomeSDK
102
102
  #
103
103
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::InvoiceAdjustment>, nil]
104
104
  optional :invoice_adjustments,
105
- -> {
106
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::InvoiceAdjustment]
107
- }
105
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::InvoiceAdjustment] }
108
106
 
109
107
  # @!attribute issued_at
110
108
  # When the invoice was issued (UTC)
@@ -124,6 +122,7 @@ module MetronomeSDK
124
122
  optional :netsuite_sales_order_id, String
125
123
 
126
124
  # @!attribute plan_custom_fields
125
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
127
126
  #
128
127
  # @return [Hash{Symbol=>String}, nil]
129
128
  optional :plan_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -183,7 +182,7 @@ module MetronomeSDK
183
182
  #
184
183
  # @param billable_status [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::BillableStatus] This field's availability is dependent on your client's configuration.
185
184
  #
186
- # @param contract_custom_fields [Hash{Symbol=>String}]
185
+ # @param contract_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
187
186
  #
188
187
  # @param contract_id [String]
189
188
  #
@@ -193,7 +192,7 @@ module MetronomeSDK
193
192
  #
194
193
  # @param custom_fields [Hash{Symbol=>Object}]
195
194
  #
196
- # @param customer_custom_fields [Hash{Symbol=>String}]
195
+ # @param customer_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
197
196
  #
198
197
  # @param end_timestamp [Time] End of the usage period this invoice covers (UTC)
199
198
  #
@@ -207,7 +206,7 @@ module MetronomeSDK
207
206
  #
208
207
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
209
208
  #
210
- # @param plan_custom_fields [Hash{Symbol=>String}]
209
+ # @param plan_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
211
210
  #
212
211
  # @param plan_id [String]
213
212
  #
@@ -237,6 +236,34 @@ module MetronomeSDK
237
236
  # @return [Float]
238
237
  required :total, Float
239
238
 
239
+ # @!attribute type
240
+ # The type of line item.
241
+ #
242
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
243
+ # scheduled_charge_id on the line item.
244
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
245
+ # commit. View the commit_id on the line item.
246
+ # - `usage`: Line item is associated with a usage product or composite product.
247
+ # View the product_id on the line item to determine which product.
248
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
249
+ # recurring payment for an in-advance subscription.
250
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
251
+ # are associated with their own line items. These line items have negative
252
+ # totals. Use the applied_commit_or_credit object on the line item to understand
253
+ # the id of the applied commit or credit, and its type. Note that the
254
+ # application of a postpaid commit is associated with a line item, but the total
255
+ # on the line item is not included in the invoice's total as postpaid commits
256
+ # are paid in-arrears.
257
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
258
+ # currency, using the conversion rate set on the rate card. This line item will
259
+ # appear when there are products priced in custom pricing units, and there is
260
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
261
+ # the spend. Then, the outstanding spend in custom pricing units will be
262
+ # converted to fiat currency using a cpu_conversion line item.
263
+ #
264
+ # @return [String]
265
+ required :type, String
266
+
240
267
  # @!attribute applied_commit_or_credit
241
268
  # Details about the credit or commit that was applied to this line item. Only
242
269
  # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
@@ -247,6 +274,7 @@ module MetronomeSDK
247
274
  -> { MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit }
248
275
 
249
276
  # @!attribute commit_custom_fields
277
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
250
278
  #
251
279
  # @return [Hash{Symbol=>String}, nil]
252
280
  optional :commit_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -283,11 +311,13 @@ module MetronomeSDK
283
311
  optional :commit_type, String
284
312
 
285
313
  # @!attribute custom_fields
314
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
286
315
  #
287
316
  # @return [Hash{Symbol=>String}, nil]
288
317
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
289
318
 
290
319
  # @!attribute discount_custom_fields
320
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
291
321
  #
292
322
  # @return [Hash{Symbol=>String}, nil]
293
323
  optional :discount_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -371,6 +401,7 @@ module MetronomeSDK
371
401
  optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
372
402
 
373
403
  # @!attribute product_custom_fields
404
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
374
405
  #
375
406
  # @return [Hash{Symbol=>String}, nil]
376
407
  optional :product_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -398,6 +429,7 @@ module MetronomeSDK
398
429
  optional :product_type, String
399
430
 
400
431
  # @!attribute professional_service_custom_fields
432
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
401
433
  #
402
434
  # @return [Hash{Symbol=>String}, nil]
403
435
  optional :professional_service_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -419,6 +451,7 @@ module MetronomeSDK
419
451
  optional :reseller_type, enum: -> { MetronomeSDK::V1::Customers::Invoice::LineItem::ResellerType }
420
452
 
421
453
  # @!attribute scheduled_charge_custom_fields
454
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
422
455
  #
423
456
  # @return [Hash{Symbol=>String}, nil]
424
457
  optional :scheduled_charge_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -439,11 +472,10 @@ module MetronomeSDK
439
472
  #
440
473
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem>, nil]
441
474
  optional :sub_line_items,
442
- -> {
443
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem]
444
- }
475
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem] }
445
476
 
446
477
  # @!attribute subscription_custom_fields
478
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
447
479
  #
448
480
  # @return [Hash{Symbol=>String}, nil]
449
481
  optional :subscription_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -460,7 +492,7 @@ module MetronomeSDK
460
492
  # @return [Float, nil]
461
493
  optional :unit_price, Float
462
494
 
463
- # @!method initialize(credit_type:, name:, total:, applied_commit_or_credit: nil, commit_custom_fields: nil, commit_id: nil, commit_netsuite_item_id: nil, commit_netsuite_sales_order_id: nil, commit_segment_id: nil, commit_type: nil, custom_fields: nil, discount_custom_fields: nil, discount_id: nil, ending_before: nil, group_key: nil, group_value: nil, is_prorated: nil, list_price: nil, metadata: nil, netsuite_invoice_billing_end: nil, netsuite_invoice_billing_start: nil, netsuite_item_id: nil, postpaid_commit: nil, presentation_group_values: nil, pricing_group_values: nil, product_custom_fields: nil, product_id: nil, product_tags: nil, product_type: nil, professional_service_custom_fields: nil, professional_service_id: nil, quantity: nil, reseller_type: nil, scheduled_charge_custom_fields: nil, scheduled_charge_id: nil, starting_at: nil, sub_line_items: nil, subscription_custom_fields: nil, tier: nil, unit_price: nil)
495
+ # @!method initialize(credit_type:, name:, total:, type:, applied_commit_or_credit: nil, commit_custom_fields: nil, commit_id: nil, commit_netsuite_item_id: nil, commit_netsuite_sales_order_id: nil, commit_segment_id: nil, commit_type: nil, custom_fields: nil, discount_custom_fields: nil, discount_id: nil, ending_before: nil, group_key: nil, group_value: nil, is_prorated: nil, list_price: nil, metadata: nil, netsuite_invoice_billing_end: nil, netsuite_invoice_billing_start: nil, netsuite_item_id: nil, postpaid_commit: nil, presentation_group_values: nil, pricing_group_values: nil, product_custom_fields: nil, product_id: nil, product_tags: nil, product_type: nil, professional_service_custom_fields: nil, professional_service_id: nil, quantity: nil, reseller_type: nil, scheduled_charge_custom_fields: nil, scheduled_charge_id: nil, starting_at: nil, sub_line_items: nil, subscription_custom_fields: nil, tier: nil, unit_price: nil)
464
496
  # Some parameter documentations has been truncated, see
465
497
  # {MetronomeSDK::Models::V1::Customers::Invoice::LineItem} for more details.
466
498
  #
@@ -470,9 +502,11 @@ module MetronomeSDK
470
502
  #
471
503
  # @param total [Float]
472
504
  #
505
+ # @param type [String] The type of line item.
506
+ #
473
507
  # @param applied_commit_or_credit [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit] Details about the credit or commit that was applied to this line item. Only pres
474
508
  #
475
- # @param commit_custom_fields [Hash{Symbol=>String}]
509
+ # @param commit_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
476
510
  #
477
511
  # @param commit_id [String] For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types, th
478
512
  #
@@ -484,9 +518,9 @@ module MetronomeSDK
484
518
  #
485
519
  # @param commit_type [String] `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit` (f
486
520
  #
487
- # @param custom_fields [Hash{Symbol=>String}]
521
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
488
522
  #
489
- # @param discount_custom_fields [Hash{Symbol=>String}]
523
+ # @param discount_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
490
524
  #
491
525
  # @param discount_id [String] ID of the discount applied to this line item.
492
526
  #
@@ -514,7 +548,7 @@ module MetronomeSDK
514
548
  #
515
549
  # @param pricing_group_values [Hash{Symbol=>String}] Includes the pricing group values associated with this line item if dimensional
516
550
  #
517
- # @param product_custom_fields [Hash{Symbol=>String}]
551
+ # @param product_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
518
552
  #
519
553
  # @param product_id [String] ID of the product associated with the line item.
520
554
  #
@@ -522,7 +556,7 @@ module MetronomeSDK
522
556
  #
523
557
  # @param product_type [String] The type of the line item's product. Possible values are `FixedProductListItem`
524
558
  #
525
- # @param professional_service_custom_fields [Hash{Symbol=>String}]
559
+ # @param professional_service_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
526
560
  #
527
561
  # @param professional_service_id [String]
528
562
  #
@@ -530,7 +564,7 @@ module MetronomeSDK
530
564
  #
531
565
  # @param reseller_type [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::LineItem::ResellerType]
532
566
  #
533
- # @param scheduled_charge_custom_fields [Hash{Symbol=>String}]
567
+ # @param scheduled_charge_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
534
568
  #
535
569
  # @param scheduled_charge_id [String] ID of scheduled charge.
536
570
  #
@@ -538,7 +572,7 @@ module MetronomeSDK
538
572
  #
539
573
  # @param sub_line_items [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem>]
540
574
  #
541
- # @param subscription_custom_fields [Hash{Symbol=>String}]
575
+ # @param subscription_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
542
576
  #
543
577
  # @param tier [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::Tier] Populated if the line item has a tiered price.
544
578
  #
@@ -554,10 +588,7 @@ module MetronomeSDK
554
588
  # @!attribute type
555
589
  #
556
590
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::Type]
557
- required :type,
558
- enum: -> {
559
- MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::Type
560
- }
591
+ required :type, enum: -> { MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::Type }
561
592
 
562
593
  # @!method initialize(id:, type:)
563
594
  # Details about the credit or commit that was applied to this line item. Only
@@ -608,6 +639,7 @@ module MetronomeSDK
608
639
 
609
640
  class SubLineItem < MetronomeSDK::Internal::Type::BaseModel
610
641
  # @!attribute custom_fields
642
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
611
643
  #
612
644
  # @return [Hash{Symbol=>String}]
613
645
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -660,25 +692,20 @@ module MetronomeSDK
660
692
  # when the current tier started and ends (for tiered charges only)
661
693
  #
662
694
  # @return [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem::TierPeriod, nil]
663
- optional :tier_period,
664
- -> {
665
- MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::TierPeriod
666
- }
695
+ optional :tier_period, -> { MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::TierPeriod }
667
696
 
668
697
  # @!attribute tiers
669
698
  #
670
699
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem::Tier>, nil]
671
700
  optional :tiers,
672
- -> {
673
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::Tier]
674
- }
701
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::Tier] }
675
702
 
676
703
  # @!method initialize(custom_fields:, name:, quantity:, subtotal:, charge_id: nil, credit_grant_id: nil, end_date: nil, price: nil, start_date: nil, tier_period: nil, tiers: nil)
677
704
  # Some parameter documentations has been truncated, see
678
705
  # {MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem} for more
679
706
  # details.
680
707
  #
681
- # @param custom_fields [Hash{Symbol=>String}]
708
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
682
709
  #
683
710
  # @param name [String]
684
711
  #
@@ -826,17 +853,13 @@ module MetronomeSDK
826
853
  #
827
854
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType]
828
855
  required :billing_provider_type,
829
- enum: -> {
830
- MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType
831
- }
856
+ enum: -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType }
832
857
 
833
858
  # @!attribute external_status
834
859
  #
835
860
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus, nil]
836
861
  optional :external_status,
837
- enum: -> {
838
- MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus
839
- }
862
+ enum: -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus }
840
863
 
841
864
  # @!attribute invoice_id
842
865
  #
@@ -978,6 +1001,7 @@ module MetronomeSDK
978
1001
  required :total, Float
979
1002
 
980
1003
  # @!attribute credit_grant_custom_fields
1004
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
981
1005
  #
982
1006
  # @return [Hash{Symbol=>String}, nil]
983
1007
  optional :credit_grant_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -989,9 +1013,13 @@ module MetronomeSDK
989
1013
 
990
1014
  # @!method initialize(credit_type:, name:, total:, credit_grant_custom_fields: nil, credit_grant_id: nil)
991
1015
  # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1016
+ #
992
1017
  # @param name [String]
1018
+ #
993
1019
  # @param total [Float]
994
- # @param credit_grant_custom_fields [Hash{Symbol=>String}]
1020
+ #
1021
+ # @param credit_grant_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1022
+ #
995
1023
  # @param credit_grant_id [String]
996
1024
  end
997
1025
 
@@ -1010,10 +1038,7 @@ module MetronomeSDK
1010
1038
  # @!attribute reseller_type
1011
1039
  #
1012
1040
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ResellerRoyalty::ResellerType]
1013
- required :reseller_type,
1014
- enum: -> {
1015
- MetronomeSDK::V1::Customers::Invoice::ResellerRoyalty::ResellerType
1016
- }
1041
+ required :reseller_type, enum: -> { MetronomeSDK::V1::Customers::Invoice::ResellerRoyalty::ResellerType }
1017
1042
 
1018
1043
  # @!attribute aws_options
1019
1044
  #
@@ -72,10 +72,7 @@ module MetronomeSDK
72
72
  # The granularity of the breakdowns to return. Defaults to day.
73
73
  #
74
74
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::InvoiceListBreakdownsParams::WindowSize, nil]
75
- optional :window_size,
76
- enum: -> {
77
- MetronomeSDK::V1::Customers::InvoiceListBreakdownsParams::WindowSize
78
- }
75
+ optional :window_size, enum: -> { MetronomeSDK::V1::Customers::InvoiceListBreakdownsParams::WindowSize }
79
76
 
80
77
  # @!method initialize(customer_id:, ending_before:, starting_on:, credit_type_id: nil, limit: nil, next_page: nil, skip_zero_qty_line_items: nil, sort: nil, status: nil, window_size: nil, request_options: {})
81
78
  # Some parameter documentations has been truncated, see
@@ -46,9 +46,7 @@ module MetronomeSDK
46
46
  #
47
47
  # @return [Array<MetronomeSDK::Models::V1::Customers::PlanAddParams::OverageRateAdjustment>, nil]
48
48
  optional :overage_rate_adjustments,
49
- -> {
50
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::OverageRateAdjustment]
51
- }
49
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::OverageRateAdjustment] }
52
50
 
53
51
  # @!attribute price_adjustments
54
52
  # A list of price adjustments can be applied on top of the pricing in the plans.
@@ -58,9 +56,7 @@ module MetronomeSDK
58
56
  #
59
57
  # @return [Array<MetronomeSDK::Models::V1::Customers::PlanAddParams::PriceAdjustment>, nil]
60
58
  optional :price_adjustments,
61
- -> {
62
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::PriceAdjustment]
63
- }
59
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::PriceAdjustment] }
64
60
 
65
61
  # @!attribute trial_spec
66
62
  # A custom trial can be set for the customer's plan. See the
@@ -13,6 +13,7 @@ module MetronomeSDK
13
13
  required :id, String
14
14
 
15
15
  # @!attribute custom_fields
16
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
16
17
  #
17
18
  # @return [Hash{Symbol=>String}]
18
19
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -56,7 +57,7 @@ module MetronomeSDK
56
57
  # @!method initialize(id:, custom_fields:, plan_description:, plan_id:, plan_name:, starting_on:, ending_before: nil, net_payment_terms_days: nil, trial_info: nil)
57
58
  # @param id [String] the ID of the customer plan
58
59
  #
59
- # @param custom_fields [Hash{Symbol=>String}]
60
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
60
61
  #
61
62
  # @param plan_description [String]
62
63
  #
@@ -24,27 +24,21 @@ module MetronomeSDK
24
24
  #
25
25
  # @return [Array<MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::BmGroupKeyOverride>, nil]
26
26
  optional :bm_group_key_overrides,
27
- -> {
28
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::BmGroupKeyOverride]
29
- }
27
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::BmGroupKeyOverride] }
30
28
 
31
29
  # @!attribute color_overrides
32
30
  # Optional list of colors to override
33
31
  #
34
32
  # @return [Array<MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::ColorOverride>, nil]
35
33
  optional :color_overrides,
36
- -> {
37
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride]
38
- }
34
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride] }
39
35
 
40
36
  # @!attribute dashboard_options
41
37
  # Optional dashboard specific options
42
38
  #
43
39
  # @return [Array<MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::DashboardOption>, nil]
44
40
  optional :dashboard_options,
45
- -> {
46
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption]
47
- }
41
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption] }
48
42
 
49
43
  # @!method initialize(customer_id:, dashboard:, bm_group_key_overrides: nil, color_overrides: nil, dashboard_options: nil, request_options: {})
50
44
  # @param customer_id [String]
@@ -90,8 +84,7 @@ module MetronomeSDK
90
84
  # names. e.g. {"a": "Asia", "b": "Euro"}
91
85
  #
92
86
  # @return [Hash{Symbol=>Object}, nil]
93
- optional :value_display_names,
94
- MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
87
+ optional :value_display_names, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
95
88
 
96
89
  # @!method initialize(group_key_name:, display_name: nil, value_display_names: nil)
97
90
  # Some parameter documentations has been truncated, see
@@ -10,6 +10,7 @@ module MetronomeSDK
10
10
  required :id, String
11
11
 
12
12
  # @!attribute custom_fields
13
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
13
14
  #
14
15
  # @return [Hash{Symbol=>String}]
15
16
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -33,10 +34,7 @@ module MetronomeSDK
33
34
  # @!attribute minimums
34
35
  #
35
36
  # @return [Array<MetronomeSDK::Models::V1::PlanDetail::Minimum>, nil]
36
- optional :minimums,
37
- -> {
38
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PlanDetail::Minimum]
39
- }
37
+ optional :minimums, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::PlanDetail::Minimum] }
40
38
 
41
39
  # @!attribute overage_rates
42
40
  #
@@ -46,11 +44,17 @@ module MetronomeSDK
46
44
 
47
45
  # @!method initialize(id:, custom_fields:, name:, credit_grants: nil, description: nil, minimums: nil, overage_rates: nil)
48
46
  # @param id [String]
49
- # @param custom_fields [Hash{Symbol=>String}]
47
+ #
48
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
49
+ #
50
50
  # @param name [String]
51
+ #
51
52
  # @param credit_grants [Array<MetronomeSDK::Models::V1::PlanDetail::CreditGrant>]
53
+ #
52
54
  # @param description [String]
55
+ #
53
56
  # @param minimums [Array<MetronomeSDK::Models::V1::PlanDetail::Minimum>]
57
+ #
54
58
  # @param overage_rates [Array<MetronomeSDK::Models::V1::PlanDetail::OverageRate>]
55
59
 
56
60
  class CreditGrant < MetronomeSDK::Internal::Type::BaseModel
@@ -21,6 +21,7 @@ module MetronomeSDK
21
21
  required :credit_type, -> { MetronomeSDK::CreditTypeData }
22
22
 
23
23
  # @!attribute custom_fields
24
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
24
25
  #
25
26
  # @return [Hash{Symbol=>String}]
26
27
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -81,7 +82,7 @@ module MetronomeSDK
81
82
  #
82
83
  # @param credit_type [MetronomeSDK::Models::CreditTypeData]
83
84
  #
84
- # @param custom_fields [Hash{Symbol=>String}]
85
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
85
86
  #
86
87
  # @param name [String]
87
88
  #