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
@@ -104,10 +104,8 @@ module MetronomeSDK
104
104
  # GB. In this case, the conversion factor would be 1024 and the operation would be
105
105
  # "divide".
106
106
  #
107
- # @return [MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityConversion, nil]
108
- optional :quantity_conversion,
109
- -> { MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion },
110
- nil?: true
107
+ # @return [MetronomeSDK::Models::V1::Contracts::QuantityConversion, nil]
108
+ optional :quantity_conversion, -> { MetronomeSDK::V1::Contracts::QuantityConversion }, nil?: true
111
109
 
112
110
  # @!attribute quantity_rounding
113
111
  # Optional. Only valid for USAGE products. If provided, the quantity will be
@@ -115,10 +113,8 @@ module MetronomeSDK
115
113
  # the method is "round up" and the decimal places is 0, then the quantity will be
116
114
  # rounded up to the nearest integer.
117
115
  #
118
- # @return [MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityRounding, nil]
119
- optional :quantity_rounding,
120
- -> { MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding },
121
- nil?: true
116
+ # @return [MetronomeSDK::Models::V1::Contracts::QuantityRounding, nil]
117
+ optional :quantity_rounding, -> { MetronomeSDK::V1::Contracts::QuantityRounding }, nil?: true
122
118
 
123
119
  # @!attribute tags
124
120
  # If not provided, defaults to product's current tags
@@ -154,100 +150,13 @@ module MetronomeSDK
154
150
  #
155
151
  # @param pricing_group_key [Array<String>] For USAGE products only. If set, pricing for this product will be determined for
156
152
  #
157
- # @param quantity_conversion [MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityConversion, nil] Optional. Only valid for USAGE products. If provided, the quantity will be conve
153
+ # @param quantity_conversion [MetronomeSDK::Models::V1::Contracts::QuantityConversion, nil] Optional. Only valid for USAGE products. If provided, the quantity will be conve
158
154
  #
159
- # @param quantity_rounding [MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityRounding, nil] Optional. Only valid for USAGE products. If provided, the quantity will be round
155
+ # @param quantity_rounding [MetronomeSDK::Models::V1::Contracts::QuantityRounding, nil] Optional. Only valid for USAGE products. If provided, the quantity will be round
160
156
  #
161
157
  # @param tags [Array<String>] If not provided, defaults to product's current tags
162
158
  #
163
159
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
164
-
165
- class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
166
- # @!attribute conversion_factor
167
- # The factor to multiply or divide the quantity by.
168
- #
169
- # @return [Float]
170
- required :conversion_factor, Float
171
-
172
- # @!attribute operation
173
- # The operation to perform on the quantity
174
- #
175
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation]
176
- required :operation,
177
- enum: -> {
178
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation
179
- }
180
-
181
- # @!attribute name
182
- # Optional name for this conversion.
183
- #
184
- # @return [String, nil]
185
- optional :name, String
186
-
187
- # @!method initialize(conversion_factor:, operation:, name: nil)
188
- # Optional. Only valid for USAGE products. If provided, the quantity will be
189
- # converted using the provided conversion factor and operation. For example, if
190
- # the operation is "multiply" and the conversion factor is 100, then the quantity
191
- # will be multiplied by 100. This can be used in cases where data is sent in one
192
- # unit and priced in another. For example, data could be sent in MB and priced in
193
- # GB. In this case, the conversion factor would be 1024 and the operation would be
194
- # "divide".
195
- #
196
- # @param conversion_factor [Float] The factor to multiply or divide the quantity by.
197
- #
198
- # @param operation [Symbol, MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation] The operation to perform on the quantity
199
- #
200
- # @param name [String] Optional name for this conversion.
201
-
202
- # The operation to perform on the quantity
203
- #
204
- # @see MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityConversion#operation
205
- module Operation
206
- extend MetronomeSDK::Internal::Type::Enum
207
-
208
- MULTIPLY = :MULTIPLY
209
- DIVIDE = :DIVIDE
210
-
211
- # @!method self.values
212
- # @return [Array<Symbol>]
213
- end
214
- end
215
-
216
- class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
217
- # @!attribute decimal_places
218
- #
219
- # @return [Float]
220
- required :decimal_places, Float
221
-
222
- # @!attribute rounding_method
223
- #
224
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod]
225
- required :rounding_method,
226
- enum: -> {
227
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod
228
- }
229
-
230
- # @!method initialize(decimal_places:, rounding_method:)
231
- # Optional. Only valid for USAGE products. If provided, the quantity will be
232
- # rounded using the provided rounding method and decimal places. For example, if
233
- # the method is "round up" and the decimal places is 0, then the quantity will be
234
- # rounded up to the nearest integer.
235
- #
236
- # @param decimal_places [Float]
237
- # @param rounding_method [Symbol, MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod]
238
-
239
- # @see MetronomeSDK::Models::V1::Contracts::ProductUpdateParams::QuantityRounding#rounding_method
240
- module RoundingMethod
241
- extend MetronomeSDK::Internal::Type::Enum
242
-
243
- ROUND_UP = :ROUND_UP
244
- ROUND_DOWN = :ROUND_DOWN
245
- ROUND_HALF_UP = :ROUND_HALF_UP
246
-
247
- # @!method self.values
248
- # @return [Array<Symbol>]
249
- end
250
- end
251
160
  end
