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
@@ -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