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

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