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