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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -16,32 +16,22 @@ module MetronomeSDK
16
16
  sig { returns(String) }
17
17
  attr_accessor :id
18
18
 
19
- sig do
20
- returns(
21
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current
22
- )
23
- end
19
+ sig { returns(MetronomeSDK::V1::Contracts::ProductListItemState) }
24
20
  attr_reader :current
25
21
 
26
22
  sig do
27
23
  params(
28
- current:
29
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::OrHash
24
+ current: MetronomeSDK::V1::Contracts::ProductListItemState::OrHash
30
25
  ).void
31
26
  end
32
27
  attr_writer :current
33
28
 
34
- sig do
35
- returns(
36
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial
37
- )
38
- end
29
+ sig { returns(MetronomeSDK::V1::Contracts::ProductListItemState) }
39
30
  attr_reader :initial
40
31
 
41
32
  sig do
42
33
  params(
43
- initial:
44
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::OrHash
34
+ initial: MetronomeSDK::V1::Contracts::ProductListItemState::OrHash
45
35
  ).void
46
36
  end
47
37
  attr_writer :initial
@@ -75,9 +65,9 @@ module MetronomeSDK
75
65
  params(
76
66
  id: String,
77
67
  current:
78
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::OrHash,
68
+ MetronomeSDK::V1::Contracts::ProductListItemState::OrHash,
79
69
  initial:
80
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::OrHash,
70
+ MetronomeSDK::V1::Contracts::ProductListItemState::OrHash,
81
71
  type:
82
72
  MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::OrSymbol,
83
73
  updates:
@@ -103,10 +93,8 @@ module MetronomeSDK
103
93
  override.returns(
104
94
  {
105
95
  id: String,
106
- current:
107
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current,
108
- initial:
109
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial,
96
+ current: MetronomeSDK::V1::Contracts::ProductListItemState,
97
+ initial: MetronomeSDK::V1::Contracts::ProductListItemState,
110
98
  type:
111
99
  MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type::TaggedSymbol,
112
100
  updates:
@@ -121,11 +109,60 @@ module MetronomeSDK
121
109
  def to_hash
122
110
  end
123
111
 
124
- class Current < MetronomeSDK::Internal::Type::BaseModel
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
125
162
  OrHash =
126
163
  T.type_alias do
127
164
  T.any(
128
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current,
165
+ MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update,
129
166
  MetronomeSDK::Internal::AnyHash
130
167
  )
131
168
  end
@@ -136,9 +173,6 @@ module MetronomeSDK
136
173
  sig { returns(String) }
137
174
  attr_accessor :created_by
138
175
 
139
- sig { returns(String) }
140
- attr_accessor :name
141
-
142
176
  sig { returns(T.nilable(String)) }
143
177
  attr_reader :billable_metric_id
144
178
 
@@ -163,13 +197,18 @@ module MetronomeSDK
163
197
  sig { params(exclude_free_usage: T::Boolean).void }
164
198
  attr_writer :exclude_free_usage
165
199
 
166
- # This field's availability is dependent on your client's configuration.
167
200
  sig { returns(T.nilable(T::Boolean)) }
168
201
  attr_reader :is_refundable
169
202
 
170
203
  sig { params(is_refundable: T::Boolean).void }
171
204
  attr_writer :is_refundable
172
205
 
206
+ sig { returns(T.nilable(String)) }
207
+ attr_reader :name
208
+
209
+ sig { params(name: String).void }
210
+ attr_writer :name
211
+
173
212
  # This field's availability is dependent on your client's configuration.
174
213
  sig { returns(T.nilable(String)) }
175
214
  attr_reader :netsuite_internal_item_id
@@ -212,9 +251,7 @@ module MetronomeSDK
212
251
  # "divide".
213
252
  sig do
214
253
  returns(
215
- T.nilable(
216
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion
217
- )
254
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion)
218
255
  )
219
256
  end
220
257
  attr_reader :quantity_conversion
@@ -223,7 +260,7 @@ module MetronomeSDK
223
260
  params(
224
261
  quantity_conversion:
225
262
  T.nilable(
226
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::OrHash
263
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
227
264
  )
228
265
  ).void
229
266
  end
@@ -234,11 +271,7 @@ module MetronomeSDK
234
271
  # the method is "round up" and the decimal places is 0, then the quantity will be
235
272
  # rounded up to the nearest integer.
236
273
  sig do
237
- returns(
238
- T.nilable(
239
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding
240
- )
241
- )
274
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding))
242
275
  end
243
276
  attr_reader :quantity_rounding
244
277
 
@@ -246,7 +279,7 @@ module MetronomeSDK
246
279
  params(
247
280
  quantity_rounding:
248
281
  T.nilable(
249
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::OrHash
282
+ MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
250
283
  )
251
284
  ).void
252
285
  end
@@ -268,23 +301,23 @@ module MetronomeSDK
268
301
  params(
269
302
  created_at: Time,
270
303
  created_by: String,
271
- name: String,
272
304
  billable_metric_id: String,
273
305
  composite_product_ids: T::Array[String],
274
306
  composite_tags: T::Array[String],
275
307
  exclude_free_usage: T::Boolean,
276
308
  is_refundable: T::Boolean,
309
+ name: String,
277
310
  netsuite_internal_item_id: String,
278
311
  netsuite_overage_item_id: String,
279
312
  presentation_group_key: T::Array[String],
280
313
  pricing_group_key: T::Array[String],
281
314
  quantity_conversion:
282
315
  T.nilable(
283
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::OrHash
316
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
284
317
  ),
285
318
  quantity_rounding:
286
319
  T.nilable(
287
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::OrHash
320
+ MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
288
321
  ),
289
322
  starting_at: Time,
290
323
  tags: T::Array[String]
@@ -293,13 +326,12 @@ module MetronomeSDK
293
326
  def self.new(
294
327
  created_at:,
295
328
  created_by:,
296
- name:,
297
329
  billable_metric_id: nil,
298
330
  composite_product_ids: nil,
299
331
  composite_tags: nil,
300
332
  exclude_free_usage: nil,
301
- # This field's availability is dependent on your client's configuration.
302
333
  is_refundable: nil,
334
+ name: nil,
303
335
  # This field's availability is dependent on your client's configuration.
304
336
  netsuite_internal_item_id: nil,
305
337
  # This field's availability is dependent on your client's configuration.
@@ -336,24 +368,20 @@ module MetronomeSDK
336
368
  {
337
369
  created_at: Time,
338
370
  created_by: String,
339
- name: String,
340
371
  billable_metric_id: String,
341
372
  composite_product_ids: T::Array[String],
342
373
  composite_tags: T::Array[String],
343
374
  exclude_free_usage: T::Boolean,
344
375
  is_refundable: T::Boolean,
376
+ name: String,
345
377
  netsuite_internal_item_id: String,
346
378
  netsuite_overage_item_id: String,
347
379
  presentation_group_key: T::Array[String],
348
380
  pricing_group_key: T::Array[String],
349
381
  quantity_conversion:
350
- T.nilable(
351
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion
352
- ),
382
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion),
353
383
  quantity_rounding:
354
- T.nilable(
355
- MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding
356
- ),
384
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding),
357
385
  starting_at: Time,
358
386
  tags: T::Array[String]
359
387
  }
@@ -361,1101 +389,6 @@ module MetronomeSDK
361
389
  end
362
390
  def to_hash
363
391
  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
1459
392
  end
1460
393
  end
1461
394
  end