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
@@ -13,13 +13,13 @@ module MetronomeSDK
13
13
 
14
14
  # @!attribute current
15
15
  #
16
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current]
17
- required :current, -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current }
16
+ # @return [MetronomeSDK::Models::V1::Contracts::ProductListItemState]
17
+ required :current, -> { MetronomeSDK::V1::Contracts::ProductListItemState }
18
18
 
19
19
  # @!attribute initial
20
20
  #
21
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial]
22
- required :initial, -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial }
21
+ # @return [MetronomeSDK::Models::V1::Contracts::ProductListItemState]
22
+ required :initial, -> { MetronomeSDK::V1::Contracts::ProductListItemState }
23
23
 
24
24
  # @!attribute type
25
25
  #
@@ -44,473 +44,13 @@ module MetronomeSDK
44
44
 
45
45
  # @!method initialize(id:, current:, initial:, type:, updates:, archived_at: nil, custom_fields: nil)
46
46
  # @param id [String]
47
- # @param current [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current]
48
- # @param initial [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial]
47
+ # @param current [MetronomeSDK::Models::V1::Contracts::ProductListItemState]
48
+ # @param initial [MetronomeSDK::Models::V1::Contracts::ProductListItemState]
49
49
  # @param type [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Type]
50
50
  # @param updates [Array<MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update>]
51
51
  # @param archived_at [Time, nil]
52
52
  # @param custom_fields [Hash{Symbol=>String}]
53
53
 
