metronome-sdk 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.3

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 (723) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +97 -0
  3. data/README.md +138 -81
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +1 -1
  7. data/lib/metronome_sdk/file_part.rb +2 -2
  8. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/metronome_sdk/internal/type/array_of.rb +9 -1
  12. data/lib/metronome_sdk/internal/type/base_model.rb +76 -39
  13. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  14. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  15. data/lib/metronome_sdk/internal/type/enum.rb +13 -0
  16. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  17. data/lib/metronome_sdk/internal/type/hash_of.rb +9 -1
  18. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  19. data/lib/metronome_sdk/internal/type/union.rb +13 -0
  20. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  21. data/lib/metronome_sdk/internal/util.rb +131 -6
  22. data/lib/metronome_sdk/internal.rb +9 -0
  23. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  24. data/lib/metronome_sdk/models/v1/alert_create_params.rb +8 -16
  25. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  26. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +1 -4
  27. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  28. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +86 -12
  30. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  31. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +84 -10
  32. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -10
  33. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  34. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +241 -98
  35. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  36. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  37. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  38. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +15 -9
  39. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  40. data/lib/metronome_sdk/models/v1/contract_create_params.rb +933 -402
  41. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  42. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  43. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1645 -5
  44. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +11371 -152
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +32 -7
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -11
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +11400 -152
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  52. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +3 -3
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  55. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  56. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  57. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +98 -13
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -16
  63. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +561 -16
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -18
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +24 -0
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +31 -0
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +6 -4
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +32 -6
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -8
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +3 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +3 -1
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +83 -18
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +74 -17
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -15
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +32 -6
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -8
  89. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +81 -15
  90. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  91. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  93. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -15
  94. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  95. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -18
  96. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  97. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +1 -1
  98. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +1 -1
  99. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +3 -1
  100. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +1 -1
  102. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  103. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  104. data/lib/metronome_sdk/models/v1/customer_create_params.rb +13 -12
  105. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  106. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  107. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +85 -10
  108. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  109. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -17
  110. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  111. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  112. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  113. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -2
  115. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -3
  116. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  117. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  118. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +3 -5
  119. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -1
  120. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -1
  121. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  122. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +72 -27
  123. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  124. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  125. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  126. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  127. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  128. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +58 -9
  129. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  130. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  132. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  133. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  134. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  135. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -6
  136. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  137. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +1 -4
  138. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +321 -117
  139. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  140. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  141. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  142. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +9 -14
  143. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  144. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  145. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  146. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +11 -7
  147. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  148. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -6
  149. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  150. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  151. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +3 -1
  152. data/lib/metronome_sdk/models/v1/usage_list_params.rb +5 -7
  153. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  154. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +2 -5
  155. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +73 -11
  156. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  157. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +63 -7
  158. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  159. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1751 -462
  160. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  161. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -142
  162. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  163. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1485 -342
  164. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  165. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1482 -336
  166. data/lib/metronome_sdk/models.rb +45 -0
  167. data/lib/metronome_sdk/request_options.rb +4 -0
  168. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -12
  169. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -4
  170. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +6 -10
  171. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  172. data/lib/metronome_sdk/resources/v1/contracts/products.rb +13 -28
  173. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  174. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +2 -4
  175. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -13
  176. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +26 -11
  177. data/lib/metronome_sdk/resources/v1/contracts.rb +43 -35
  178. data/lib/metronome_sdk/resources/v1/credit_grants.rb +6 -18
  179. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  180. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +9 -5
  181. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +3 -4
  182. data/lib/metronome_sdk/resources/v1/customers/commits.rb +6 -17
  183. data/lib/metronome_sdk/resources/v1/customers/credits.rb +6 -12
  184. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +6 -18
  185. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  186. data/lib/metronome_sdk/resources/v1/customers/plans.rb +4 -14
  187. data/lib/metronome_sdk/resources/v1/customers.rb +13 -19
  188. data/lib/metronome_sdk/resources/v1/dashboards.rb +1 -1
  189. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  190. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  191. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  192. data/lib/metronome_sdk/resources/v1/usage.rb +3 -8
  193. data/lib/metronome_sdk/resources/v2/contracts.rb +32 -20
  194. data/lib/metronome_sdk/version.rb +1 -1
  195. data/lib/metronome_sdk.rb +12 -28
  196. data/rbi/metronome_sdk/client.rbi +5 -4
  197. data/rbi/metronome_sdk/errors.rbi +34 -15
  198. data/rbi/metronome_sdk/file_part.rbi +9 -6
  199. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  200. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  201. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +33 -13
  202. data/rbi/metronome_sdk/internal/type/array_of.rbi +40 -24
  203. data/rbi/metronome_sdk/internal/type/base_model.rbi +160 -70
  204. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  205. data/rbi/metronome_sdk/internal/type/boolean.rbi +22 -14
  206. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  207. data/rbi/metronome_sdk/internal/type/enum.rbi +29 -13
  208. data/rbi/metronome_sdk/internal/type/file_input.rbi +13 -4
  209. data/rbi/metronome_sdk/internal/type/hash_of.rbi +40 -24
  210. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  211. data/rbi/metronome_sdk/internal/type/union.rbi +58 -22
  212. data/rbi/metronome_sdk/internal/type/unknown.rbi +22 -6
  213. data/rbi/metronome_sdk/internal/util.rbi +272 -89
  214. data/rbi/metronome_sdk/internal.rbi +7 -0
  215. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  216. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +49 -6
  217. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +175 -81
  218. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +49 -6
  219. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  220. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  221. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +25 -6
  222. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +56 -6
  223. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +253 -41
  224. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +55 -6
  225. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  226. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +253 -41
  227. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  228. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +264 -50
  229. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  230. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1808 -784
  231. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +49 -6
  232. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  233. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +51 -6
  234. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  235. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2611 -6
  236. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +4937 -2578
  237. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +49 -6
  238. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  239. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3411 -15
  240. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  241. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +24250 -325
  242. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  243. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +143 -45
  244. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +804 -74
  245. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +24250 -337
  246. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  247. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  248. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  249. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2611 -6
  250. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  251. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  252. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +56 -6
  253. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  254. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  255. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  256. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  257. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +58 -6
  258. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +308 -46
  259. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +58 -6
  260. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +66 -28
  261. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1247 -90
  262. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +25 -6
  263. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1278 -116
  264. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +257 -33
  265. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +58 -6
  266. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +42 -0
  267. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +75 -0
  268. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  269. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +58 -6
  270. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  271. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +182 -55
  272. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +25 -6
  273. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +138 -44
  274. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +509 -71
  275. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +213 -81
  276. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  277. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +58 -6
  278. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  279. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  280. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  281. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  282. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +58 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  284. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +58 -6
  285. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +323 -98
  286. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +60 -6
  287. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +310 -78
  288. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +277 -81
  289. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +144 -44
  290. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +482 -51
  291. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +303 -80
  292. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +53 -6
  293. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  294. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +51 -6
  295. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  296. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +383 -77
  297. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  298. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +436 -72
  299. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  300. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +51 -6
  301. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  302. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  303. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  304. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  305. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  306. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  307. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +25 -6
  308. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +51 -6
  309. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  310. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +96 -7
  311. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  312. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +237 -44
  313. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  314. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  315. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  316. data/rbi/metronome_sdk/models/v1/customer_list_response.rbi +242 -0
  317. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  318. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +267 -7
  319. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  320. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  321. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +98 -7
  322. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  323. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  324. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +641 -9
  325. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  326. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  327. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +642 -8
  328. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  329. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  330. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  331. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  332. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +429 -171
  333. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +58 -6
  334. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  335. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2183 -6
  336. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  337. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +58 -6
  338. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +250 -66
  339. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +58 -6
  340. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  341. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1243 -6
  342. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  343. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +58 -6
  344. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  345. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  346. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  347. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2579 -5
  348. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  349. data/rbi/metronome_sdk/models/v1/customers/invoice_list_response.rbi +2587 -0
  350. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2628 -7
  352. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  353. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  354. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  355. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  356. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +55 -6
  357. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  358. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  359. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  360. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  361. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  362. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +133 -50
  363. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  364. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  365. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  366. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  367. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  368. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  369. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  370. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +572 -7
  371. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  372. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +200 -76
  373. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  374. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +300 -32
  375. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  376. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  377. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  378. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  379. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  380. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  381. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  382. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  383. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  384. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  385. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  386. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +425 -169
  387. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +53 -6
  388. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +274 -89
  389. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +53 -6
  390. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +6953 -2830
  391. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +49 -6
  392. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  393. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +8529 -3060
  394. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  395. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +7013 -3240
  396. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  397. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +7017 -3332
  398. data/rbi/metronome_sdk/models.rbi +7 -0
  399. data/rbi/metronome_sdk/request_options.rbi +18 -7
  400. data/rbi/metronome_sdk/resources/v1/alerts.rbi +25 -13
  401. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  402. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +35 -17
  403. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  404. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +61 -23
  405. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  406. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  407. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +45 -31
  408. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  409. data/rbi/metronome_sdk/resources/v1/contracts.rbi +170 -105
  410. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  411. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  412. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  413. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  414. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +35 -22
  415. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +31 -17
  416. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  417. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  418. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  419. data/rbi/metronome_sdk/resources/v1/customers.rbi +69 -39
  420. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  421. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  422. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  423. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  424. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  425. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  426. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  427. data/rbi/metronome_sdk/resources/v2/contracts.rbi +167 -69
  428. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  429. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  430. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -0
  431. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  432. data/sig/metronome_sdk/internal/type/base_model.rbs +13 -5
  433. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  434. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  435. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  436. data/sig/metronome_sdk/internal/type/enum.rbs +3 -0
  437. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  438. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  439. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  440. data/sig/metronome_sdk/internal/type/union.rbs +3 -0
  441. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  442. data/sig/metronome_sdk/internal/util.rbs +27 -0
  443. data/sig/metronome_sdk/internal.rbs +4 -0
  444. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +5 -1
  445. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +19 -4
  446. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +32 -13
  447. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +19 -4
  448. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +10 -1
  449. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +13 -3
  450. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +12 -4
  451. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +19 -4
  452. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +82 -11
  453. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +19 -4
  454. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +6 -1
  455. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +83 -11
  456. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +4 -1
  457. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +86 -12
  458. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +10 -1
  459. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +481 -160
  460. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +19 -4
  461. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +6 -1
  462. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +19 -4
  463. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +42 -15
  464. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1291 -4
  465. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1196 -401
  466. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +19 -4
  467. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +13 -1
  468. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -3
  469. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +9 -1
  470. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +11114 -146
  471. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +7 -1
  472. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +42 -7
  473. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +312 -16
  474. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +11114 -146
  475. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  476. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  477. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +22 -5
  478. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1291 -4
  479. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +8 -1
  480. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +7 -1
  481. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +18 -4
  482. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +6 -1
  483. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +8 -2
  484. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +8 -1
  485. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +4 -1
  486. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +21 -4
  487. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +97 -7
  488. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +21 -4
  489. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +6 -1
  490. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +489 -14
  491. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +12 -4
  492. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +492 -15
  493. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +98 -7
  494. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +21 -4
  495. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +27 -0
  496. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +34 -0
  497. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +28 -13
  498. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +21 -4
  499. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +6 -1
  500. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +52 -11
  501. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +12 -4
  502. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +41 -7
  503. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +185 -11
  504. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +55 -12
  505. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +17 -7
  506. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +21 -4
  507. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +7 -1
  508. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +8 -2
  509. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +9 -1
  510. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +5 -1
  511. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +21 -4
  512. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +9 -5
  513. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -4
  514. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +94 -21
  515. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +21 -4
  516. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +88 -17
  517. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +75 -18
  518. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +41 -7
  519. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +181 -10
  520. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +102 -18
  521. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +19 -4
  522. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +7 -1
  523. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +19 -4
  524. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +8 -1
  525. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +140 -14
  526. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +10 -1
  527. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +169 -17
  528. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +6 -1
  529. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +19 -4
  530. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +6 -1
  531. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +6 -1
  532. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +5 -1
  533. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +9 -2
  534. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +5 -1
  535. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +6 -1
  536. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +12 -4
  537. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +19 -4
  538. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +33 -13
  539. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +47 -4
  540. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +8 -1
  541. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +87 -11
  542. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +8 -1
  543. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +16 -3
  544. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +9 -1
  545. data/sig/metronome_sdk/models/v1/{customer_detail.rbs → customer_list_response.rbs} +30 -17
  546. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +4 -1
  547. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +112 -4
  548. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +5 -1
  549. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +5 -1
  550. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +47 -4
  551. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +6 -1
  552. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -1
  553. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +246 -4
  554. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +5 -1
  555. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +29 -2
  556. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +247 -4
  557. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +9 -1
  558. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +5 -1
  559. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +5 -1
  560. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -2
  561. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +123 -27
  562. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +21 -4
  563. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +13 -1
  564. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1060 -4
  565. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +7 -1
  566. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +20 -4
  567. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +85 -9
  568. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +21 -4
  569. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +13 -1
  570. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +599 -4
  571. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +6 -1
  572. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +20 -4
  573. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +10 -1
  574. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +1 -1
  575. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +13 -1
  576. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1281 -8
  577. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +12 -1
  578. data/sig/metronome_sdk/models/v1/customers/{invoice.rbs → invoice_list_response.rbs} +432 -137
  579. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +6 -1
  580. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1292 -4
  581. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +6 -1
  582. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +8 -2
  583. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +8 -1
  584. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +49 -25
  585. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +19 -4
  586. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +8 -1
  587. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +1 -1
  588. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +6 -1
  589. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +7 -1
  590. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +12 -2
  591. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +35 -6
  592. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +33 -19
  593. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +4 -2
  594. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +4 -1
  595. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +4 -2
  596. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +4 -1
  597. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +4 -2
  598. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +4 -1
  599. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +266 -4
  600. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +6 -1
  601. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +40 -6
  602. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +7 -1
  603. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +119 -5
  604. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +5 -1
  605. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +6 -1
  606. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +5 -1
  607. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +1 -1
  608. data/sig/metronome_sdk/models/v1/service_list_params.rbs +1 -1
  609. data/sig/metronome_sdk/models/v1/service_list_response.rbs +8 -2
  610. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +16 -7
  611. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +24 -13
  612. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +13 -2
  613. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +18 -7
  614. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +7 -1
  615. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +141 -50
  616. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +19 -4
  617. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +100 -26
  618. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +19 -4
  619. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1888 -430
  620. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +19 -4
  621. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +5 -1
  622. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2826 -521
  623. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +9 -1
  624. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1849 -334
  625. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +8 -1
  626. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1849 -334
  627. data/sig/metronome_sdk/models.rbs +5 -0
  628. data/sig/metronome_sdk/request_options.rbs +1 -1
  629. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  630. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  631. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  632. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  633. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +5 -4
  634. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  635. data/sig/metronome_sdk/resources/v1/contracts.rbs +33 -25
  636. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  637. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  638. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +3 -2
  639. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -1
  640. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  641. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  642. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  643. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  644. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  645. data/sig/metronome_sdk/resources/v2/contracts.rbs +31 -21
  646. metadata +25 -85
  647. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  648. data/lib/metronome_sdk/models/commit.rb +0 -848
  649. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1431
  650. data/lib/metronome_sdk/models/credit.rb +0 -476
  651. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  652. data/lib/metronome_sdk/models/discount.rb +0 -68
  653. data/lib/metronome_sdk/models/event_type_filter.rb +0 -35
  654. data/lib/metronome_sdk/models/id.rb +0 -15
  655. data/lib/metronome_sdk/models/override.rb +0 -368
  656. data/lib/metronome_sdk/models/pro_service.rb +0 -75
  657. data/lib/metronome_sdk/models/property_filter.rb +0 -55
  658. data/lib/metronome_sdk/models/rate.rb +0 -106
  659. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  660. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  661. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  662. data/lib/metronome_sdk/models/tier.rb +0 -21
  663. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -152
  664. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  665. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -43
  666. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -71
  667. data/lib/metronome_sdk/models/v1/customer.rb +0 -55
  668. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -269
  669. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  670. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  671. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  672. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -27
  673. data/rbi/metronome_sdk/models/commit.rbi +0 -1283
  674. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2407
  675. data/rbi/metronome_sdk/models/credit.rbi +0 -697
  676. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -19
  677. data/rbi/metronome_sdk/models/discount.rbi +0 -90
  678. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -40
  679. data/rbi/metronome_sdk/models/id.rbi +0 -16
  680. data/rbi/metronome_sdk/models/override.rbi +0 -503
  681. data/rbi/metronome_sdk/models/pro_service.rbi +0 -92
  682. data/rbi/metronome_sdk/models/property_filter.rbi +0 -75
  683. data/rbi/metronome_sdk/models/rate.rbi +0 -143
  684. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -58
  685. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -92
  686. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -104
  687. data/rbi/metronome_sdk/models/tier.rbi +0 -22
  688. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -214
  689. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -80
  690. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -62
  691. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -81
  692. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -68
  693. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +0 -175
  694. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -445
  695. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +0 -1756
  696. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -303
  697. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -43
  698. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -48
  699. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -24
  700. data/sig/metronome_sdk/models/commit.rbs +0 -750
  701. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1122
  702. data/sig/metronome_sdk/models/credit.rbs +0 -415
  703. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -15
  704. data/sig/metronome_sdk/models/discount.rbs +0 -56
  705. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -23
  706. data/sig/metronome_sdk/models/id.rbs +0 -13
  707. data/sig/metronome_sdk/models/override.rbs +0 -343
  708. data/sig/metronome_sdk/models/pro_service.rbs +0 -52
  709. data/sig/metronome_sdk/models/property_filter.rbs +0 -36
  710. data/sig/metronome_sdk/models/rate.rbs +0 -86
  711. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -48
  712. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -65
  713. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -62
  714. data/sig/metronome_sdk/models/tier.rbs +0 -17
  715. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -104
  716. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -43
  717. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -38
  718. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -44
  719. data/sig/metronome_sdk/models/v1/customer.rbs +0 -38
  720. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -213
  721. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -173
  722. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -34
  723. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -34
