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
@@ -116,11 +116,7 @@ module MetronomeSDK
116
116
  # GB. In this case, the conversion factor would be 1024 and the operation would be
117
117
  # "divide".
118
118
  sig do
119
- returns(
120
- T.nilable(
121
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion
122
- )
123
- )
119
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion))
124
120
  end
125
121
  attr_reader :quantity_conversion
126
122
 
@@ -128,7 +124,7 @@ module MetronomeSDK
128
124
  params(
129
125
  quantity_conversion:
130
126
  T.nilable(
131
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::OrHash
127
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
132
128
  )
133
129
  ).void
134
130
  end
@@ -139,20 +135,14 @@ module MetronomeSDK
139
135
  # the method is "round up" and the decimal places is 0, then the quantity will be
140
136
  # rounded up to the nearest integer.
141
137
  sig do
142
- returns(
143
- T.nilable(
144
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding
145
- )
146
- )
138
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding))
147
139
  end
148
140
  attr_reader :quantity_rounding
149
141
 
150
142
  sig do
151
143
  params(
152
144
  quantity_rounding:
153
- T.nilable(
154
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::OrHash
155
- )
145
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding::OrHash)
156
146
  ).void
157
147
  end
158
148
  attr_writer :quantity_rounding
@@ -180,11 +170,11 @@ module MetronomeSDK
180
170
  pricing_group_key: T::Array[String],
181
171
  quantity_conversion:
182
172
  T.nilable(
183
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::OrHash
173
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
184
174
  ),
185
175
  quantity_rounding:
186
176
  T.nilable(
187
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::OrHash
177
+ MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
188
178
  ),
189
179
  tags: T::Array[String],
190
180
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -264,13 +254,9 @@ module MetronomeSDK
264
254
  presentation_group_key: T::Array[String],
265
255
  pricing_group_key: T::Array[String],
266
256
  quantity_conversion:
267
- T.nilable(
268
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion
269
- ),
257
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion),
270
258
  quantity_rounding:
271
- T.nilable(
272
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding
273
- ),
259
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding),
274
260
  tags: T::Array[String],
275
261
  request_options: MetronomeSDK::RequestOptions
276
262
  }
@@ -278,193 +264,6 @@ module MetronomeSDK
278
264
  end
279
265
  def to_hash
280
266
  end