54
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse#current
55
- class Current < MetronomeSDK::Internal::Type::BaseModel
56
- # @!attribute created_at
57
- #
58
- # @return [Time]
59
- required :created_at, Time
60
-
61
- # @!attribute created_by
62
- #
63
- # @return [String]
64
- required :created_by, String
65
-
66
- # @!attribute name
67
- #
68
- # @return [String]
69
- required :name, String
70
-
71
- # @!attribute billable_metric_id
72
- #
73
- # @return [String, nil]
74
- optional :billable_metric_id, String
75
-
76
- # @!attribute composite_product_ids
77
- #
78
- # @return [Array<String>, nil]
79
- optional :composite_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
80
-
81
- # @!attribute composite_tags
82
- #
83
- # @return [Array<String>, nil]
84
- optional :composite_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
85
-
86
- # @!attribute exclude_free_usage
87
- #
88
- # @return [Boolean, nil]
89
- optional :exclude_free_usage, MetronomeSDK::Internal::Type::Boolean
90
-
91
- # @!attribute is_refundable
92
- # This field's availability is dependent on your client's configuration.
93
- #
94
- # @return [Boolean, nil]
95
- optional :is_refundable, MetronomeSDK::Internal::Type::Boolean
96
-
97
- # @!attribute netsuite_internal_item_id
98
- # This field's availability is dependent on your client's configuration.
99
- #
100
- # @return [String, nil]
101
- optional :netsuite_internal_item_id, String
102
-
103
- # @!attribute netsuite_overage_item_id
104
- # This field's availability is dependent on your client's configuration.
105
- #
106
- # @return [String, nil]
107
- optional :netsuite_overage_item_id, String
108
-
109
- # @!attribute presentation_group_key
110
- # For USAGE products only. Groups usage line items on invoices. The superset of
111
- # values in the pricing group key and presentation group key must be set as one
112
- # compound group key on the billable metric.
113
- #
114
- # @return [Array<String>, nil]
115
- optional :presentation_group_key, MetronomeSDK::Internal::Type::ArrayOf[String]
116
-
117
- # @!attribute pricing_group_key
118
- # For USAGE products only. If set, pricing for this product will be determined for
119
- # each pricing_group_key value, as opposed to the product as a whole. The superset
120
- # of values in the pricing group key and presentation group key must be set as one
121
- # compound group key on the billable metric.
122
- #
123
- # @return [Array<String>, nil]
124
- optional :pricing_group_key, MetronomeSDK::Internal::Type::ArrayOf[String]
125
-
126
- # @!attribute quantity_conversion
127
- # Optional. Only valid for USAGE products. If provided, the quantity will be
128
- # converted using the provided conversion factor and operation. For example, if
129
- # the operation is "multiply" and the conversion factor is 100, then the quantity
130
- # will be multiplied by 100. This can be used in cases where data is sent in one
131
- # unit and priced in another. For example, data could be sent in MB and priced in
132
- # GB. In this case, the conversion factor would be 1024 and the operation would be
133
- # "divide".
134
- #
135
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion, nil]
136
- optional :quantity_conversion,
137
- -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion },
138
- nil?: true
139
-
140
- # @!attribute quantity_rounding
141
- # Optional. Only valid for USAGE products. If provided, the quantity will be
142
- # rounded using the provided rounding method and decimal places. For example, if
143
- # the method is "round up" and the decimal places is 0, then the quantity will be
144
- # rounded up to the nearest integer.
145
- #
146
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding, nil]
147
- optional :quantity_rounding,
148
- -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding },
149
- nil?: true
150
-
151
- # @!attribute starting_at
152
- #
153
- # @return [Time, nil]
154
- optional :starting_at, Time
155
-
156
- # @!attribute tags
157
- #
158
- # @return [Array<String>, nil]
159
- optional :tags, MetronomeSDK::Internal::Type::ArrayOf[String]
160
-
161
- # @!method initialize(created_at:, created_by:, name:, billable_metric_id: nil, composite_product_ids: nil, composite_tags: nil, exclude_free_usage: nil, is_refundable: nil, netsuite_internal_item_id: nil, netsuite_overage_item_id: nil, presentation_group_key: nil, pricing_group_key: nil, quantity_conversion: nil, quantity_rounding: nil, starting_at: nil, tags: nil)
162
- # Some parameter documentations has been truncated, see
163
- # {MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current} for more
164
- # details.
165
- #
166
- # @param created_at [Time]
167
- #
168
- # @param created_by [String]
169
- #
170
- # @param name [String]
171
- #
172
- # @param billable_metric_id [String]
173
- #
174
- # @param composite_product_ids [Array<String>]
175
- #
176
- # @param composite_tags [Array<String>]
177
- #
178
- # @param exclude_free_usage [Boolean]
179
- #
180
- # @param is_refundable [Boolean] This field's availability is dependent on your client's configuration.
181
- #
182
- # @param netsuite_internal_item_id [String] This field's availability is dependent on your client's configuration.
183
- #
184
- # @param netsuite_overage_item_id [String] This field's availability is dependent on your client's configuration.
185
- #
186
- # @param presentation_group_key [Array<String>] For USAGE products only. Groups usage line items on invoices. The superset of va
187
- #
188
- # @param pricing_group_key [Array<String>] For USAGE products only. If set, pricing for this product will be determined for
189
- #
190
- # @param quantity_conversion [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion, nil] Optional. Only valid for USAGE products. If provided, the quantity will be conve
191
- #
192
- # @param quantity_rounding [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding, nil] Optional. Only valid for USAGE products. If provided, the quantity will be round
193
- #
194
- # @param starting_at [Time]
195
- #
196
- # @param tags [Array<String>]
197
-
198
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current#quantity_conversion
199
- class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
200
- # @!attribute conversion_factor
201
- # The factor to multiply or divide the quantity by.
202
- #
203
- # @return [Float]
204
- required :conversion_factor, Float
205
-
206
- # @!attribute operation
207
- # The operation to perform on the quantity
208
- #
209
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation]
210
- required :operation,
211
- enum: -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation }
212
-
213
- # @!attribute name
214
- # Optional name for this conversion.
215
- #
216
- # @return [String, nil]
217
- optional :name, String
218
-
219
- # @!method initialize(conversion_factor:, operation:, name: nil)
220
- # Optional. Only valid for USAGE products. If provided, the quantity will be
221
- # converted using the provided conversion factor and operation. For example, if
222
- # the operation is "multiply" and the conversion factor is 100, then the quantity
223
- # will be multiplied by 100. This can be used in cases where data is sent in one
224
- # unit and priced in another. For example, data could be sent in MB and priced in
225
- # GB. In this case, the conversion factor would be 1024 and the operation would be
226
- # "divide".
227
- #
228
- # @param conversion_factor [Float] The factor to multiply or divide the quantity by.
229
- #
230
- # @param operation [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion::Operation] The operation to perform on the quantity
231
- #
232
- # @param name [String] Optional name for this conversion.
233
-
234
- # The operation to perform on the quantity
235
- #
236
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityConversion#operation
237
- module Operation
238
- extend MetronomeSDK::Internal::Type::Enum
239
-
240
- MULTIPLY = :MULTIPLY
241
- DIVIDE = :DIVIDE
242
-
243
- # @!method self.values
244
- # @return [Array<Symbol>]
245
- end
246
- end
247
-
248
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current#quantity_rounding
249
- class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
250
- # @!attribute decimal_places
251
- #
252
- # @return [Float]
253
- required :decimal_places, Float
254
-
255
- # @!attribute rounding_method
256
- #
257
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod]
258
- required :rounding_method,
259
- enum: -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod }
260
-
261
- # @!method initialize(decimal_places:, rounding_method:)
262
- # Optional. Only valid for USAGE products. If provided, the quantity will be
263
- # rounded using the provided rounding method and decimal places. For example, if
264
- # the method is "round up" and the decimal places is 0, then the quantity will be
265
- # rounded up to the nearest integer.
266
- #
267
- # @param decimal_places [Float]
268
- # @param rounding_method [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding::RoundingMethod]
269
-
270
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Current::QuantityRounding#rounding_method
271
- module RoundingMethod
272
- extend MetronomeSDK::Internal::Type::Enum
273
-
274
- ROUND_UP = :ROUND_UP
275
- ROUND_DOWN = :ROUND_DOWN
276
- ROUND_HALF_UP = :ROUND_HALF_UP
277
-
278
- # @!method self.values
279
- # @return [Array<Symbol>]
280
- end
281
- end
282
- end
283
-
284
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse#initial
285
- class Initial < MetronomeSDK::Internal::Type::BaseModel
286
- # @!attribute created_at
287
- #
288
- # @return [Time]
289
- required :created_at, Time
290
-
291
- # @!attribute created_by
292
- #
293
- # @return [String]
294
- required :created_by, String
295
-
296
- # @!attribute name
297
- #
298
- # @return [String]
299
- required :name, String
300
-
301
- # @!attribute billable_metric_id
302
- #
303
- # @return [String, nil]
304
- optional :billable_metric_id, String
305
-
306
- # @!attribute composite_product_ids
307
- #
308
- # @return [Array<String>, nil]
309
- optional :composite_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
310
-
311
- # @!attribute composite_tags
312
- #
313
- # @return [Array<String>, nil]
314
- optional :composite_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
315
-
316
- # @!attribute exclude_free_usage
317
- #
318
- # @return [Boolean, nil]
319
- optional :exclude_free_usage, MetronomeSDK::Internal::Type::Boolean
320
-
321
- # @!attribute is_refundable
322
- # This field's availability is dependent on your client's configuration.
323
- #
324
- # @return [Boolean, nil]
325
- optional :is_refundable, MetronomeSDK::Internal::Type::Boolean
326
-
327
- # @!attribute netsuite_internal_item_id
328
- # This field's availability is dependent on your client's configuration.
329
- #
330
- # @return [String, nil]
331
- optional :netsuite_internal_item_id, String
332
-
333
- # @!attribute netsuite_overage_item_id
334
- # This field's availability is dependent on your client's configuration.
335
- #
336
- # @return [String, nil]
337
- optional :netsuite_overage_item_id, String
338
-
339
- # @!attribute presentation_group_key
340
- # For USAGE products only. Groups usage line items on invoices. The superset of
341
- # values in the pricing group key and presentation group key must be set as one
342
- # compound group key on the billable metric.
343
- #
344
- # @return [Array<String>, nil]
345
- optional :presentation_group_key, MetronomeSDK::Internal::Type::ArrayOf[String]
346
-
347
- # @!attribute pricing_group_key
348
- # For USAGE products only. If set, pricing for this product will be determined for
349
- # each pricing_group_key value, as opposed to the product as a whole. The superset
350
- # of values in the pricing group key and presentation group key must be set as one
351
- # compound group key on the billable metric.
352
- #
353
- # @return [Array<String>, nil]
354
- optional :pricing_group_key, MetronomeSDK::Internal::Type::ArrayOf[String]
355
-
356
- # @!attribute quantity_conversion
357
- # Optional. Only valid for USAGE products. If provided, the quantity will be
358
- # converted using the provided conversion factor and operation. For example, if
359
- # the operation is "multiply" and the conversion factor is 100, then the quantity
360
- # will be multiplied by 100. This can be used in cases where data is sent in one
361
- # unit and priced in another. For example, data could be sent in MB and priced in
362
- # GB. In this case, the conversion factor would be 1024 and the operation would be
363
- # "divide".
364
- #
365
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion, nil]
366
- optional :quantity_conversion,
367
- -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion },
368
- nil?: true
369
-
370
- # @!attribute quantity_rounding
371
- # Optional. Only valid for USAGE products. If provided, the quantity will be
372
- # rounded using the provided rounding method and decimal places. For example, if
373
- # the method is "round up" and the decimal places is 0, then the quantity will be
374
- # rounded up to the nearest integer.
375
- #
376
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding, nil]
377
- optional :quantity_rounding,
378
- -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding },
379
- nil?: true
380
-
381
- # @!attribute starting_at
382
- #
383
- # @return [Time, nil]
384
- optional :starting_at, Time
385
-
386
- # @!attribute tags
387
- #
388
- # @return [Array<String>, nil]
389
- optional :tags, MetronomeSDK::Internal::Type::ArrayOf[String]
390
-
391
- # @!method initialize(created_at:, created_by:, name:, billable_metric_id: nil, composite_product_ids: nil, composite_tags: nil, exclude_free_usage: nil, is_refundable: nil, netsuite_internal_item_id: nil, netsuite_overage_item_id: nil, presentation_group_key: nil, pricing_group_key: nil, quantity_conversion: nil, quantity_rounding: nil, starting_at: nil, tags: nil)
392
- # Some parameter documentations has been truncated, see
393
- # {MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial} for more
394
- # details.
395
- #
396
- # @param created_at [Time]
397
- #
398
- # @param created_by [String]
399
- #
400
- # @param name [String]
401
- #
402
- # @param billable_metric_id [String]
403
- #
404
- # @param composite_product_ids [Array<String>]
405
- #
406
- # @param composite_tags [Array<String>]
407
- #
408
- # @param exclude_free_usage [Boolean]
409
- #
410
- # @param is_refundable [Boolean] This field's availability is dependent on your client's configuration.
411
- #
412
- # @param netsuite_internal_item_id [String] This field's availability is dependent on your client's configuration.
413
- #
414
- # @param netsuite_overage_item_id [String] This field's availability is dependent on your client's configuration.
415
- #
416
- # @param presentation_group_key [Array<String>] For USAGE products only. Groups usage line items on invoices. The superset of va
417
- #
418
- # @param pricing_group_key [Array<String>] For USAGE products only. If set, pricing for this product will be determined for
419
- #
420
- # @param quantity_conversion [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion, nil] Optional. Only valid for USAGE products. If provided, the quantity will be conve
421
- #
422
- # @param quantity_rounding [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding, nil] Optional. Only valid for USAGE products. If provided, the quantity will be round
423
- #
424
- # @param starting_at [Time]
425
- #
426
- # @param tags [Array<String>]
427
-
428
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial#quantity_conversion
429
- class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
430
- # @!attribute conversion_factor
431
- # The factor to multiply or divide the quantity by.
432
- #
433
- # @return [Float]
434
- required :conversion_factor, Float
435
-
436
- # @!attribute operation
437
- # The operation to perform on the quantity
438
- #
439
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation]
440
- required :operation,
441
- enum: -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation }
442
-
443
- # @!attribute name
444
- # Optional name for this conversion.
445
- #
446
- # @return [String, nil]
447
- optional :name, String
448
-
449
- # @!method initialize(conversion_factor:, operation:, name: nil)
450
- # Optional. Only valid for USAGE products. If provided, the quantity will be
451
- # converted using the provided conversion factor and operation. For example, if
452
- # the operation is "multiply" and the conversion factor is 100, then the quantity
453
- # will be multiplied by 100. This can be used in cases where data is sent in one
454
- # unit and priced in another. For example, data could be sent in MB and priced in
455
- # GB. In this case, the conversion factor would be 1024 and the operation would be
456
- # "divide".
457
- #
458
- # @param conversion_factor [Float] The factor to multiply or divide the quantity by.
459
- #
460
- # @param operation [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion::Operation] The operation to perform on the quantity
461
- #
462
- # @param name [String] Optional name for this conversion.
463
-
464
- # The operation to perform on the quantity
465
- #
466
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityConversion#operation
467
- module Operation
468
- extend MetronomeSDK::Internal::Type::Enum
469
-
470
- MULTIPLY = :MULTIPLY
471
- DIVIDE = :DIVIDE
472
-
473
- # @!method self.values
474
- # @return [Array<Symbol>]
475
- end
476
- end
477
-
478
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial#quantity_rounding
479
- class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
480
- # @!attribute decimal_places
481
- #
482
- # @return [Float]
483
- required :decimal_places, Float
484
-
485
- # @!attribute rounding_method
486
- #
487
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod]
488
- required :rounding_method,
489
- enum: -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod }
490
-
491
- # @!method initialize(decimal_places:, rounding_method:)
492
- # Optional. Only valid for USAGE products. If provided, the quantity will be
493
- # rounded using the provided rounding method and decimal places. For example, if
494
- # the method is "round up" and the decimal places is 0, then the quantity will be
495
- # rounded up to the nearest integer.
496
- #
497
- # @param decimal_places [Float]
498
- # @param rounding_method [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding::RoundingMethod]
499
-
500
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Initial::QuantityRounding#rounding_method
501
- module RoundingMethod
502
- extend MetronomeSDK::Internal::Type::Enum
503
-
504
- ROUND_UP = :ROUND_UP
505
- ROUND_DOWN = :ROUND_DOWN
506
- ROUND_HALF_UP = :ROUND_HALF_UP
507
-
508
- # @!method self.values
509
- # @return [Array<Symbol>]
510
- end
511
- end
512
- end
513
-
514
54
  # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse#type