252
161
  end
253
162
  end
@@ -8,22 +8,11 @@ module MetronomeSDK
8
8
  class ProductUpdateResponse < MetronomeSDK::Internal::Type::BaseModel
9
9
  # @!attribute data
10
10
  #
11
- # @return [MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data]
12
- required :data, -> { MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data }
11
+ # @return [MetronomeSDK::Models::ID]
12
+ required :data, -> { MetronomeSDK::ID }
13
13
 
14
14
  # @!method initialize(data:)
15
- # @param data [MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data]
16
-
17
- # @see MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse#data
18
- class Data < MetronomeSDK::Internal::Type::BaseModel
19
- # @!attribute id
20
- #
21
- # @return [String]
22
- required :id, String
23
-
24
- # @!method initialize(id:)
25
- # @param id [String]
26
- end
15
+ # @param data [MetronomeSDK::Models::ID]
27
16
  end
28
17
  end
29
18
  end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Contracts
7
+ class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute conversion_factor
9
+ # The factor to multiply or divide the quantity by.
10
+ #
11
+ # @return [Float]
12
+ required :conversion_factor, Float
13
+
14
+ # @!attribute operation
15
+ # The operation to perform on the quantity
16
+ #
17
+ # @return [Symbol, MetronomeSDK::Models::V1::Contracts::QuantityConversion::Operation]
18
+ required :operation, enum: -> { MetronomeSDK::V1::Contracts::QuantityConversion::Operation }
19
+
20
+ # @!attribute name
21
+ # Optional name for this conversion.
22
+ #
23
+ # @return [String, nil]
24
+ optional :name, String
25
+
26
+ # @!method initialize(conversion_factor:, operation:, name: nil)
27
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
28
+ # converted using the provided conversion factor and operation. For example, if
29
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
30
+ # will be multiplied by 100. This can be used in cases where data is sent in one
31
+ # unit and priced in another. For example, data could be sent in MB and priced in
32
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
33
+ # "divide".
34
+ #
35
+ # @param conversion_factor [Float] The factor to multiply or divide the quantity by.
36
+ #
37
+ # @param operation [Symbol, MetronomeSDK::Models::V1::Contracts::QuantityConversion::Operation] The operation to perform on the quantity
38
+ #
39
+ # @param name [String] Optional name for this conversion.
40
+
41
+ # The operation to perform on the quantity
42
+ #
43
+ # @see MetronomeSDK::Models::V1::Contracts::QuantityConversion#operation
44
+ module Operation
45
+ extend MetronomeSDK::Internal::Type::Enum
46
+
47
+ MULTIPLY = :MULTIPLY
48
+ DIVIDE = :DIVIDE
49
+
50
+ # @!method self.values
51
+ # @return [Array<Symbol>]
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Contracts
7
+ class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute decimal_places
9
+ #
10
+ # @return [Float]
11
+ required :decimal_places, Float
12
+
13
+ # @!attribute rounding_method
14
+ #
15
+ # @return [Symbol, MetronomeSDK::Models::V1::Contracts::QuantityRounding::RoundingMethod]
16
+ required :rounding_method,
17
+ enum: -> {
18
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod
19
+ }
20
+
21
+ # @!method initialize(decimal_places:, rounding_method:)
22
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
23
+ # rounded using the provided rounding method and decimal places. For example, if
24
+ # the method is "round up" and the decimal places is 0, then the quantity will be
25
+ # rounded up to the nearest integer.
26
+ #
27
+ # @param decimal_places [Float]
28
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V1::Contracts::QuantityRounding::RoundingMethod]
29
+
30
+ # @see MetronomeSDK::Models::V1::Contracts::QuantityRounding#rounding_method
31
+ module RoundingMethod
32
+ extend MetronomeSDK::Internal::Type::Enum
33
+
34
+ ROUND_UP = :ROUND_UP
35
+ ROUND_DOWN = :ROUND_DOWN
36
+ ROUND_HALF_UP = :ROUND_HALF_UP
37
+
38
+ # @!method self.values
39
+ # @return [Array<Symbol>]
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -5,17 +5,11 @@ module MetronomeSDK
5
5
  module V1