281
-
282
- class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
283
- OrHash =
284
- T.type_alias do
285
- T.any(
286
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion,
287
- MetronomeSDK::Internal::AnyHash
288
- )
289
- end
290
-
291
- # The factor to multiply or divide the quantity by.
292
- sig { returns(Float) }
293
- attr_accessor :conversion_factor
294
-
295
- # The operation to perform on the quantity
296
- sig do
297
- returns(
298
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation::OrSymbol
299
- )
300
- end
301
- attr_accessor :operation
302
-
303
- # Optional name for this conversion.
304
- sig { returns(T.nilable(String)) }
305
- attr_reader :name
306
-
307
- sig { params(name: String).void }
308
- attr_writer :name
309
-
310
- # Optional. Only valid for USAGE products. If provided, the quantity will be
311
- # converted using the provided conversion factor and operation. For example, if
312
- # the operation is "multiply" and the conversion factor is 100, then the quantity
313
- # will be multiplied by 100. This can be used in cases where data is sent in one
314
- # unit and priced in another. For example, data could be sent in MB and priced in
315
- # GB. In this case, the conversion factor would be 1024 and the operation would be
316
- # "divide".
317
- sig do
318
- params(
319
- conversion_factor: Float,
320
- operation:
321
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation::OrSymbol,
322
- name: String
323
- ).returns(T.attached_class)
324
- end
325
- def self.new(
326
- # The factor to multiply or divide the quantity by.
327
- conversion_factor:,
328
- # The operation to perform on the quantity
329
- operation:,
330
- # Optional name for this conversion.
331
- name: nil
332
- )
333
- end
334
-
335
- sig do
336
- override.returns(
337
- {
338
- conversion_factor: Float,
339
- operation:
340
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation::OrSymbol,
341
- name: String
342
- }
343
- )
344
- end
345
- def to_hash
346
- end
347
-
348
- # The operation to perform on the quantity
349
- module Operation
350
- extend MetronomeSDK::Internal::Type::Enum
351
-
352
- TaggedSymbol =
353
- T.type_alias do
354
- T.all(
355
- Symbol,
356
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation
357
- )
358
- end
359
- OrSymbol = T.type_alias { T.any(Symbol, String) }
360
-
361
- MULTIPLY =
362
- T.let(
363
- :MULTIPLY,
364
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation::TaggedSymbol
365
- )
366
- DIVIDE =
367
- T.let(
368
- :DIVIDE,
369
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation::TaggedSymbol
370
- )
371
-
372
- sig do
373
- override.returns(
374
- T::Array[
375
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityConversion::Operation::TaggedSymbol
376
- ]
377
- )
378
- end
379
- def self.values
380
- end
381
- end
382
- end
383
-
384
- class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
385
- OrHash =
386
- T.type_alias do
387
- T.any(
388
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding,
389
- MetronomeSDK::Internal::AnyHash
390
- )
391
- end
392
-
393
- sig { returns(Float) }
394
- attr_accessor :decimal_places
395
-
396
- sig do
397
- returns(
398
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::OrSymbol
399
- )
400
- end
401
- attr_accessor :rounding_method
402
-
403
- # Optional. Only valid for USAGE products. If provided, the quantity will be
404
- # rounded using the provided rounding method and decimal places. For example, if
405
- # the method is "round up" and the decimal places is 0, then the quantity will be
406
- # rounded up to the nearest integer.
407
- sig do
408
- params(
409
- decimal_places: Float,
410
- rounding_method:
411
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::OrSymbol
412
- ).returns(T.attached_class)
413
- end
414
- def self.new(decimal_places:, rounding_method:)
415
- end
416
-
417
- sig do
418
- override.returns(
419
- {
420
- decimal_places: Float,
421
- rounding_method:
422
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::OrSymbol
423
- }
424
- )
425
- end
426
- def to_hash
427
- end
428
-
429
- module RoundingMethod
430
- extend MetronomeSDK::Internal::Type::Enum
431
-
432
- TaggedSymbol =
433
- T.type_alias do
434
- T.all(
435
- Symbol,
436
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod
437
- )
438
- end
439
- OrSymbol = T.type_alias { T.any(Symbol, String) }
440
-
441
- ROUND_UP =
442
- T.let(
443
- :ROUND_UP,
444
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::TaggedSymbol
445
- )
446
- ROUND_DOWN =
447
- T.let(
448
- :ROUND_DOWN,
449
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::TaggedSymbol
450
- )
451
- ROUND_HALF_UP =
452
- T.let(
453
- :ROUND_HALF_UP,
454
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::TaggedSymbol
455
- )
456
-
457
- sig do
458
- override.returns(
459
- T::Array[
460
- MetronomeSDK::V1::Contracts::ProductUpdateParams::QuantityRounding::RoundingMethod::TaggedSymbol
461
- ]
462
- )
463
- end
464
- def self.values
465
- end
466
- end
467
- end
468
267
  end
469
268
  end
470
269
  end
@@ -13,61 +13,21 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data
19
- )
20
- end
16
+ sig { returns(MetronomeSDK::ID) }
21
17
  attr_reader :data
22
18
 
23
- sig do
24
- params(
25
- data:
26
- MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data::OrHash
27
- ).void
28
- end
19
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
29
20
  attr_writer :data
30
21
 
31
22
  sig do
32
- params(
33
- data:
34
- MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data::OrHash
35
- ).returns(T.attached_class)
23
+ params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class)
36
24
  end
37
25
  def self.new(data:)
38
26
  end
39
27
 
40
- sig do
41
- override.returns(
42
- {
43
- data:
44
- MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data
45
- }
46
- )
47
- end
28
+ sig { override.returns({ data: MetronomeSDK::ID }) }
48
29
  def to_hash
49
30
  end
50
-
51
- class Data < MetronomeSDK::Internal::Type::BaseModel
52
- OrHash =
53
- T.type_alias do
54
- T.any(
55
- MetronomeSDK::Models::V1::Contracts::ProductUpdateResponse::Data,
56
- MetronomeSDK::Internal::AnyHash
57
- )
58
- end
59
-
60
- sig { returns(String) }
61
- attr_accessor :id
62
-
63
- sig { params(id: String).returns(T.attached_class) }
64
- def self.new(id:)
65
- end
66
-
67
- sig { override.returns({ id: String }) }
68
- def to_hash
69
- end
70
- end
71
31
  end