@@ -5,35 +5,61 @@ module MetronomeSDK
5
5
  module V1
6
6
  module Contracts
7
7
  class ProductListResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse,
12
+ MetronomeSDK::Internal::AnyHash
13
+ )
14
+ end
15
+
8
16
  sig { returns(String) }
9
17
  attr_accessor :id
10
18
 
11
- sig { returns(MetronomeSDK::Models::V1::Contracts::ProductListItemState) }
19
+ sig do
20
+ returns(
21
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current
22
+ )
23
+ end
12
24
  attr_reader :current
13
25
 
14
26
  sig do
15
27
  params(
16
- current: T.any(MetronomeSDK::Models::V1::Contracts::ProductListItemState, MetronomeSDK::Internal::AnyHash)
17
- )
18
- .void
28
+ current:
29
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::OrHash
30
+ ).void
19
31
  end
20
32
  attr_writer :current
21
33
 
22
- sig { returns(MetronomeSDK::Models::V1::Contracts::ProductListItemState) }
34
+ sig do
35
+ returns(
36
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial
37
+ )
38
+ end
23
39
  attr_reader :initial
24
40
 
25
41
  sig do
26
42
  params(
27
- initial: T.any(MetronomeSDK::Models::V1::Contracts::ProductListItemState, MetronomeSDK::Internal::AnyHash)
28
- )
29
- .void
43
+ initial:
44
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::OrHash
45
+ ).void
30
46
  end