6
6
  module Contracts
7
7
  # @see MetronomeSDK::Resources::V1::Contracts::RateCards#archive
8
- class RateCardArchiveParams < MetronomeSDK::Internal::Type::BaseModel
8
+ class RateCardArchiveParams < 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
@@ -8,22 +8,11 @@ module MetronomeSDK
8
8
  class RateCardArchiveResponse < MetronomeSDK::Internal::Type::BaseModel
9
9
  # @!attribute data
10
10
  #
11
- # @return [MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data]
12
- required :data, -> { MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data }
11
+ # @return [MetronomeSDK::Models::ID]
12
+ required :data, -> { MetronomeSDK::ID }
13
13
 
14
14
  # @!method initialize(data:)
15
- # @param data [MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data]
16
-
17
- # @see MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse#data
18
- class Data < MetronomeSDK::Internal::Type::BaseModel
19
- # @!attribute id
20
- #
21
- # @return [String]
22
- required :id, String
23
-
24
- # @!method initialize(id:)
25
- # @param id [String]
26
- end
15
+ # @param data [MetronomeSDK::Models::ID]
27
16
  end
28
17
  end
29
18
  end
@@ -8,22 +8,11 @@ module MetronomeSDK
8
8
  class RateCardCreateResponse < MetronomeSDK::Internal::Type::BaseModel
9
9
  # @!attribute data
10
10
  #
11
- # @return [MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data]
12
- required :data, -> { MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data }
11
+ # @return [MetronomeSDK::Models::ID]
12
+ required :data, -> { MetronomeSDK::ID }
13
13
 
14
14
  # @!method initialize(data:)
15
- # @param data [MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data]
16
-
17
- # @see MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse#data
18
- class Data < MetronomeSDK::Internal::Type::BaseModel
19
- # @!attribute id
20
- #
21
- # @return [String]
22
- required :id, String
23
-
24
- # @!method initialize(id:)
25
- # @param id [String]
26
- end
15
+ # @param data [MetronomeSDK::Models::ID]
27
16
  end
28
17
  end
29
18
  end
@@ -50,9 +50,8 @@ module MetronomeSDK
50
50
 
51
51
  # @!attribute fiat_credit_type
52
52
  #
53
- # @return [MetronomeSDK::Models::V1::Contracts::RateCardListResponse::FiatCreditType, nil]
54
- optional :fiat_credit_type,
55
- -> { MetronomeSDK::Models::V1::Contracts::RateCardListResponse::FiatCreditType }
53
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
54
+ optional :fiat_credit_type, -> { MetronomeSDK::CreditTypeData }
56
55
 
57
56
  # @!method initialize(id:, created_at:, created_by:, name:, aliases: nil, credit_type_conversions: nil, custom_fields: nil, description: nil, fiat_credit_type: nil)
58
57
  # @param id [String]
@@ -63,7 +62,7 @@ module MetronomeSDK
63
62
  # @param credit_type_conversions [Array<MetronomeSDK::Models::V1::Contracts::RateCardListResponse::CreditTypeConversion>]
64
63
  # @param custom_fields [Hash{Symbol=>String}]
65
64
  # @param description [String]
66
- # @param fiat_credit_type [MetronomeSDK::Models::V1::Contracts::RateCardListResponse::FiatCreditType]
65
+ # @param fiat_credit_type [MetronomeSDK::Models::CreditTypeData]
67
66
 
68
67
  class Alias < MetronomeSDK::Internal::Type::BaseModel
69
68
  # @!attribute name
@@ -90,9 +89,8 @@ module MetronomeSDK
90
89
  class CreditTypeConversion < MetronomeSDK::Internal::Type::BaseModel
91
90
  # @!attribute custom_credit_type
92
91
  #
