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

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -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