31
47
  attr_writer :initial
32
48
 
33
- sig { returns(MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol) }
49
+ sig do
50
+ returns(
51
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
52
+ )
53
+ end
34
54
  attr_accessor :type
35
55
 
36
- sig { returns(T::Array[MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update]) }
56
+ sig do
57
+ returns(
58
+ T::Array[
59
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update
60
+ ]
61
+ )
62
+ end
37
63
  attr_accessor :updates
38
64
 
39
65
  sig { returns(T.nilable(Time)) }
@@ -48,60 +74,71 @@ module MetronomeSDK
48
74
  sig do
49
75
  params(
50
76
  id: String,
51
- current: T.any(MetronomeSDK::Models::V1::Contracts::ProductListItemState, MetronomeSDK::Internal::AnyHash),
52
- initial: T.any(MetronomeSDK::Models::V1::Contracts::ProductListItemState, MetronomeSDK::Internal::AnyHash),
53
- type: MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::OrSymbol,
54
- updates: T::Array[T.any(MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update, MetronomeSDK::Internal::AnyHash)],
77
+ current:
78
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::OrHash,
79
+ initial:
80
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::OrHash,
81
+ type:
82
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::OrSymbol,
83
+ updates:
84
+ T::Array[
85
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::OrHash
86
+ ],
55
87
  archived_at: T.nilable(Time),
56
88
  custom_fields: T::Hash[Symbol, String]
57
- )
58
- .returns(T.attached_class)
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ id:,
93
+ current:,
94
+ initial:,
95
+ type:,
96
+ updates:,
97
+ archived_at: nil,
98
+ custom_fields: nil
99
+ )
59
100
  end
60
- def self.new(id:, current:, initial:, type:, updates:, archived_at: nil, custom_fields: nil); end
61
101
 
62
102
  sig do
63
- override
64
- .returns(
65
- {
66
- id: String,
67
- current: MetronomeSDK::Models::V1::Contracts::ProductListItemState,
68
- initial: MetronomeSDK::Models::V1::Contracts::ProductListItemState,
69
- type: MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol,
70
- updates: T::Array[MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update],
71
- archived_at: T.nilable(Time),
72
- custom_fields: T::Hash[Symbol, String]
73
- }
74
- )
103
+ override.returns(
104
+ {
105
+ id: String,
106
+ current:
107
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current,
108
+ initial:
109
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial,
110
+ type:
111
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol,
112
+ updates:
113
+ T::Array[
114
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update
115
+ ],
116
+ archived_at: T.nilable(Time),
117
+ custom_fields: T::Hash[Symbol, String]
118
+ }
119
+ )
75
120
  end
76
- def to_hash; end
77
-
78
- module Type
79
- extend MetronomeSDK::Internal::Type::Enum
80
-
81
- TaggedSymbol =
82
- T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type) }
83
- OrSymbol = T.type_alias { T.any(Symbol, String) }
84
-
85
- USAGE = T.let(:USAGE, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol)
86
- SUBSCRIPTION =
87
- T.let(:SUBSCRIPTION, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol)
88
- COMPOSITE =
89
- T.let(:COMPOSITE, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol)
90
- FIXED = T.let(:FIXED, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol)
91
- PRO_SERVICE =
92
- T.let(:PRO_SERVICE, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol)
93
-
94
- sig { override.returns(T::Array[MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol]) }
95
- def self.values; end
121
+ def to_hash
96
122
  end
97
123
 
98
- class Update < MetronomeSDK::Internal::Type::BaseModel
124
+ class Current < MetronomeSDK::Internal::Type::BaseModel
125
+ OrHash =
126
+ T.type_alias do
127
+ T.any(
128
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current,
129
+ MetronomeSDK::Internal::AnyHash
130
+ )
131
+ end
132
+
99
133
  sig { returns(Time) }
100
134
  attr_accessor :created_at
101
135
 
102
136
  sig { returns(String) }
103
137
  attr_accessor :created_by
104
138
 
139
+ sig { returns(String) }
140
+ attr_accessor :name
141
+
105
142
  sig { returns(T.nilable(String)) }
106
143
  attr_reader :billable_metric_id
107
144
 