93
- # @return [MetronomeSDK::Models::V1::Contracts::RateCardListResponse::CreditTypeConversion::CustomCreditType]
94
- required :custom_credit_type,
95
- -> { MetronomeSDK::Models::V1::Contracts::RateCardListResponse::CreditTypeConversion::CustomCreditType }
92
+ # @return [MetronomeSDK::Models::CreditTypeData]
93
+ required :custom_credit_type, -> { MetronomeSDK::CreditTypeData }
96
94
 
97
95
  # @!attribute fiat_per_custom_credit
98
96
  #
@@ -100,42 +98,8 @@ module MetronomeSDK
100
98
  required :fiat_per_custom_credit, String
101
99
 
102
100
  # @!method initialize(custom_credit_type:, fiat_per_custom_credit:)
103
- # @param custom_credit_type [MetronomeSDK::Models::V1::Contracts::RateCardListResponse::CreditTypeConversion::CustomCreditType]
101
+ # @param custom_credit_type [MetronomeSDK::Models::CreditTypeData]
104
102
  # @param fiat_per_custom_credit [String]
105
-
106
- # @see MetronomeSDK::Models::V1::Contracts::RateCardListResponse::CreditTypeConversion#custom_credit_type
107
- class CustomCreditType < MetronomeSDK::Internal::Type::BaseModel
108
- # @!attribute id
109
- #
110
- # @return [String]
111
- required :id, String
112
-
113
- # @!attribute name
114
- #
115
- # @return [String]
116
- required :name, String
117
-
118
- # @!method initialize(id:, name:)
119
- # @param id [String]
120
- # @param name [String]
121
- end
122
- end
123
-
124
- # @see MetronomeSDK::Models::V1::Contracts::RateCardListResponse#fiat_credit_type
125
- class FiatCreditType < MetronomeSDK::Internal::Type::BaseModel
126
- # @!attribute id
127
- #
128
- # @return [String]
129
- required :id, String
130
-
131
- # @!attribute name
132
- #
133
- # @return [String]
134
- required :name, String
135
-
136
- # @!method initialize(id:, name:)
137
- # @param id [String]
138
- # @param name [String]
139
103
  end
140
104
  end
141
105
  end
@@ -5,17 +5,11 @@ module MetronomeSDK
5
5
  module V1
6
6
  module Contracts
7
7
  # @see MetronomeSDK::Resources::V1::Contracts::RateCards#retrieve
8
- class RateCardRetrieveParams < MetronomeSDK::Internal::Type::BaseModel
8
+ class RateCardRetrieveParams < 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
@@ -49,9 +49,8 @@ module MetronomeSDK
49
49
 
50
50
  # @!attribute rate
51
51
  #
52
- # @return [MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate]
53
- required :rate,
54
- -> { MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate }
52
+ # @return [MetronomeSDK::Models::Rate]
53
+ required :rate, -> { MetronomeSDK::Rate }
55
54
 
56
55
  # @!attribute starting_at
57
56
  #
@@ -97,7 +96,7 @@ module MetronomeSDK
97
96
  #
98
97
  # @param product_tags [Array<String>]
99
98
  #
100
- # @param rate [MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate]
99
+ # @param rate [MetronomeSDK::Models::Rate]
101
100
  #
102
101
  # @param starting_at [Time]
103
102
  #
@@ -109,141 +108,6 @@ module MetronomeSDK
109
108
  #
110
109
  # @param pricing_group_values [Hash{Symbol=>String}]
111
110
 
