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
@@ -12,59 +12,19 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig do
16
- returns(MetronomeSDK::Models::V1::ContractUpdateEndDateResponse::Data)
17
- end
15
+ sig { returns(MetronomeSDK::ID) }
18
16
  attr_reader :data
19
17
 
20
- sig do
21
- params(
22
- data:
23
- MetronomeSDK::Models::V1::ContractUpdateEndDateResponse::Data::OrHash
24
- ).void
25
- end
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
26
19
  attr_writer :data
27
20
 
28
- sig do
29
- params(
30
- data:
31
- MetronomeSDK::Models::V1::ContractUpdateEndDateResponse::Data::OrHash
32
- ).returns(T.attached_class)
33
- end
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
34
22
  def self.new(data:)
35
23
  end
36
24
 
37
- sig do
38
- override.returns(
39
- {
40
- data:
41
- MetronomeSDK::Models::V1::ContractUpdateEndDateResponse::Data
42
- }
43
- )
44
- end
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
45
26
  def to_hash
46
27
  end
47
-
48
- class Data < MetronomeSDK::Internal::Type::BaseModel
49
- OrHash =
50
- T.type_alias do
51
- T.any(
52
- MetronomeSDK::Models::V1::ContractUpdateEndDateResponse::Data,
53
- MetronomeSDK::Internal::AnyHash
54
- )
55
- end
56
-
57
- sig { returns(String) }
58
- attr_accessor :id
59
-
60
- sig { params(id: String).returns(T.attached_class) }
61
- def self.new(id:)
62
- end
63
-
64
- sig { override.returns({ id: String }) }
65
- def to_hash
66
- end
67
- end
68
28
  end
69
29
  end
70
30
  end
@@ -13,61 +13,21 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Contracts::ProductArchiveResponse::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::ProductArchiveResponse::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::ProductArchiveResponse::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::ProductArchiveResponse::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::ProductArchiveResponse::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
@@ -105,11 +105,7 @@ module MetronomeSDK
105
105
  # GB. In this case, the conversion factor would be 1024 and the operation would be
106
106
  # "divide".
107
107
  sig do
108
- returns(
109
- T.nilable(
110
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion
111
- )
112
- )
108
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion))
113
109
  end
114
110
  attr_reader :quantity_conversion
115
111
 
@@ -117,7 +113,7 @@ module MetronomeSDK
117
113
  params(
118
114
  quantity_conversion:
119
115
  T.nilable(
120
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::OrHash
116
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
121
117
  )
122
118
  ).void
123
119
  end
@@ -128,20 +124,14 @@ module MetronomeSDK
128
124
  # the method is "round up" and the decimal places is 0, then the quantity will be
129
125
  # rounded up to the nearest integer.
130
126
  sig do
131
- returns(
132
- T.nilable(
133
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding
134
- )
135
- )
127
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding))
136
128
  end
137
129
  attr_reader :quantity_rounding
138
130
 
139
131
  sig do
140
132
  params(
141
133
  quantity_rounding:
142
- T.nilable(
143
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::OrHash
144
- )
134
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding::OrHash)
145
135
  ).void
146
136
  end
147
137
  attr_writer :quantity_rounding
@@ -168,11 +158,11 @@ module MetronomeSDK
168
158
  pricing_group_key: T::Array[String],
169
159
  quantity_conversion:
170
160
  T.nilable(
171
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::OrHash
161
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
172
162
  ),
173
163
  quantity_rounding:
174
164
  T.nilable(
175
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::OrHash
165
+ MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
176
166
  ),
177
167
  tags: T::Array[String],
178
168
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -241,13 +231,9 @@ module MetronomeSDK
241
231
  presentation_group_key: T::Array[String],
242
232
  pricing_group_key: T::Array[String],
243
233
  quantity_conversion:
244
- T.nilable(
245
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion
246
- ),
234
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion),
247
235
  quantity_rounding:
248
- T.nilable(
249
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding
250
- ),
236
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding),
251
237
  tags: T::Array[String],
252
238
  request_options: MetronomeSDK::RequestOptions
253
239
  }
@@ -309,193 +295,6 @@ module MetronomeSDK
309
295
  def self.values
310
296
  end
311
297
  end
