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