515
55
  module Type
516
56
  extend MetronomeSDK::Internal::Type::Enum
@@ -604,10 +144,8 @@ module MetronomeSDK
604
144
  # GB. In this case, the conversion factor would be 1024 and the operation would be
605
145
  # "divide".
606
146
  #
607
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion, nil]
608
- optional :quantity_conversion,
609
- -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion },
610
- nil?: true
147
+ # @return [MetronomeSDK::Models::V1::Contracts::QuantityConversion, nil]
148
+ optional :quantity_conversion, -> { MetronomeSDK::V1::Contracts::QuantityConversion }, nil?: true
611
149
 
612
150
  # @!attribute quantity_rounding
613
151
  # Optional. Only valid for USAGE products. If provided, the quantity will be
@@ -615,10 +153,8 @@ module MetronomeSDK
615
153
  # the method is "round up" and the decimal places is 0, then the quantity will be
616
154
  # rounded up to the nearest integer.
617
155
  #
618
- # @return [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding, nil]
619
- optional :quantity_rounding,
620
- -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding },
621
- nil?: true
156
+ # @return [MetronomeSDK::Models::V1::Contracts::QuantityRounding, nil]
157
+ optional :quantity_rounding, -> { MetronomeSDK::V1::Contracts::QuantityRounding }, nil?: true
622
158
 