312
-
313
- class QuantityConversion < MetronomeSDK::Internal::Type::BaseModel
314
- OrHash =
315
- T.type_alias do
316
- T.any(
317
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion,
318
- MetronomeSDK::Internal::AnyHash
319
- )
320
- end
321
-
322
- # The factor to multiply or divide the quantity by.
323
- sig { returns(Float) }
324
- attr_accessor :conversion_factor
325
-
326
- # The operation to perform on the quantity
327
- sig do
328
- returns(
329
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation::OrSymbol
330
- )
331
- end
332
- attr_accessor :operation
333
-
334
- # Optional name for this conversion.
335
- sig { returns(T.nilable(String)) }
336
- attr_reader :name
337
-
338
- sig { params(name: String).void }
339
- attr_writer :name
340
-
341
- # Optional. Only valid for USAGE products. If provided, the quantity will be
342
- # converted using the provided conversion factor and operation. For example, if
343
- # the operation is "multiply" and the conversion factor is 100, then the quantity
344
- # will be multiplied by 100. This can be used in cases where data is sent in one
345
- # unit and priced in another. For example, data could be sent in MB and priced in
346
- # GB. In this case, the conversion factor would be 1024 and the operation would be
347
- # "divide".
348
- sig do
349
- params(
350
- conversion_factor: Float,
351
- operation:
352
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation::OrSymbol,
353
- name: String
354
- ).returns(T.attached_class)
355
- end
356
- def self.new(
357
- # The factor to multiply or divide the quantity by.
358
- conversion_factor:,
359
- # The operation to perform on the quantity
360
- operation:,
361
- # Optional name for this conversion.
362
- name: nil
363
- )
364
- end
365
-
366
- sig do
367
- override.returns(
368
- {
369
- conversion_factor: Float,
370
- operation:
371
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation::OrSymbol,
372
- name: String
373
- }
374
- )
375
- end
376
- def to_hash
377
- end
378
-
379
- # The operation to perform on the quantity
380
- module Operation
381
- extend MetronomeSDK::Internal::Type::Enum
382
-
383
- TaggedSymbol =
384
- T.type_alias do
385
- T.all(
386
- Symbol,
387
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation
388
- )
389
- end
390
- OrSymbol = T.type_alias { T.any(Symbol, String) }
391
-
392
- MULTIPLY =
393
- T.let(
394
- :MULTIPLY,
395
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation::TaggedSymbol
396
- )
397
- DIVIDE =
398
- T.let(
399
- :DIVIDE,
400
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation::TaggedSymbol
401
- )
402
-
403
- sig do
404
- override.returns(
405
- T::Array[
406
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityConversion::Operation::TaggedSymbol
407
- ]
408
- )
409
- end
410
- def self.values
411
- end
412
- end
413
- end
414
-
415
- class QuantityRounding < MetronomeSDK::Internal::Type::BaseModel
416
- OrHash =
417
- T.type_alias do
418
- T.any(
419
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding,
420
- MetronomeSDK::Internal::AnyHash
421
- )
422
- end
423
-
424
- sig { returns(Float) }
425
- attr_accessor :decimal_places
426
-
427
- sig do
428
- returns(
429
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::OrSymbol
430
- )
431
- end
432
- attr_accessor :rounding_method
433
-
434
- # Optional. Only valid for USAGE products. If provided, the quantity will be
435
- # rounded using the provided rounding method and decimal places. For example, if
436
- # the method is "round up" and the decimal places is 0, then the quantity will be
437
- # rounded up to the nearest integer.
438
- sig do
439
- params(
440
- decimal_places: Float,
441
- rounding_method:
442
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::OrSymbol
443
- ).returns(T.attached_class)
444
- end
445
- def self.new(decimal_places:, rounding_method:)
446
- end
447
-
448
- sig do
449
- override.returns(
450
- {
451
- decimal_places: Float,
452
- rounding_method:
453
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::OrSymbol
454
- }
455
- )
456
- end
457
- def to_hash
458
- end
459
-
460
- module RoundingMethod
461
- extend MetronomeSDK::Internal::Type::Enum
462
-
463
- TaggedSymbol =
464
- T.type_alias do
465
- T.all(
466
- Symbol,
467
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod
468
- )
469
- end
470
- OrSymbol = T.type_alias { T.any(Symbol, String) }
471
-
472
- ROUND_UP =
473
- T.let(
474
- :ROUND_UP,
475
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::TaggedSymbol
476
- )
477
- ROUND_DOWN =
478
- T.let(
479
- :ROUND_DOWN,
480
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::TaggedSymbol
481
- )
482
- ROUND_HALF_UP =
483
- T.let(
484
- :ROUND_HALF_UP,
485
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::TaggedSymbol
486
- )
487
-
488
- sig do
489
- override.returns(
490
- T::Array[
491
- MetronomeSDK::V1::Contracts::ProductCreateParams::QuantityRounding::RoundingMethod::TaggedSymbol
492
- ]
493
- )
494
- end
495
- def self.values
496
- end
497
- end
498
- end
499
298
  end