112
- # @see MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data#rate
113
- class Rate < MetronomeSDK::Internal::Type::BaseModel
114
- # @!attribute rate_type
115
- #
116
- # @return [Symbol, MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::RateType]
117
- required :rate_type,
118
- enum: -> { MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::RateType }
119
-
120
- # @!attribute credit_type
121
- #
122
- # @return [MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::CreditType, nil]
123
- optional :credit_type,
124
- -> { MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::CreditType }
125
-
126
- # @!attribute custom_rate
127
- # Only set for CUSTOM rate_type. This field is interpreted by custom rate
128
- # processors.
129
- #
130
- # @return [Hash{Symbol=>Object}, nil]
131
- optional :custom_rate,
132
- MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
133
-
134
- # @!attribute is_prorated
135
- # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
136
- # set to true.
137
- #
138
- # @return [Boolean, nil]
139
- optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
140
-
141
- # @!attribute price
142
- # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
143
- # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
144
- #
145
- # @return [Float, nil]
146
- optional :price, Float
147
-
148
- # @!attribute pricing_group_values
149
- # if pricing groups are used, this will contain the values used to calculate the
150
- # price
151
- #
152
- # @return [Hash{Symbol=>String}, nil]
153
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
154
-
155
- # @!attribute quantity
156
- # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
157
- #
158
- # @return [Float, nil]
159
- optional :quantity, Float
160
-
161
- # @!attribute tiers
162
- # Only set for TIERED rate_type.
163
- #
164
- # @return [Array<MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::Tier>, nil]
165
- optional :tiers,
166
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::Tier] }
167
-
168
- # @!attribute use_list_prices
169
- # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
170
- # using list prices rather than the standard rates for this product on the
171
- # contract.
172
- #
173
- # @return [Boolean, nil]
174
- optional :use_list_prices, MetronomeSDK::Internal::Type::Boolean
175
-
176
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, pricing_group_values: nil, quantity: nil, tiers: nil, use_list_prices: nil)
177
- # Some parameter documentations has been truncated, see
178
- # {MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate}
179
- # for more details.
180
- #
181
- # @param rate_type [Symbol, MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::RateType]
182
- #
183
- # @param credit_type [MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::CreditType]
184
- #
185
- # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
186
- #
187
- # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
188
- #
189
- # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
190
- #
191
- # @param pricing_group_values [Hash{Symbol=>String}] if pricing groups are used, this will contain the values used to calculate the p
192
- #
193
- # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
194
- #
195
- # @param tiers [Array<MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate::Tier>] Only set for TIERED rate_type.
196
- #
197
- # @param use_list_prices [Boolean] Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
198
-
199
- # @see MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate#rate_type
200
- module RateType
201
- extend MetronomeSDK::Internal::Type::Enum
202
-
203
- FLAT = :FLAT
204
- PERCENTAGE = :PERCENTAGE
205
- SUBSCRIPTION = :SUBSCRIPTION
206
- CUSTOM = :CUSTOM
207
- TIERED = :TIERED
208
-
209
- # @!method self.values
210
- # @return [Array<Symbol>]
211
- end
212
-
213
- # @see MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::Rate#credit_type
214
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
215
- # @!attribute id
216
- #
217
- # @return [String]
218
- required :id, String
219
-
220
- # @!attribute name
221
- #
222
- # @return [String]
223
- required :name, String
224
-
225
- # @!method initialize(id:, name:)
226
- # @param id [String]
227
- # @param name [String]
228
- end
229
-
230
- class Tier < MetronomeSDK::Internal::Type::BaseModel
231
- # @!attribute price
232
- #
233
- # @return [Float]
234
- required :price, Float
235
-
236
- # @!attribute size
237
- #
238
- # @return [Float, nil]
239
- optional :size, Float
240
-
241
- # @!method initialize(price:, size: nil)
242
- # @param price [Float]
243
- # @param size [Float]
244
- end
245
- end
246
-
247
111
  # @see MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data#billing_frequency
248
112
  module BillingFrequency
249
113
  extend MetronomeSDK::Internal::Type::Enum
@@ -274,9 +138,8 @@ module MetronomeSDK
274
138
  # @!attribute tiers
275
139
  # Only set for TIERED rate_type.
276
140
  #
277
- # @return [Array<MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::Tier>, nil]
278
- optional :tiers,
279
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::Tier] }
141
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
142
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
280
143
 
281
144
  # @!method initialize(rate_type:, price: nil, tiers: nil)
282
145
  # A distinct rate on the rate card. You can choose to use this rate rather than
@@ -286,7 +149,7 @@ module MetronomeSDK
286
149
  #
287
150
  # @param price [Float] Commit rate price. For FLAT rate_type, this must be >=0.
288
151
  #
289
- # @param tiers [Array<MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate::Tier>] Only set for TIERED rate_type.
152
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
290
153
 
291
154
  # @see MetronomeSDK::Models::V1::Contracts::RateCardRetrieveRateScheduleResponse::Data::CommitRate#rate_type
292
155
  module RateType
@@ -301,22 +164,6 @@ module MetronomeSDK
301
164
  # @!method self.values
302
165
  # @return [Array<Symbol>]
303
166
  end
304
-
305
- class Tier < MetronomeSDK::Internal::Type::BaseModel
306
- # @!attribute price
307
- #
308
- # @return [Float]
309
- required :price, Float
310
-
311
- # @!attribute size
312
- #
313
- # @return [Float, nil]
314
- optional :size, Float
315
-
316
- # @!method initialize(price:, size: nil)
317
- # @param price [Float]
318
- # @param size [Float]
319
- end
320
167
  end
321
168
  end
322
169
  end