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