72
32
  end
73
33
  end
@@ -0,0 +1,111 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Contracts
7
+ class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ MetronomeSDK::V1::Contracts::QuantityConversion,
12
+ MetronomeSDK::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # The factor to multiply or divide the quantity by.
17
+ sig { returns(Float) }
18
+ attr_accessor :conversion_factor
19
+
20
+ # The operation to perform on the quantity
21
+ sig do
22
+ returns(
23
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation::OrSymbol
24
+ )
25
+ end
26
+ attr_accessor :operation
27
+
28
+ # Optional name for this conversion.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :name
31
+
32
+ sig { params(name: String).void }
33
+ attr_writer :name
34
+
35
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
36
+ # converted using the provided conversion factor and operation. For example, if
37
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
38
+ # will be multiplied by 100. This can be used in cases where data is sent in one
39
+ # unit and priced in another. For example, data could be sent in MB and priced in
40
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
41
+ # "divide".
42
+ sig do
43
+ params(
44
+ conversion_factor: Float,
45
+ operation:
46
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation::OrSymbol,
47
+ name: String
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ # The factor to multiply or divide the quantity by.
52
+ conversion_factor:,
53
+ # The operation to perform on the quantity
54
+ operation:,
55
+ # Optional name for this conversion.
56
+ name: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ conversion_factor: Float,
64
+ operation:
65
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation::OrSymbol,
66
+ name: String
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+
73
+ # The operation to perform on the quantity
74
+ module Operation
75
+ extend MetronomeSDK::Internal::Type::Enum
76
+
77
+ TaggedSymbol =
78
+ T.type_alias do
79
+ T.all(
80
+ Symbol,
81
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation
82
+ )
83
+ end
84
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
85
+
86
+ MULTIPLY =
87
+ T.let(
88
+ :MULTIPLY,
89
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation::TaggedSymbol
90
+ )
91
+ DIVIDE =
92
+ T.let(
93
+ :DIVIDE,
94
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation::TaggedSymbol
95
+ )
96
+
97
+ sig do
98
+ override.returns(
99
+ T::Array[
100
+ MetronomeSDK::V1::Contracts::QuantityConversion::Operation::TaggedSymbol
101
+ ]
102
+ )
103
+ end
104
+ def self.values
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,94 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Contracts
7
+ class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ MetronomeSDK::V1::Contracts::QuantityRounding,
12
+ MetronomeSDK::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(Float) }
17
+ attr_accessor :decimal_places
18
+
19
+ sig do
20
+ returns(
21
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::OrSymbol
22
+ )
23
+ end
24
+ attr_accessor :rounding_method
25
+
26
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
27
+ # rounded using the provided rounding method and decimal places. For example, if
28
+ # the method is "round up" and the decimal places is 0, then the quantity will be
29
+ # rounded up to the nearest integer.
30
+ sig do
31
+ params(
32
+ decimal_places: Float,
33
+ rounding_method:
34
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::OrSymbol
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(decimal_places:, rounding_method:)
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ decimal_places: Float,
44
+ rounding_method:
45
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::OrSymbol
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+
52
+ module RoundingMethod
53
+ extend MetronomeSDK::Internal::Type::Enum
54
+
55
+ TaggedSymbol =
56
+ T.type_alias do
57
+ T.all(
58
+ Symbol,
59
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod
60
+ )
61
+ end
62
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
63
+
64
+ ROUND_UP =
65
+ T.let(
66
+ :ROUND_UP,
67
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::TaggedSymbol
68
+ )
69
+ ROUND_DOWN =
70
+ T.let(
71
+ :ROUND_DOWN,
72
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::TaggedSymbol
73
+ )
74
+ ROUND_HALF_UP =
75
+ T.let(
76
+ :ROUND_HALF_UP,
77
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::TaggedSymbol
78
+ )
79
+
80
+ sig do
81
+ override.returns(
82
+ T::Array[
83
+ MetronomeSDK::V1::Contracts::QuantityRounding::RoundingMethod::TaggedSymbol
84
+ ]
85
+ )
86
+ end
87
+ def self.values
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -4,7 +4,7 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  module Contracts
7
- class RateCardArchiveParams < MetronomeSDK::Internal::Type::BaseModel
7
+ class RateCardArchiveParams < MetronomeSDK::Models::ID
8
8
  extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
9
  include MetronomeSDK::Internal::Type::RequestParameters
10
10
 
@@ -16,22 +16,16 @@ module MetronomeSDK
16
16
  )