623
159
  # @!attribute starting_at
624
160
  #
@@ -659,98 +195,13 @@ module MetronomeSDK
659
195
  #
660
196
  # @param pricing_group_key [Array<String>] For USAGE products only. If set, pricing for this product will be determined for
661
197
  #
662
- # @param quantity_conversion [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion, nil] Optional. Only valid for USAGE products. If provided, the quantity will be conve
198
+ # @param quantity_conversion [MetronomeSDK::Models::V1::Contracts::QuantityConversion, nil] Optional. Only valid for USAGE products. If provided, the quantity will be conve
663
199
  #
664
- # @param quantity_rounding [MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding, nil] Optional. Only valid for USAGE products. If provided, the quantity will be round
200
+ # @param quantity_rounding [MetronomeSDK::Models::V1::Contracts::QuantityRounding, nil] Optional. Only valid for USAGE products. If provided, the quantity will be round
665
201
  #
666
202
  # @param starting_at [Time]
667
203
  #
668
204
  # @param tags [Array<String>]
669
-
670
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update#quantity_conversion
671
- class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
672
- # @!attribute conversion_factor
673
- # The factor to multiply or divide the quantity by.
674
- #
675
- # @return [Float]
676
- required :conversion_factor, Float
677
-
678
- # @!attribute operation
679
- # The operation to perform on the quantity
680
- #
681
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation]
682
- required :operation,
683
- enum: -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation }
684
-
685
- # @!attribute name
686
- # Optional name for this conversion.
687
- #
688
- # @return [String, nil]
689
- optional :name, String
690
-
691
- # @!method initialize(conversion_factor:, operation:, name: nil)
692
- # Optional. Only valid for USAGE products. If provided, the quantity will be
693
- # converted using the provided conversion factor and operation. For example, if
694
- # the operation is "multiply" and the conversion factor is 100, then the quantity
695
- # will be multiplied by 100. This can be used in cases where data is sent in one
696
- # unit and priced in another. For example, data could be sent in MB and priced in
697
- # GB. In this case, the conversion factor would be 1024 and the operation would be
698
- # "divide".
699
- #
700
- # @param conversion_factor [Float] The factor to multiply or divide the quantity by.
701
- #
702
- # @param operation [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion::Operation] The operation to perform on the quantity
703
- #
704
- # @param name [String] Optional name for this conversion.
705
-
706
- # The operation to perform on the quantity
707
- #
708
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityConversion#operation
709
- module Operation
710
- extend MetronomeSDK::Internal::Type::Enum
711
-
712
- MULTIPLY = :MULTIPLY
713
- DIVIDE = :DIVIDE
714
-
715
- # @!method self.values
716
- # @return [Array<Symbol>]
717
- end
718
- end
719
-
720
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update#quantity_rounding
721
- class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
722
- # @!attribute decimal_places
723
- #
724
- # @return [Float]
725
- required :decimal_places, Float
726
-
727
- # @!attribute rounding_method
728
- #
729
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod]
730
- required :rounding_method,
731
- enum: -> { MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod }
732
-
733
- # @!method initialize(decimal_places:, rounding_method:)
734
- # Optional. Only valid for USAGE products. If provided, the quantity will be
735
- # rounded using the provided rounding method and decimal places. For example, if
736
- # the method is "round up" and the decimal places is 0, then the quantity will be
737
- # rounded up to the nearest integer.
738
- #
739
- # @param decimal_places [Float]
740
- # @param rounding_method [Symbol, MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding::RoundingMethod]
741
-
742
- # @see MetronomeSDK::Models::V1::Contracts::ProductListResponse::Update::QuantityRounding#rounding_method
743
- module RoundingMethod
744
- extend MetronomeSDK::Internal::Type::Enum
745
-
746
- ROUND_UP = :ROUND_UP
747
- ROUND_DOWN = :ROUND_DOWN
748
- ROUND_HALF_UP = :ROUND_HALF_UP
749
-
750
- # @!method self.values
751
- # @return [Array<Symbol>]
752
- end
753
- end
754
205
  end
755
206
  end
756
207
  end
@@ -5,17 +5,11 @@ module MetronomeSDK
5
5
  module V1
6
6
  module Contracts
7
7
  # @see MetronomeSDK::Resources::V1::Contracts::Products#retrieve
8
- class ProductRetrieveParams < MetronomeSDK::Internal::Type::BaseModel
8
+ class ProductRetrieveParams < MetronomeSDK::Models::ID
9
9
  extend MetronomeSDK::Internal::Type::RequestParameters::Converter
10
10
  include MetronomeSDK::Internal::Type::RequestParameters
11
11
 
12
- # @!attribute id
13
- #
14
- # @return [String]
15
- required :id, String
16
-
17
- # @!method initialize(id:, request_options: {})
18
- # @param id [String]
12
+ # @!method initialize(request_options: {})
19
13
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
20
14
  end
21
15
  end