@@ -126,18 +163,13 @@ module MetronomeSDK
126
163
  sig { params(exclude_free_usage: T::Boolean).void }
127
164
  attr_writer :exclude_free_usage
128
165
 
166
+ # This field's availability is dependent on your client's configuration.
129
167
  sig { returns(T.nilable(T::Boolean)) }
130
168
  attr_reader :is_refundable
131
169
 
132
170
  sig { params(is_refundable: T::Boolean).void }
133
171
  attr_writer :is_refundable
134
172
 
135
- sig { returns(T.nilable(String)) }
136
- attr_reader :name
137
-
138
- sig { params(name: String).void }
139
- attr_writer :name
140
-
141
173
  # This field's availability is dependent on your client's configuration.
142
174
  sig { returns(T.nilable(String)) }
143
175
  attr_reader :netsuite_internal_item_id
@@ -178,14 +210,22 @@ module MetronomeSDK
178
210
  # unit and priced in another. For example, data could be sent in MB and priced in
179
211
  # GB. In this case, the conversion factor would be 1024 and the operation would be
180
212
  # "divide".
181
- sig { returns(T.nilable(MetronomeSDK::Models::V1::Contracts::QuantityConversion)) }
213
+ sig do
214
+ returns(
215
+ T.nilable(
216
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion
217
+ )
218
+ )
219
+ end
182
220
  attr_reader :quantity_conversion
183
221
 
184
222
  sig do
185
223
  params(
186
- quantity_conversion: T.nilable(T.any(MetronomeSDK::Models::V1::Contracts::QuantityConversion, MetronomeSDK::Internal::AnyHash))
187
- )
188
- .void
224
+ quantity_conversion:
225
+ T.nilable(
226
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::OrHash
227
+ )
228
+ ).void
189
229
  end
190
230
  attr_writer :quantity_conversion
191
231
 
@@ -193,14 +233,22 @@ module MetronomeSDK
193
233
  # rounded using the provided rounding method and decimal places. For example, if
194
234
  # the method is "round up" and the decimal places is 0, then the quantity will be
195
235
  # rounded up to the nearest integer.
196
- sig { returns(T.nilable(MetronomeSDK::Models::V1::Contracts::QuantityRounding)) }
236
+ sig do
237
+ returns(
238
+ T.nilable(
239
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding
240
+ )
241
+ )
242
+ end
197
243
  attr_reader :quantity_rounding
198
244
 
199
245
  sig do
200
246
  params(
201
- quantity_rounding: T.nilable(T.any(MetronomeSDK::Models::V1::Contracts::QuantityRounding, MetronomeSDK::Internal::AnyHash))
202
- )
203
- .void
247
+ quantity_rounding:
248
+ T.nilable(
249
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::OrHash
250
+ )
251
+ ).void
204
252
  end
205
253
  attr_writer :quantity_rounding
206
254
 
@@ -220,32 +268,38 @@ module MetronomeSDK
220
268
  params(
221
269
  created_at: Time,
222
270
  created_by: String,
271
+ name: String,
223
272
  billable_metric_id: String,
224
273
  composite_product_ids: T::Array[String],
225
274
  composite_tags: T::Array[String],
226
275
  exclude_free_usage: T::Boolean,
227
276
  is_refundable: T::Boolean,
228
- name: String,
229
277
  netsuite_internal_item_id: String,
230
278
  netsuite_overage_item_id: String,
231
279
  presentation_group_key: T::Array[String],
232
280
  pricing_group_key: T::Array[String],
233
- quantity_conversion: T.nilable(T.any(MetronomeSDK::Models::V1::Contracts::QuantityConversion, MetronomeSDK::Internal::AnyHash)),
234
- quantity_rounding: T.nilable(T.any(MetronomeSDK::Models::V1::Contracts::QuantityRounding, MetronomeSDK::Internal::AnyHash)),
281
+ quantity_conversion:
282
+ T.nilable(
283
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::OrHash
284
+ ),
285
+ quantity_rounding:
286
+ T.nilable(
287
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::OrHash
288
+ ),
235
289
  starting_at: Time,
236
290
  tags: T::Array[String]
237
- )
238
- .returns(T.attached_class)
291
+ ).returns(T.attached_class)
239
292
  end
240
293
  def self.new(
241
294
  created_at:,
242
295
  created_by:,
296
+ name:,
243
297
  billable_metric_id: nil,
244
298
  composite_product_ids: nil,
245
299
  composite_tags: nil,
246
300
  exclude_free_usage: nil,
301
+ # This field's availability is dependent on your client's configuration.
247
302
  is_refundable: nil,
248
- name: nil,
249
303
  # This field's availability is dependent on your client's configuration.
250
304
  netsuite_internal_item_id: nil,
251
305
  # This field's availability is dependent on your client's configuration.
@@ -274,31 +328,1134 @@ module MetronomeSDK
274
328
  quantity_rounding: nil,
275
329
  starting_at: nil,
276
330
  tags: nil
277
- ); end
331
+ )
332
+ end
333
+
278
334
  sig do