17
17
  end
18
18
 
19
- sig { returns(String) }
20
- attr_accessor :id
21
-
22
19
  sig do
23
20
  params(
24
- id: String,
25
21
  request_options: MetronomeSDK::RequestOptions::OrHash
26
22
  ).returns(T.attached_class)
27
23
  end
28
- def self.new(id:, request_options: {})
24
+ def self.new(request_options: {})
29
25
  end
30
26
 
31
27
  sig do
32
- override.returns(
33
- { id: String, request_options: MetronomeSDK::RequestOptions }
34
- )
28
+ override.returns({ request_options: MetronomeSDK::RequestOptions })
35
29
  end
36
30
  def to_hash
37
31
  end
@@ -13,61 +13,21 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data
19
- )
20
- end
16
+ sig { returns(MetronomeSDK::ID) }
21
17
  attr_reader :data
22
18
 
23
- sig do
24
- params(
25
- data:
26
- MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data::OrHash
27
- ).void
28
- end
19
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
29
20
  attr_writer :data
30
21
 
31
22
  sig do
32
- params(
33
- data:
34
- MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data::OrHash
35
- ).returns(T.attached_class)
23
+ params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class)
36
24
  end
37
25
  def self.new(data:)
38
26
  end
39
27
 
40
- sig do
41
- override.returns(
42
- {
43
- data:
44
- MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data
45
- }
46
- )
47
- end
28
+ sig { override.returns({ data: MetronomeSDK::ID }) }
48
29
  def to_hash
49
30
  end
50
-
51
- class Data < MetronomeSDK::Internal::Type::BaseModel
52
- OrHash =
53
- T.type_alias do
54
- T.any(
55
- MetronomeSDK::Models::V1::Contracts::RateCardArchiveResponse::Data,
56
- MetronomeSDK::Internal::AnyHash
57
- )
58
- end
59
-
60
- sig { returns(String) }
61
- attr_accessor :id
62
-
63
- sig { params(id: String).returns(T.attached_class) }
64
- def self.new(id:)
65
- end
66
-
67
- sig { override.returns({ id: String }) }
68
- def to_hash
69
- end
70
- end
71
31
  end
72
32
  end
73
33
  end
@@ -13,61 +13,21 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data
19
- )
20
- end
16
+ sig { returns(MetronomeSDK::ID) }
21
17
  attr_reader :data
22
18
 
23
- sig do
24
- params(
25
- data:
26
- MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data::OrHash
27
- ).void
28
- end
19
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
29
20
  attr_writer :data
30
21
 
31
22
  sig do
32
- params(
33
- data:
34
- MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data::OrHash
35
- ).returns(T.attached_class)
23
+ params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class)
36
24
  end
37
25
  def self.new(data:)
38
26
  end
39
27
 
40
- sig do
41
- override.returns(
42
- {
43
- data:
44
- MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data
45
- }
46
- )
47
- end
28
+ sig { override.returns({ data: MetronomeSDK::ID }) }
48
29
  def to_hash
49
30
  end
50
-
51
- class Data < MetronomeSDK::Internal::Type::BaseModel
52
- OrHash =
53
- T.type_alias do
54
- T.any(
55
- MetronomeSDK::Models::V1::Contracts::RateCardCreateResponse::Data,
56
- MetronomeSDK::Internal::AnyHash
57
- )
58
- end
59
-
60
- sig { returns(String) }
61
- attr_accessor :id
62
-
63
- sig { params(id: String).returns(T.attached_class) }
64
- def self.new(id:)
65
- end
66
-
67
- sig { override.returns({ id: String }) }
68
- def to_hash
69
- end
70
- end
71
31
  end
72
32
  end
73
33
  end