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