279
- override
280
- .returns(
335
+ override.returns(
336
+ {
337
+ created_at: Time,
338
+ created_by: String,
339
+ name: String,
340
+ billable_metric_id: String,
341
+ composite_product_ids: T::Array[String],
342
+ composite_tags: T::Array[String],
343
+ exclude_free_usage: T::Boolean,
344
+ is_refundable: T::Boolean,
345
+ netsuite_internal_item_id: String,
346
+ netsuite_overage_item_id: String,
347
+ presentation_group_key: T::Array[String],
348
+ pricing_group_key: T::Array[String],
349
+ quantity_conversion:
350
+ T.nilable(
351
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion
352
+ ),
353
+ quantity_rounding:
354
+ T.nilable(
355
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding
356
+ ),
357
+ starting_at: Time,
358
+ tags: T::Array[String]
359
+ }
360
+ )
361
+ end
362
+ def to_hash
363
+ end
364
+
365
+ class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
366
+ OrHash =
367
+ T.type_alias do
368
+ T.any(
369
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion,
370
+ MetronomeSDK::Internal::AnyHash
371
+ )
372
+ end
373
+
374
+ # The factor to multiply or divide the quantity by.
375
+ sig { returns(Float) }
376
+ attr_accessor :conversion_factor
377
+
378
+ # The operation to perform on the quantity
379
+ sig do
380
+ returns(
381
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation::TaggedSymbol
382
+ )
383
+ end
384
+ attr_accessor :operation
385
+
386
+ # Optional name for this conversion.
387
+ sig { returns(T.nilable(String)) }
388
+ attr_reader :name
389
+
390
+ sig { params(name: String).void }
391
+ attr_writer :name
392
+
393
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
394
+ # converted using the provided conversion factor and operation. For example, if
395
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
396
+ # will be multiplied by 100. This can be used in cases where data is sent in one
397
+ # unit and priced in another. For example, data could be sent in MB and priced in
398
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
399
+ # "divide".
400
+ sig do
401
+ params(
402
+ conversion_factor: Float,
403
+ operation:
404
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation::OrSymbol,
405
+ name: String
406
+ ).returns(T.attached_class)
407
+ end
408
+ def self.new(
409
+ # The factor to multiply or divide the quantity by.
410
+ conversion_factor:,
411
+ # The operation to perform on the quantity
412
+ operation:,
413
+ # Optional name for this conversion.
414
+ name: nil
415
+ )
416
+ end
417
+
418
+ sig do
419
+ override.returns(
420
+ {
421
+ conversion_factor: Float,
422
+ operation:
423
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation::TaggedSymbol,
424
+ name: String
425
+ }
426
+ )
427
+ end
428
+ def to_hash
429
+ end
430
+
431
+ # The operation to perform on the quantity
432
+ module Operation
433
+ extend MetronomeSDK::Internal::Type::Enum
434
+
435
+ TaggedSymbol =
436
+ T.type_alias do
437
+ T.all(
438
+ Symbol,
439
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation
440
+ )
441
+ end
442
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
443
+
444
+ MULTIPLY =
445
+ T.let(
446
+ :MULTIPLY,
447
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation::TaggedSymbol
448
+ )
449
+ DIVIDE =
450
+ T.let(
451
+ :DIVIDE,
452
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation::TaggedSymbol
453
+ )
454
+
455
+ sig do
456
+ override.returns(
457
+ T::Array[
458
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation::TaggedSymbol
459
+ ]
460
+ )
461
+ end
462
+ def self.values
463
+ end
464
+ end
465
+ end
466
+
467
+ class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
468
+ OrHash =
469
+ T.type_alias do
470
+ T.any(
471
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding,
472
+ MetronomeSDK::Internal::AnyHash
473
+ )
474
+ end
475
+
476
+ sig { returns(Float) }
477
+ attr_accessor :decimal_places
478
+
479
+ sig do
480
+ returns(
481
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::TaggedSymbol
482
+ )
483
+ end
484
+ attr_accessor :rounding_method
485
+
486
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
487
+ # rounded using the provided rounding method and decimal places. For example, if
488
+ # the method is "round up" and the decimal places is 0, then the quantity will be
489
+ # rounded up to the nearest integer.
490
+ sig do
491
+ params(
492
+ decimal_places: Float,
493
+ rounding_method:
494
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::OrSymbol
495
+ ).returns(T.attached_class)
496
+ end
497
+ def self.new(decimal_places:, rounding_method:)
498
+ end
499
+
500
+ sig do
501
+ override.returns(
281
502
  {
282
- created_at: Time,
283
- created_by: String,
284
- billable_metric_id: String,
285
- composite_product_ids: T::Array[String],
286
- composite_tags: T::Array[String],
287
- exclude_free_usage: T::Boolean,
288
- is_refundable: T::Boolean,
289
- name: String,
290
- netsuite_internal_item_id: String,
291
- netsuite_overage_item_id: String,
292
- presentation_group_key: T::Array[String],
293
- pricing_group_key: T::Array[String],
294
- quantity_conversion: T.nilable(MetronomeSDK::Models::V1::Contracts::QuantityConversion),
295
- quantity_rounding: T.nilable(MetronomeSDK::Models::V1::Contracts::QuantityRounding),
296
- starting_at: Time,
297
- tags: T::Array[String]
503
+ decimal_places: Float,
504
+ rounding_method:
505
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::TaggedSymbol
298
506
  }
299
507
  )
508
+ end
509
+ def to_hash
510
+ end
511
+
512
+ module RoundingMethod
513
+ extend MetronomeSDK::Internal::Type::Enum
514
+
515
+ TaggedSymbol =
516
+ T.type_alias do
517
+ T.all(
518
+ Symbol,
519
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod
520
+ )
521
+ end
522
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
523
+
524
+ ROUND_UP =
525
+ T.let(
526
+ :ROUND_UP,
527
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::TaggedSymbol
528
+ )
529
+ ROUND_DOWN =
530
+ T.let(
531
+ :ROUND_DOWN,
532
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::TaggedSymbol
533
+ )
534
+ ROUND_HALF_UP =
535
+ T.let(
536
+ :ROUND_HALF_UP,
537
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::TaggedSymbol
538
+ )
539
+
540
+ sig do
541
+ override.returns(
542
+ T::Array[
543
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod::TaggedSymbol
544
+ ]
545
+ )
546
+ end
547
+ def self.values
548
+ end
549
+ end
550
+ end
551
+ end
552
+
553
+ class Initial < MetronomeSDK::Internal::Type::BaseModel
554
+ OrHash =
555
+ T.type_alias do
556
+ T.any(
557
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial,
558
+ MetronomeSDK::Internal::AnyHash
559
+ )
560
+ end
561
+
562
+ sig { returns(Time) }
563
+ attr_accessor :created_at
564
+
565
+ sig { returns(String) }
566
+ attr_accessor :created_by
567
+
568
+ sig { returns(String) }
569
+ attr_accessor :name
570
+
571
+ sig { returns(T.nilable(String)) }
572
+ attr_reader :billable_metric_id
573
+
574
+ sig { params(billable_metric_id: String).void }
575
+ attr_writer :billable_metric_id
576
+
577
+ sig { returns(T.nilable(T::Array[String])) }
578
+ attr_reader :composite_product_ids
579
+
580
+ sig { params(composite_product_ids: T::Array[String]).void }
581
+ attr_writer :composite_product_ids
582
+
583
+ sig { returns(T.nilable(T::Array[String])) }
584
+ attr_reader :composite_tags
585
+
586
+ sig { params(composite_tags: T::Array[String]).void }
587
+ attr_writer :composite_tags
588
+
589
+ sig { returns(T.nilable(T::Boolean)) }
590
+ attr_reader :exclude_free_usage
591
+
592
+ sig { params(exclude_free_usage: T::Boolean).void }
593
+ attr_writer :exclude_free_usage
594
+
595
+ # This field's availability is dependent on your client's configuration.
596
+ sig { returns(T.nilable(T::Boolean)) }
597
+ attr_reader :is_refundable
598
+
599
+ sig { params(is_refundable: T::Boolean).void }
600
+ attr_writer :is_refundable
601
+
602
+ # This field's availability is dependent on your client's configuration.
603
+ sig { returns(T.nilable(String)) }
604
+ attr_reader :netsuite_internal_item_id
605
+
606
+ sig { params(netsuite_internal_item_id: String).void }
607
+ attr_writer :netsuite_internal_item_id
608
+
609
+ # This field's availability is dependent on your client's configuration.
610
+ sig { returns(T.nilable(String)) }
611
+ attr_reader :netsuite_overage_item_id
612
+
613
+ sig { params(netsuite_overage_item_id: String).void }
614
+ attr_writer :netsuite_overage_item_id
615
+
616
+ # For USAGE products only. Groups usage line items on invoices. The superset of
617
+ # values in the pricing group key and presentation group key must be set as one
618
+ # compound group key on the billable metric.
619
+ sig { returns(T.nilable(T::Array[String])) }
620
+ attr_reader :presentation_group_key
621
+
622
+ sig { params(presentation_group_key: T::Array[String]).void }
623
+ attr_writer :presentation_group_key
624
+
625
+ # For USAGE products only. If set, pricing for this product will be determined for
626
+ # each pricing_group_key value, as opposed to the product as a whole. The superset
627
+ # of values in the pricing group key and presentation group key must be set as one
628
+ # compound group key on the billable metric.
629
+ sig { returns(T.nilable(T::Array[String])) }
630
+ attr_reader :pricing_group_key
631
+
632
+ sig { params(pricing_group_key: T::Array[String]).void }
633
+ attr_writer :pricing_group_key
634
+
635
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
636
+ # converted using the provided conversion factor and operation. For example, if
637
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
638
+ # will be multiplied by 100. This can be used in cases where data is sent in one
639
+ # unit and priced in another. For example, data could be sent in MB and priced in
640
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
641
+ # "divide".
642
+ sig do
643
+ returns(
644
+ T.nilable(
645
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion
646
+ )
647
+ )
648
+ end
649
+ attr_reader :quantity_conversion
650
+
651
+ sig do
652
+ params(
653
+ quantity_conversion:
654
+ T.nilable(
655
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::OrHash
656
+ )
657
+ ).void
658
+ end
659
+ attr_writer :quantity_conversion
660
+
661
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
662
+ # rounded using the provided rounding method and decimal places. For example, if
663
+ # the method is "round up" and the decimal places is 0, then the quantity will be
664
+ # rounded up to the nearest integer.
665
+ sig do
666
+ returns(
667
+ T.nilable(
668
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding
669
+ )
670
+ )
671
+ end
672
+ attr_reader :quantity_rounding
673
+
674
+ sig do
675
+ params(
676
+ quantity_rounding:
677
+ T.nilable(
678
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::OrHash
679
+ )
680
+ ).void
681
+ end
682
+ attr_writer :quantity_rounding
683
+
684
+ sig { returns(T.nilable(Time)) }
685
+ attr_reader :starting_at
686
+
687
+ sig { params(starting_at: Time).void }
688
+ attr_writer :starting_at
689
+
690
+ sig { returns(T.nilable(T::Array[String])) }
691
+ attr_reader :tags
692
+
693
+ sig { params(tags: T::Array[String]).void }
694
+ attr_writer :tags
695
+
696
+ sig do
697
+ params(
698
+ created_at: Time,
699
+ created_by: String,
700
+ name: String,
701
+ billable_metric_id: String,
702
+ composite_product_ids: T::Array[String],
703
+ composite_tags: T::Array[String],
704
+ exclude_free_usage: T::Boolean,
705
+ is_refundable: T::Boolean,
706
+ netsuite_internal_item_id: String,
707
+ netsuite_overage_item_id: String,
708
+ presentation_group_key: T::Array[String],
709
+ pricing_group_key: T::Array[String],
710
+ quantity_conversion:
711
+ T.nilable(
712
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::OrHash
713
+ ),
714
+ quantity_rounding:
715
+ T.nilable(
716
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::OrHash
717
+ ),
718
+ starting_at: Time,
719
+ tags: T::Array[String]
720
+ ).returns(T.attached_class)
721
+ end
722
+ def self.new(
723
+ created_at:,
724
+ created_by:,
725
+ name:,
726
+ billable_metric_id: nil,
727
+ composite_product_ids: nil,
728
+ composite_tags: nil,
729
+ exclude_free_usage: nil,
730
+ # This field's availability is dependent on your client's configuration.
731
+ is_refundable: nil,
732
+ # This field's availability is dependent on your client's configuration.
733
+ netsuite_internal_item_id: nil,
734
+ # This field's availability is dependent on your client's configuration.
735
+ netsuite_overage_item_id: nil,
736
+ # For USAGE products only. Groups usage line items on invoices. The superset of
737
+ # values in the pricing group key and presentation group key must be set as one
738
+ # compound group key on the billable metric.
739
+ presentation_group_key: nil,
740
+ # For USAGE products only. If set, pricing for this product will be determined for
741
+ # each pricing_group_key value, as opposed to the product as a whole. The superset
742
+ # of values in the pricing group key and presentation group key must be set as one
743
+ # compound group key on the billable metric.
744
+ pricing_group_key: nil,
745
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
746
+ # converted using the provided conversion factor and operation. For example, if
747
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
748
+ # will be multiplied by 100. This can be used in cases where data is sent in one
749
+ # unit and priced in another. For example, data could be sent in MB and priced in
750
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
751
+ # "divide".
752
+ quantity_conversion: nil,
753
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
754
+ # rounded using the provided rounding method and decimal places. For example, if
755
+ # the method is "round up" and the decimal places is 0, then the quantity will be
756
+ # rounded up to the nearest integer.
757
+ quantity_rounding: nil,
758
+ starting_at: nil,
759
+ tags: nil
760
+ )
761
+ end
762
+
763
+ sig do
764
+ override.returns(
765
+ {
766
+ created_at: Time,
767
+ created_by: String,
768
+ name: String,
769
+ billable_metric_id: String,
770
+ composite_product_ids: T::Array[String],
771
+ composite_tags: T::Array[String],
772
+ exclude_free_usage: T::Boolean,
773
+ is_refundable: T::Boolean,
774
+ netsuite_internal_item_id: String,
775
+ netsuite_overage_item_id: String,
776
+ presentation_group_key: T::Array[String],
777
+ pricing_group_key: T::Array[String],
778
+ quantity_conversion:
779
+ T.nilable(
780
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion
781
+ ),
782
+ quantity_rounding:
783
+ T.nilable(
784
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding
785
+ ),
786
+ starting_at: Time,
787
+ tags: T::Array[String]
788
+ }
789
+ )
790
+ end
791
+ def to_hash
792
+ end
793
+
794
+ class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
795
+ OrHash =
796
+ T.type_alias do
797
+ T.any(
798
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion,
799
+ MetronomeSDK::Internal::AnyHash
800
+ )
801
+ end
802
+
803
+ # The factor to multiply or divide the quantity by.
804
+ sig { returns(Float) }
805
+ attr_accessor :conversion_factor
806
+
807
+ # The operation to perform on the quantity
808
+ sig do
809
+ returns(
810
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation::TaggedSymbol
811
+ )
812
+ end
813
+ attr_accessor :operation
814
+
815
+ # Optional name for this conversion.
816
+ sig { returns(T.nilable(String)) }
817
+ attr_reader :name
818
+
819
+ sig { params(name: String).void }
820
+ attr_writer :name
821
+
822
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
823
+ # converted using the provided conversion factor and operation. For example, if
824
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
825
+ # will be multiplied by 100. This can be used in cases where data is sent in one
826
+ # unit and priced in another. For example, data could be sent in MB and priced in
827
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
828
+ # "divide".
829
+ sig do
830
+ params(
831
+ conversion_factor: Float,
832
+ operation:
833
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation::OrSymbol,
834
+ name: String
835
+ ).returns(T.attached_class)
836
+ end
837
+ def self.new(
838
+ # The factor to multiply or divide the quantity by.
839
+ conversion_factor:,
840
+ # The operation to perform on the quantity
841
+ operation:,
842
+ # Optional name for this conversion.
843
+ name: nil
844
+ )
845
+ end
846
+
847
+ sig do
848
+ override.returns(
849
+ {
850
+ conversion_factor: Float,
851
+ operation:
852
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation::TaggedSymbol,
853
+ name: String
854
+ }
855
+ )
856
+ end
857
+ def to_hash
858
+ end
859
+
860
+ # The operation to perform on the quantity
861
+ module Operation
862
+ extend MetronomeSDK::Internal::Type::Enum
863
+
864
+ TaggedSymbol =
865
+ T.type_alias do
866
+ T.all(
867
+ Symbol,
868
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation
869
+ )
870
+ end
871
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
872
+
873
+ MULTIPLY =
874
+ T.let(
875
+ :MULTIPLY,
876
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation::TaggedSymbol
877
+ )
878
+ DIVIDE =
879
+ T.let(
880
+ :DIVIDE,
881
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation::TaggedSymbol
882
+ )
883
+
884
+ sig do
885
+ override.returns(
886
+ T::Array[
887
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation::TaggedSymbol
888
+ ]
889
+ )
890
+ end
891
+ def self.values
892
+ end
893
+ end
894
+ end
895
+
896
+ class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
897
+ OrHash =
898
+ T.type_alias do
899
+ T.any(
900
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding,
901
+ MetronomeSDK::Internal::AnyHash
902
+ )
903
+ end
904
+
905
+ sig { returns(Float) }
906
+ attr_accessor :decimal_places
907
+
908
+ sig do
909
+ returns(
910
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::TaggedSymbol
911
+ )
912
+ end
913
+ attr_accessor :rounding_method
914
+
915
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
916
+ # rounded using the provided rounding method and decimal places. For example, if
917
+ # the method is "round up" and the decimal places is 0, then the quantity will be
918
+ # rounded up to the nearest integer.
919
+ sig do
920
+ params(
921
+ decimal_places: Float,
922
+ rounding_method:
923
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::OrSymbol
924
+ ).returns(T.attached_class)
925
+ end
926
+ def self.new(decimal_places:, rounding_method:)
927
+ end
928
+
929
+ sig do
930
+ override.returns(
931
+ {
932
+ decimal_places: Float,
933
+ rounding_method:
934
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::TaggedSymbol
935
+ }
936
+ )
937
+ end
938
+ def to_hash
939
+ end
940
+
941
+ module RoundingMethod
942
+ extend MetronomeSDK::Internal::Type::Enum
943
+
944
+ TaggedSymbol =
945
+ T.type_alias do
946
+ T.all(
947
+ Symbol,
948
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod
949
+ )
950
+ end
951
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
952
+
953
+ ROUND_UP =
954
+ T.let(
955
+ :ROUND_UP,
956
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::TaggedSymbol
957
+ )
958
+ ROUND_DOWN =
959
+ T.let(
960
+ :ROUND_DOWN,
961
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::TaggedSymbol
962
+ )
963
+ ROUND_HALF_UP =
964
+ T.let(
965
+ :ROUND_HALF_UP,
966
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::TaggedSymbol
967
+ )
968
+
969
+ sig do
970
+ override.returns(
971
+ T::Array[
972
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod::TaggedSymbol
973
+ ]
974
+ )
975
+ end
976
+ def self.values
977
+ end
978
+ end
979
+ end
980
+ end
981
+
982
+ module Type
983
+ extend MetronomeSDK::Internal::Type::Enum
984
+
985
+ TaggedSymbol =
986
+ T.type_alias do
987
+ T.all(
988
+ Symbol,
989
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type
990
+ )
991
+ end
992
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
993
+
994
+ USAGE =
995
+ T.let(
996
+ :USAGE,
997
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
998
+ )
999
+ SUBSCRIPTION =
1000
+ T.let(
1001
+ :SUBSCRIPTION,
1002
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
1003
+ )
1004
+ COMPOSITE =
1005
+ T.let(
1006
+ :COMPOSITE,
1007
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
1008
+ )
1009
+ FIXED =
1010
+ T.let(
1011
+ :FIXED,
1012
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
1013
+ )
1014
+ PRO_SERVICE =
1015
+ T.let(
1016
+ :PRO_SERVICE,
1017
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
1018
+ )
1019
+
1020
+ sig do
1021
+ override.returns(
1022
+ T::Array[
1023
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol
1024
+ ]
1025
+ )
1026
+ end
1027
+ def self.values
1028
+ end
1029
+ end
1030
+
1031
+ class Update < MetronomeSDK::Internal::Type::BaseModel
1032
+ OrHash =
1033
+ T.type_alias do
1034
+ T.any(
1035
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update,
1036
+ MetronomeSDK::Internal::AnyHash
1037
+ )
1038
+ end
1039
+
1040
+ sig { returns(Time) }
1041
+ attr_accessor :created_at
1042
+
1043
+ sig { returns(String) }
1044
+ attr_accessor :created_by
1045
+
1046
+ sig { returns(T.nilable(String)) }
1047
+ attr_reader :billable_metric_id
1048
+
1049
+ sig { params(billable_metric_id: String).void }
1050
+ attr_writer :billable_metric_id
1051
+
1052
+ sig { returns(T.nilable(T::Array[String])) }
1053
+ attr_reader :composite_product_ids
1054
+
1055
+ sig { params(composite_product_ids: T::Array[String]).void }
1056
+ attr_writer :composite_product_ids
1057
+
1058
+ sig { returns(T.nilable(T::Array[String])) }
1059
+ attr_reader :composite_tags
1060
+
1061
+ sig { params(composite_tags: T::Array[String]).void }
1062
+ attr_writer :composite_tags
1063
+
1064
+ sig { returns(T.nilable(T::Boolean)) }
1065
+ attr_reader :exclude_free_usage
1066
+
1067
+ sig { params(exclude_free_usage: T::Boolean).void }
1068
+ attr_writer :exclude_free_usage
1069
+
1070
+ sig { returns(T.nilable(T::Boolean)) }
1071
+ attr_reader :is_refundable
1072
+
1073
+ sig { params(is_refundable: T::Boolean).void }
1074
+ attr_writer :is_refundable
1075
+
1076
+ sig { returns(T.nilable(String)) }
1077
+ attr_reader :name
1078
+
1079
+ sig { params(name: String).void }
1080
+ attr_writer :name
1081
+
1082
+ # This field's availability is dependent on your client's configuration.
1083
+ sig { returns(T.nilable(String)) }
1084
+ attr_reader :netsuite_internal_item_id
1085
+
1086
+ sig { params(netsuite_internal_item_id: String).void }
1087
+ attr_writer :netsuite_internal_item_id
1088
+
1089
+ # This field's availability is dependent on your client's configuration.
1090
+ sig { returns(T.nilable(String)) }
1091
+ attr_reader :netsuite_overage_item_id
1092
+
1093
+ sig { params(netsuite_overage_item_id: String).void }
1094
+ attr_writer :netsuite_overage_item_id
1095
+
1096
+ # For USAGE products only. Groups usage line items on invoices. The superset of
1097
+ # values in the pricing group key and presentation group key must be set as one
1098
+ # compound group key on the billable metric.
1099
+ sig { returns(T.nilable(T::Array[String])) }
1100
+ attr_reader :presentation_group_key
1101
+
1102
+ sig { params(presentation_group_key: T::Array[String]).void }
1103
+ attr_writer :presentation_group_key
1104
+
1105
+ # For USAGE products only. If set, pricing for this product will be determined for
1106
+ # each pricing_group_key value, as opposed to the product as a whole. The superset
1107
+ # of values in the pricing group key and presentation group key must be set as one
1108
+ # compound group key on the billable metric.
1109
+ sig { returns(T.nilable(T::Array[String])) }
1110
+ attr_reader :pricing_group_key
1111
+
1112
+ sig { params(pricing_group_key: T::Array[String]).void }
1113
+ attr_writer :pricing_group_key
1114
+
1115
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
1116
+ # converted using the provided conversion factor and operation. For example, if
1117
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
1118
+ # will be multiplied by 100. This can be used in cases where data is sent in one
1119
+ # unit and priced in another. For example, data could be sent in MB and priced in
1120
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
1121
+ # "divide".
1122
+ sig do
1123
+ returns(
1124
+ T.nilable(
1125
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion
1126
+ )
1127
+ )
1128
+ end
1129
+ attr_reader :quantity_conversion
1130
+
1131
+ sig do
1132
+ params(
1133
+ quantity_conversion:
1134
+ T.nilable(
1135
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::OrHash
1136
+ )
1137
+ ).void
1138
+ end
1139
+ attr_writer :quantity_conversion
1140
+
1141
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
1142
+ # rounded using the provided rounding method and decimal places. For example, if
1143
+ # the method is "round up" and the decimal places is 0, then the quantity will be
1144
+ # rounded up to the nearest integer.
1145
+ sig do
1146
+ returns(
1147
+ T.nilable(
1148
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding
1149
+ )
1150
+ )
1151
+ end
1152
+ attr_reader :quantity_rounding
1153
+
1154
+ sig do
1155
+ params(
1156
+ quantity_rounding:
1157
+ T.nilable(
1158
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::OrHash
1159
+ )
1160
+ ).void
1161
+ end
1162
+ attr_writer :quantity_rounding
1163
+
1164
+ sig { returns(T.nilable(Time)) }
1165
+ attr_reader :starting_at
1166
+
1167
+ sig { params(starting_at: Time).void }
1168
+ attr_writer :starting_at
1169
+
1170
+ sig { returns(T.nilable(T::Array[String])) }
1171
+ attr_reader :tags
1172
+
1173
+ sig { params(tags: T::Array[String]).void }
1174
+ attr_writer :tags
1175
+
1176
+ sig do
1177
+ params(
1178
+ created_at: Time,
1179
+ created_by: String,
1180
+ billable_metric_id: String,
1181
+ composite_product_ids: T::Array[String],
1182
+ composite_tags: T::Array[String],
1183
+ exclude_free_usage: T::Boolean,
1184
+ is_refundable: T::Boolean,
1185
+ name: String,
1186
+ netsuite_internal_item_id: String,
1187
+ netsuite_overage_item_id: String,
1188
+ presentation_group_key: T::Array[String],
1189
+ pricing_group_key: T::Array[String],
1190
+ quantity_conversion:
1191
+ T.nilable(
1192
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::OrHash
1193
+ ),
1194
+ quantity_rounding:
1195
+ T.nilable(
1196
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::OrHash
1197
+ ),
1198
+ starting_at: Time,
1199
+ tags: T::Array[String]
1200
+ ).returns(T.attached_class)
1201
+ end
1202
+ def self.new(
1203
+ created_at:,
1204
+ created_by:,
1205
+ billable_metric_id: nil,
1206
+ composite_product_ids: nil,
1207
+ composite_tags: nil,
1208
+ exclude_free_usage: nil,
1209
+ is_refundable: nil,
1210
+ name: nil,
1211
+ # This field's availability is dependent on your client's configuration.
1212
+ netsuite_internal_item_id: nil,
1213
+ # This field's availability is dependent on your client's configuration.
1214
+ netsuite_overage_item_id: nil,
1215
+ # For USAGE products only. Groups usage line items on invoices. The superset of
1216
+ # values in the pricing group key and presentation group key must be set as one
1217
+ # compound group key on the billable metric.
1218
+ presentation_group_key: nil,
1219
+ # For USAGE products only. If set, pricing for this product will be determined for
1220
+ # each pricing_group_key value, as opposed to the product as a whole. The superset
1221
+ # of values in the pricing group key and presentation group key must be set as one
1222
+ # compound group key on the billable metric.
1223
+ pricing_group_key: nil,
1224
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
1225
+ # converted using the provided conversion factor and operation. For example, if
1226
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
1227
+ # will be multiplied by 100. This can be used in cases where data is sent in one
1228
+ # unit and priced in another. For example, data could be sent in MB and priced in
1229
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
1230
+ # "divide".
1231
+ quantity_conversion: nil,
1232
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
1233
+ # rounded using the provided rounding method and decimal places. For example, if
1234
+ # the method is "round up" and the decimal places is 0, then the quantity will be
1235
+ # rounded up to the nearest integer.
1236
+ quantity_rounding: nil,
1237
+ starting_at: nil,
1238
+ tags: nil
1239
+ )
1240
+ end
1241
+
1242
+ sig do
1243
+ override.returns(
1244
+ {
1245
+ created_at: Time,
1246
+ created_by: String,
1247
+ billable_metric_id: String,
1248
+ composite_product_ids: T::Array[String],
1249
+ composite_tags: T::Array[String],
1250
+ exclude_free_usage: T::Boolean,
1251
+ is_refundable: T::Boolean,
1252
+ name: String,
1253
+ netsuite_internal_item_id: String,
1254
+ netsuite_overage_item_id: String,
1255
+ presentation_group_key: T::Array[String],
1256
+ pricing_group_key: T::Array[String],
1257
+ quantity_conversion:
1258
+ T.nilable(
1259
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion
1260
+ ),
1261
+ quantity_rounding:
1262
+ T.nilable(
1263
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding
1264
+ ),
1265
+ starting_at: Time,
1266
+ tags: T::Array[String]
1267
+ }
1268
+ )
1269
+ end
1270
+ def to_hash
1271
+ end
1272
+
1273
+ class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
1274
+ OrHash =
1275
+ T.type_alias do
1276
+ T.any(
1277
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion,
1278
+ MetronomeSDK::Internal::AnyHash
1279
+ )
1280
+ end
1281
+
1282
+ # The factor to multiply or divide the quantity by.
1283
+ sig { returns(Float) }
1284
+ attr_accessor :conversion_factor
1285
+
1286
+ # The operation to perform on the quantity
1287
+ sig do
1288
+ returns(
1289
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation::TaggedSymbol
1290
+ )
1291
+ end
1292
+ attr_accessor :operation
1293
+
1294
+ # Optional name for this conversion.
1295
+ sig { returns(T.nilable(String)) }
1296
+ attr_reader :name
1297
+
1298
+ sig { params(name: String).void }
1299
+ attr_writer :name
1300
+
1301
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
1302
+ # converted using the provided conversion factor and operation. For example, if
1303
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
1304
+ # will be multiplied by 100. This can be used in cases where data is sent in one
1305
+ # unit and priced in another. For example, data could be sent in MB and priced in
1306
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
1307
+ # "divide".
1308
+ sig do
1309
+ params(
1310
+ conversion_factor: Float,
1311
+ operation:
1312
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation::OrSymbol,
1313
+ name: String
1314
+ ).returns(T.attached_class)
1315
+ end
1316
+ def self.new(
1317
+ # The factor to multiply or divide the quantity by.
1318
+ conversion_factor:,
1319
+ # The operation to perform on the quantity
1320
+ operation:,
1321
+ # Optional name for this conversion.
1322
+ name: nil
1323
+ )
1324
+ end
1325
+
1326
+ sig do
1327
+ override.returns(
1328
+ {
1329
+ conversion_factor: Float,
1330
+ operation:
1331
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation::TaggedSymbol,
1332
+ name: String
1333
+ }
1334
+ )
1335
+ end
1336
+ def to_hash
1337
+ end
1338
+
1339
+ # The operation to perform on the quantity
1340
+ module Operation
1341
+ extend MetronomeSDK::Internal::Type::Enum
1342
+
1343
+ TaggedSymbol =
1344
+ T.type_alias do
1345
+ T.all(
1346
+ Symbol,
1347
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation
1348
+ )
1349
+ end
1350
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1351
+
1352
+ MULTIPLY =
1353
+ T.let(
1354
+ :MULTIPLY,
1355
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation::TaggedSymbol
1356
+ )
1357
+ DIVIDE =
1358
+ T.let(
1359
+ :DIVIDE,
1360
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation::TaggedSymbol
1361
+ )
1362
+
1363
+ sig do
1364
+ override.returns(
1365
+ T::Array[
1366
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation::TaggedSymbol
1367
+ ]
1368
+ )
1369
+ end
1370
+ def self.values
1371
+ end
1372
+ end
1373
+ end
1374
+
1375
+ class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
1376
+ OrHash =
1377
+ T.type_alias do
1378
+ T.any(
1379
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding,
1380
+ MetronomeSDK::Internal::AnyHash
1381
+ )
1382
+ end
1383
+
1384
+ sig { returns(Float) }
1385
+ attr_accessor :decimal_places
1386
+
1387
+ sig do
1388
+ returns(
1389
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::TaggedSymbol
1390
+ )
1391
+ end
1392
+ attr_accessor :rounding_method
1393
+
1394
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
1395
+ # rounded using the provided rounding method and decimal places. For example, if
1396
+ # the method is "round up" and the decimal places is 0, then the quantity will be
1397
+ # rounded up to the nearest integer.
1398
+ sig do
1399
+ params(
1400
+ decimal_places: Float,
1401
+ rounding_method:
1402
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::OrSymbol
1403
+ ).returns(T.attached_class)
1404
+ end
1405
+ def self.new(decimal_places:, rounding_method:)
1406
+ end
1407
+
1408
+ sig do
1409
+ override.returns(
1410
+ {
1411
+ decimal_places: Float,
1412
+ rounding_method:
1413
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::TaggedSymbol
1414
+ }
1415
+ )
1416
+ end
1417
+ def to_hash
1418
+ end
1419
+
1420
+ module RoundingMethod
1421
+ extend MetronomeSDK::Internal::Type::Enum
1422
+
1423
+ TaggedSymbol =
1424
+ T.type_alias do
1425
+ T.all(
1426
+ Symbol,
1427
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod
1428
+ )
1429
+ end
1430
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1431
+
1432
+ ROUND_UP =
1433
+ T.let(
1434
+ :ROUND_UP,
1435
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::TaggedSymbol
1436
+ )
1437
+ ROUND_DOWN =
1438
+ T.let(
1439
+ :ROUND_DOWN,
1440
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::TaggedSymbol
1441
+ )
1442
+ ROUND_HALF_UP =
1443
+ T.let(
1444
+ :ROUND_HALF_UP,
1445
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::TaggedSymbol
1446
+ )
1447
+
1448
+ sig do
1449
+ override.returns(
1450
+ T::Array[
1451
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod::TaggedSymbol
1452
+ ]
1453
+ )
1454
+ end
1455
+ def self.values
1456
+ end
1457
+ end
300
1458
  end
301
- def to_hash; end
302
1459
  end
303
1460
  end
304
1461
  end