500
299
  end
501
300
  end
@@ -13,61 +13,21 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Contracts::ProductCreateResponse::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::ProductCreateResponse::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::ProductCreateResponse::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::ProductCreateResponse::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::ProductCreateResponse::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,237 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Contracts
7
+ class ProductListItemState < MetronomeSDK::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ MetronomeSDK::V1::Contracts::ProductListItemState,
12
+ MetronomeSDK::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(Time) }
17
+ attr_accessor :created_at
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :created_by
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :name
24
+
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :billable_metric_id
27
+
28
+ sig { params(billable_metric_id: String).void }
29
+ attr_writer :billable_metric_id
30
+
31
+ sig { returns(T.nilable(T::Array[String])) }
32
+ attr_reader :composite_product_ids
33
+
34
+ sig { params(composite_product_ids: T::Array[String]).void }
35
+ attr_writer :composite_product_ids
36
+
37
+ sig { returns(T.nilable(T::Array[String])) }
38
+ attr_reader :composite_tags
39
+
40
+ sig { params(composite_tags: T::Array[String]).void }
41
+ attr_writer :composite_tags
42
+
43
+ sig { returns(T.nilable(T::Boolean)) }
44
+ attr_reader :exclude_free_usage
45
+
46
+ sig { params(exclude_free_usage: T::Boolean).void }
47
+ attr_writer :exclude_free_usage
48
+
49
+ # This field's availability is dependent on your client's configuration.
50
+ sig { returns(T.nilable(T::Boolean)) }
51
+ attr_reader :is_refundable
52
+
53
+ sig { params(is_refundable: T::Boolean).void }
54
+ attr_writer :is_refundable
55
+
56
+ # This field's availability is dependent on your client's configuration.
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :netsuite_internal_item_id
59
+
60
+ sig { params(netsuite_internal_item_id: String).void }
61
+ attr_writer :netsuite_internal_item_id
62
+
63
+ # This field's availability is dependent on your client's configuration.
64
+ sig { returns(T.nilable(String)) }
65
+ attr_reader :netsuite_overage_item_id
66
+
67
+ sig { params(netsuite_overage_item_id: String).void }
68
+ attr_writer :netsuite_overage_item_id
69
+
70
+ # For USAGE products only. Groups usage line items on invoices. The superset of
71
+ # values in the pricing group key and presentation group key must be set as one
72
+ # compound group key on the billable metric.
73
+ sig { returns(T.nilable(T::Array[String])) }
74
+ attr_reader :presentation_group_key
75
+
76
+ sig { params(presentation_group_key: T::Array[String]).void }
77
+ attr_writer :presentation_group_key
78
+
79
+ # For USAGE products only. If set, pricing for this product will be determined for
80
+ # each pricing_group_key value, as opposed to the product as a whole. The superset
81
+ # of values in the pricing group key and presentation group key must be set as one
82
+ # compound group key on the billable metric.
83
+ sig { returns(T.nilable(T::Array[String])) }
84
+ attr_reader :pricing_group_key
85
+
86
+ sig { params(pricing_group_key: T::Array[String]).void }
87
+ attr_writer :pricing_group_key
88
+
89
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
90
+ # converted using the provided conversion factor and operation. For example, if
91
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
92
+ # will be multiplied by 100. This can be used in cases where data is sent in one
93
+ # unit and priced in another. For example, data could be sent in MB and priced in
94
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
95
+ # "divide".
96
+ sig do
97
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion))
98
+ end
99
+ attr_reader :quantity_conversion
100
+
101
+ sig do
102
+ params(
103
+ quantity_conversion:
104
+ T.nilable(
105
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
106
+ )
107
+ ).void
108
+ end
109
+ attr_writer :quantity_conversion
110
+
111
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
112
+ # rounded using the provided rounding method and decimal places. For example, if
113
+ # the method is "round up" and the decimal places is 0, then the quantity will be
114
+ # rounded up to the nearest integer.
115
+ sig do
116
+ returns(T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding))
117
+ end
118
+ attr_reader :quantity_rounding
119
+
120
+ sig do
121
+ params(
122
+ quantity_rounding:
123
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding::OrHash)
124
+ ).void
125
+ end
126
+ attr_writer :quantity_rounding
127
+
128
+ sig { returns(T.nilable(Time)) }
129
+ attr_reader :starting_at
130
+
131
+ sig { params(starting_at: Time).void }
132
+ attr_writer :starting_at
133
+
134
+ sig { returns(T.nilable(T::Array[String])) }
135
+ attr_reader :tags
136
+
137
+ sig { params(tags: T::Array[String]).void }
138
+ attr_writer :tags
139
+
140
+ sig do
141
+ params(
142
+ created_at: Time,
143
+ created_by: String,
144
+ name: String,
145
+ billable_metric_id: String,
146
+ composite_product_ids: T::Array[String],
147
+ composite_tags: T::Array[String],
148
+ exclude_free_usage: T::Boolean,
149
+ is_refundable: T::Boolean,
150
+ netsuite_internal_item_id: String,
151
+ netsuite_overage_item_id: String,
152
+ presentation_group_key: T::Array[String],
153
+ pricing_group_key: T::Array[String],
154
+ quantity_conversion:
155
+ T.nilable(
156
+ MetronomeSDK::V1::Contracts::QuantityConversion::OrHash
157
+ ),
158
+ quantity_rounding:
159
+ T.nilable(
160
+ MetronomeSDK::V1::Contracts::QuantityRounding::OrHash
161
+ ),
162
+ starting_at: Time,
163
+ tags: T::Array[String]
164
+ ).returns(T.attached_class)
165
+ end
166
+ def self.new(
167
+ created_at:,
168
+ created_by:,
169
+ name:,
170
+ billable_metric_id: nil,
171
+ composite_product_ids: nil,
172
+ composite_tags: nil,
173
+ exclude_free_usage: nil,
174
+ # This field's availability is dependent on your client's configuration.
175
+ is_refundable: nil,
176
+ # This field's availability is dependent on your client's configuration.
177
+ netsuite_internal_item_id: nil,
178
+ # This field's availability is dependent on your client's configuration.
179
+ netsuite_overage_item_id: nil,
180
+ # For USAGE products only. Groups usage line items on invoices. The superset of
181
+ # values in the pricing group key and presentation group key must be set as one
182
+ # compound group key on the billable metric.
183
+ presentation_group_key: nil,
184
+ # For USAGE products only. If set, pricing for this product will be determined for
185
+ # each pricing_group_key value, as opposed to the product as a whole. The superset
186
+ # of values in the pricing group key and presentation group key must be set as one
187
+ # compound group key on the billable metric.
188
+ pricing_group_key: nil,
189
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
190
+ # converted using the provided conversion factor and operation. For example, if
191
+ # the operation is "multiply" and the conversion factor is 100, then the quantity
192
+ # will be multiplied by 100. This can be used in cases where data is sent in one
193
+ # unit and priced in another. For example, data could be sent in MB and priced in
194
+ # GB. In this case, the conversion factor would be 1024 and the operation would be
195
+ # "divide".
196
+ quantity_conversion: nil,
197
+ # Optional. Only valid for USAGE products. If provided, the quantity will be
198
+ # rounded using the provided rounding method and decimal places. For example, if
199
+ # the method is "round up" and the decimal places is 0, then the quantity will be
200
+ # rounded up to the nearest integer.
201
+ quantity_rounding: nil,
202
+ starting_at: nil,
203
+ tags: nil
204
+ )
205
+ end
206
+
207
+ sig do
208
+ override.returns(
209
+ {
210
+ created_at: Time,
211
+ created_by: String,
212
+ name: String,
213
+ billable_metric_id: String,
214
+ composite_product_ids: T::Array[String],
215
+ composite_tags: T::Array[String],
216
+ exclude_free_usage: T::Boolean,
217
+ is_refundable: T::Boolean,
218
+ netsuite_internal_item_id: String,
219
+ netsuite_overage_item_id: String,
220
+ presentation_group_key: T::Array[String],
221
+ pricing_group_key: T::Array[String],
222
+ quantity_conversion:
223
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityConversion),
224
+ quantity_rounding:
225
+ T.nilable(MetronomeSDK::V1::Contracts::QuantityRounding),
226
+ starting_at: Time,
227
+ tags: T::Array[String]
228
+ }
229
+ )
230
+ end
231
+ def to_hash
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
237
+ end