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
@@ -60,24 +60,32 @@ module MetronomeSDK
60
60
  sig { returns(String) }
61
61
  attr_accessor :id
62
62
 
63
- sig { returns(MetronomeSDK::V1::Contracts::ProductListItemState) }
63
+ sig do
64
+ returns(
65
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current
66
+ )
67
+ end
64
68
  attr_reader :current
65
69
 
66
70
  sig do
67
71
  params(
68
72
  current:
69
- MetronomeSDK::V1::Contracts::ProductListItemState::OrHash
73
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::OrHash
70
74
  ).void
71
75
  end
72
76
  attr_writer :current
73
77
 
74
- sig { returns(MetronomeSDK::V1::Contracts::ProductListItemState) }
78
+ sig do
79
+ returns(
80
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Initial
81
+ )
82
+ end
75
83
  attr_reader :initial
76
84
 
77
85
  sig do
78
86
  params(
79
87
  initial:
80
- MetronomeSDK::V1::Contracts::ProductListItemState::OrHash
88
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Initial::OrHash
81
89
  ).void
82
90
  end
83
91
  attr_writer :initial
@@ -111,9 +119,9 @@ module MetronomeSDK
111
119
  params(
112
120
  id: String,
113
121
  current:
114
- MetronomeSDK::V1::Contracts::ProductListItemState::OrHash,
122
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::OrHash,
115
123
  initial:
116
- MetronomeSDK::V1::Contracts::ProductListItemState::OrHash,
124
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Initial::OrHash,
117
125
  type:
118
126
  MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::OrSymbol,
119
127
  updates:
@@ -139,8 +147,10 @@ module MetronomeSDK
139
147
  override.returns(
140
148
  {
141
149
  id: String,
142
- current: MetronomeSDK::V1::Contracts::ProductListItemState,
143
- initial: MetronomeSDK::V1::Contracts::ProductListItemState,
150
+ current:
151
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current,
152
+ initial:
153
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Initial,
144
154
  type:
145
155
  MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol,
146
156
  updates:
@@ -155,60 +165,11 @@ module MetronomeSDK
155
165
  def to_hash
156
166
  end
157
167
 
158
- module Type
159
- extend MetronomeSDK::Internal::Type::Enum
160
-
161
- TaggedSymbol =
162
- T.type_alias do
163
- T.all(
164
- Symbol,
165
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type
166
- )
167
- end
168
- OrSymbol = T.type_alias { T.any(Symbol, String) }
169
-
170
- USAGE =
171
- T.let(
172
- :USAGE,
173
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol
174
- )
175
- SUBSCRIPTION =
176
- T.let(
177
- :SUBSCRIPTION,
178
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol
179
- )
180
- COMPOSITE =
181
- T.let(
182
- :COMPOSITE,
183
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol
184
- )
185
- FIXED =
186
- T.let(
187
- :FIXED,
188
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol
189
- )
190
- PRO_SERVICE =
191
- T.let(
192
- :PRO_SERVICE,
193
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol
194
- )
195
-
196
- sig do
197
- override.returns(
198
- T::Array[
199
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Type::TaggedSymbol
200
- ]
201
- )
202
- end
203
- def self.values
204
- end
205
- end
206
-
207
- class Update < MetronomeSDK::Internal::Type::BaseModel
168
+ class Current < MetronomeSDK::Internal::Type::BaseModel
208
169
  OrHash =
209
170
  T.type_alias do
210
171
  T.any(
211
- MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Update,
172
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current,
212
173
  MetronomeSDK::Internal::AnyHash
213
174
  )
214
175
  end
@@ -219,6 +180,9 @@ module MetronomeSDK
219
180
  sig { returns(String) }
220
181
  attr_accessor :created_by
221
182
 
183
+ sig { returns(String) }
184
+ attr_accessor :name
185
+
222
186
  sig { returns(T.nilable(String)) }
223
187
  attr_reader :billable_metric_id
224
188
 
@@ -243,18 +207,13 @@ module MetronomeSDK
243
207
  sig { params(exclude_free_usage: T::Boolean).void }
244
208
  attr_writer :exclude_free_usage
245
209
 
210
+ # This field's availability is dependent on your client's configuration.
246
211
  sig { returns(T.nilable(T::Boolean)) }
247
212
  attr_reader :is_refundable
248
213
 
249
214
  sig { params(is_refundable: T::Boolean).void }
250
215
  attr_writer :is_refundable
251
216
 
252
- sig { returns(T.nilable(String)) }
253
- attr_reader :name
254
-
255
- sig { params(name: String).void }
256
- attr_writer :name
257
-
258
217
  # This field's availability is dependent on your client's configuration.
259
218
  sig { returns(T.nilable(String)) }
260
219
  attr_reader :netsuite_internal_item_id
@@ -297,7 +256,9 @@ module MetronomeSDK
297
256
  # "divide".
298
257
  sig do
299
258
  returns(
300
- T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion)
259
+ T.nilable(
260
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityConversion
261
+ )
301
262
  )
302
263
  end
303
264
  attr_reader :quantity_conversion
@@ -306,7 +267,7 @@ module MetronomeSDK
306
267
  params(
307
268
  quantity_conversion:
308
269
  T.nilable(
309
- MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
270
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityConversion::OrHash
310
271
  )
311
272
  ).void
312
273
  end
@@ -318,7 +279,9 @@ module MetronomeSDK
318
279
  # rounded up to the nearest integer.
319
280
  sig do
320
281
  returns(
321
- T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding)
282
+ T.nilable(
283
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityRounding
284
+ )
322
285
  )
323
286
  end
324
287
  attr_reader :quantity_rounding
@@ -327,7 +290,7 @@ module MetronomeSDK
327
290
  params(
328
291
  quantity_rounding:
329
292
  T.nilable(
330
- MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
293
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityRounding::OrHash
331
294
  )
332
295
  ).void
333
296
  end
@@ -349,23 +312,23 @@ module MetronomeSDK
349
312
  params(
350
313
  created_at: Time,
351
314
  created_by: String,
315
+ name: String,
352
316
  billable_metric_id: String,
353
317
  composite_product_ids: T::Array[String],
354
318
  composite_tags: T::Array[String],
355
319
  exclude_free_usage: T::Boolean,
356
320
  is_refundable: T::Boolean,
357
- name: String,
358
321
  netsuite_internal_item_id: String,
359
322
  netsuite_overage_item_id: String,
360
323
  presentation_group_key: T::Array[String],
361
324
  pricing_group_key: T::Array[String],
362
325
  quantity_conversion:
363
326
  T.nilable(
364
- MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
327
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityConversion::OrHash
365
328
  ),
366
329
  quantity_rounding:
367
330
  T.nilable(
368
- MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
331
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityRounding::OrHash
369
332
  ),
370
333
  starting_at: Time,
371
334
  tags: T::Array[String]
@@ -374,12 +337,13 @@ module MetronomeSDK
374
337
  def self.new(
375
338
  created_at:,
376
339
  created_by:,
340
+ name:,
377
341
  billable_metric_id: nil,
378
342
  composite_product_ids: nil,
379
343
  composite_tags: nil,
380
344
  exclude_free_usage: nil,
345
+ # This field's availability is dependent on your client's configuration.
381
346
  is_refundable: nil,
382
- name: nil,
383
347
  # This field's availability is dependent on your client's configuration.
384
348
  netsuite_internal_item_id: nil,
385
349
  # This field's availability is dependent on your client's configuration.
@@ -416,22 +380,24 @@ module MetronomeSDK
416
380
  {
417
381
  created_at: Time,
418
382
  created_by: String,
383
+ name: String,
419
384
  billable_metric_id: String,
420
385
  composite_product_ids: T::Array[String],
421
386
  composite_tags: T::Array[String],
422
387
  exclude_free_usage: T::Boolean,
423
388
  is_refundable: T::Boolean,
424
- name: String,
425
389
  netsuite_internal_item_id: String,
426
390
  netsuite_overage_item_id: String,
427
391
  presentation_group_key: T::Array[String],
428
392
  pricing_group_key: T::Array[String],
429
393
  quantity_conversion:
430
394
  T.nilable(
431
- MetronomeSDK::V1::Contracts::QuantityConversion
395
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityConversion
432
396
  ),
433
397
  quantity_rounding:
434
- T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding),
398
+ T.nilable(
399
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityRounding
400
+ ),
435
401
  starting_at: Time,
436
402
  tags: T::Array[String]
437
403
  }
@@ -439,6 +405,1101 @@ module MetronomeSDK
439
405
  end
440
406
  def to_hash
441
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(
546
+ {
547
+ decimal_places: Float,
548
+ rounding_method:
549
+ MetronomeSDK::Models::V1::Contracts::ProductRetrieveResponse::Data::Current::QuantityRounding::RoundingMethod::TaggedSymbol
550
+ }
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
1502
+ end
442
1503
  end
443
1504
  end
444
1505
  end