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
@@ -7,22 +7,11 @@ module MetronomeSDK
7
7
  class CreditGrantVoidResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data]
11
- required :data, -> { MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data }
10
+ # @return [MetronomeSDK::Models::ID]
11
+ required :data, -> { MetronomeSDK::ID }
12
12
 
13
13
  # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data]
15
-
16
- # @see MetronomeSDK::Models::V1::CreditGrantVoidResponse#data
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- #
20
- # @return [String]
21
- required :id, String
22
-
23
- # @!method initialize(id:)
24
- # @param id [String]
25
- end
14
+ # @param data [MetronomeSDK::Models::ID]
26
15
  end
27
16
  end
28
17
  end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class CreditLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
7
+ # @!attribute amount
8
+ # an amount representing the change to the customer's credit balance
9
+ #
10
+ # @return [Float]
11
+ required :amount, Float
12
+
13
+ # @!attribute created_by
14
+ #
15
+ # @return [String]
16
+ required :created_by, String
17
+
18
+ # @!attribute credit_grant_id
19
+ # the credit grant this entry is related to
20
+ #
21
+ # @return [String]
22
+ required :credit_grant_id, String
23
+
24
+ # @!attribute effective_at
25
+ #
26
+ # @return [Time]
27
+ required :effective_at, Time
28
+
29
+ # @!attribute reason
30
+ #
31
+ # @return [String]
32
+ required :reason, String
33
+
34
+ # @!attribute running_balance
35
+ # the running balance for this credit type at the time of the ledger entry,
36
+ # including all preceding charges
37
+ #
38
+ # @return [Float]
39
+ required :running_balance, Float
40
+
41
+ # @!attribute invoice_id
42
+ # if this entry is a deduction, the Metronome ID of the invoice where the credit
43
+ # deduction was consumed; if this entry is a grant, the Metronome ID of the
44
+ # invoice where the grant's paid_amount was charged
45
+ #
46
+ # @return [String, nil]
47
+ optional :invoice_id, String, nil?: true
48
+
49
+ # @!method initialize(amount:, created_by:, credit_grant_id:, effective_at:, reason:, running_balance:, invoice_id: nil)
50
+ # Some parameter documentations has been truncated, see
51
+ # {MetronomeSDK::Models::V1::CreditLedgerEntry} for more details.
52
+ #
53
+ # @param amount [Float] an amount representing the change to the customer's credit balance
54
+ #
55
+ # @param created_by [String]
56
+ #
57
+ # @param credit_grant_id [String] the credit grant this entry is related to
58
+ #
59
+ # @param effective_at [Time]
60
+ #
61
+ # @param reason [String]
62
+ #
63
+ # @param running_balance [Float] the running balance for this credit type at the time of the ledger entry, includ
64
+ #
65
+ # @param invoice_id [String, nil] if this entry is a deduction, the Metronome ID of the invoice where the credit d
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class Customer < MetronomeSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # the Metronome ID of the customer
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute external_id
14
+ # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
15
+ # alias) that can be used in usage events
16
+ #
17
+ # @return [String]
18
+ required :external_id, String
19
+
20
+ # @!attribute ingest_aliases
21
+ # aliases for this customer that can be used instead of the Metronome customer ID
22
+ # in usage events
23
+ #
24
+ # @return [Array<String>]
25
+ required :ingest_aliases, MetronomeSDK::Internal::Type::ArrayOf[String]
26
+
27
+ # @!attribute name
28
+ #
29
+ # @return [String]
30
+ required :name, String
31
+
32
+ # @!attribute custom_fields
33
+ #
34
+ # @return [Hash{Symbol=>String}, nil]
35
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
36
+
37
+ # @!method initialize(id:, external_id:, ingest_aliases:, name:, custom_fields: nil)
38
+ # Some parameter documentations has been truncated, see
39
+ # {MetronomeSDK::Models::V1::Customer} for more details.
40
+ #
41
+ # @param id [String] the Metronome ID of the customer
42
+ #
43
+ # @param external_id [String] (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias
44
+ #
45
+ # @param ingest_aliases [Array<String>] aliases for this customer that can be used instead of the Metronome customer ID
46
+ #
47
+ # @param name [String]
48
+ #
49
+ # @param custom_fields [Hash{Symbol=>String}]
50
+ end
51
+ end
52
+ end
53
+ end
@@ -4,17 +4,11 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  # @see MetronomeSDK::Resources::V1::Customers#archive
7
- class CustomerArchiveParams < MetronomeSDK::Internal::Type::BaseModel
7
+ class CustomerArchiveParams < MetronomeSDK::Models::ID
8
8
  extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
9
  include MetronomeSDK::Internal::Type::RequestParameters
10
10
 
11
- # @!attribute id
12
- #
13
- # @return [String]
14
- required :id, String
15
-
16
- # @!method initialize(id:, request_options: {})
17
- # @param id [String]
11
+ # @!method initialize(request_options: {})
18
12
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
19
13
  end
20
14
  end
@@ -7,22 +7,11 @@ module MetronomeSDK
7
7
  class CustomerArchiveResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [MetronomeSDK::Models::V1::CustomerArchiveResponse::Data]
11
- required :data, -> { MetronomeSDK::Models::V1::CustomerArchiveResponse::Data }
10
+ # @return [MetronomeSDK::Models::ID]
11
+ required :data, -> { MetronomeSDK::ID }
12
12
 
13
13
  # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V1::CustomerArchiveResponse::Data]
15
-
16
- # @see MetronomeSDK::Models::V1::CustomerArchiveResponse#data
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- #
20
- # @return [String]
21
- required :id, String
22
-
23
- # @!method initialize(id:)
24
- # @param id [String]
25
- end
14
+ # @param data [MetronomeSDK::Models::ID]
26
15
  end
27
16
  end
28
17
  end
@@ -7,58 +7,11 @@ module MetronomeSDK
7
7
  class CustomerCreateResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [MetronomeSDK::Models::V1::CustomerCreateResponse::Data]
11
- required :data, -> { MetronomeSDK::Models::V1::CustomerCreateResponse::Data }
10
+ # @return [MetronomeSDK::Models::V1::Customer]
11
+ required :data, -> { MetronomeSDK::V1::Customer }
12
12
 
13
13
  # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V1::CustomerCreateResponse::Data]
15
-
16
- # @see MetronomeSDK::Models::V1::CustomerCreateResponse#data
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- # the Metronome ID of the customer
20
- #
21
- # @return [String]
22
- required :id, String
23
-
24
- # @!attribute external_id
25
- # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
26
- # alias) that can be used in usage events
27
- #
28
- # @return [String]
29
- required :external_id, String
30
-
31
- # @!attribute ingest_aliases
32
- # aliases for this customer that can be used instead of the Metronome customer ID
33
- # in usage events
34
- #
35
- # @return [Array<String>]
36
- required :ingest_aliases, MetronomeSDK::Internal::Type::ArrayOf[String]
37
-
38
- # @!attribute name
39
- #
40
- # @return [String]
41
- required :name, String
42
-
43
- # @!attribute custom_fields
44
- #
45
- # @return [Hash{Symbol=>String}, nil]
46
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
47
-
48
- # @!method initialize(id:, external_id:, ingest_aliases:, name:, custom_fields: nil)
49
- # Some parameter documentations has been truncated, see
50
- # {MetronomeSDK::Models::V1::CustomerCreateResponse::Data} for more details.
51
- #
52
- # @param id [String] the Metronome ID of the customer
53
- #
54
- # @param external_id [String] (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias
55
- #
56
- # @param ingest_aliases [Array<String>] aliases for this customer that can be used instead of the Metronome customer ID
57
- #
58
- # @param name [String]
59
- #
60
- # @param custom_fields [Hash{Symbol=>String}]
61
- end
14
+ # @param data [MetronomeSDK::Models::V1::Customer]
62
15
  end
63
16
  end
64
17
  end
@@ -4,7 +4,7 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  # @see MetronomeSDK::Resources::V1::Customers#list
7
- class CustomerListResponse < MetronomeSDK::Internal::Type::BaseModel
7
+ class CustomerDetail < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute id
9
9
  # the Metronome ID of the customer
10
10
  #
@@ -24,8 +24,8 @@ module MetronomeSDK
24
24
 
25
25
  # @!attribute customer_config
26
26
  #
27
- # @return [MetronomeSDK::Models::V1::CustomerListResponse::CustomerConfig]
28
- required :customer_config, -> { MetronomeSDK::Models::V1::CustomerListResponse::CustomerConfig }
27
+ # @return [MetronomeSDK::Models::V1::CustomerDetail::CustomerConfig]
28
+ required :customer_config, -> { MetronomeSDK::V1::CustomerDetail::CustomerConfig }
29
29
 
30
30
  # @!attribute external_id
31
31
  # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
@@ -56,13 +56,12 @@ module MetronomeSDK
56
56
  # @!attribute current_billable_status
57
57
  # This field's availability is dependent on your client's configuration.
58
58
  #
59
- # @return [MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus, nil]
60
- optional :current_billable_status,
61
- -> { MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus }
59
+ # @return [MetronomeSDK::Models::V1::CustomerDetail::CurrentBillableStatus, nil]
60
+ optional :current_billable_status, -> { MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus }
62
61
 
63
62
  # @!method initialize(id:, created_at:, custom_fields:, customer_config:, external_id:, ingest_aliases:, name:, archived_at: nil, current_billable_status: nil)
64
63
  # Some parameter documentations has been truncated, see
65
- # {MetronomeSDK::Models::V1::CustomerListResponse} for more details.
64
+ # {MetronomeSDK::Models::V1::CustomerDetail} for more details.
66
65
  #
67
66
  # @param id [String] the Metronome ID of the customer
68
67
  #
@@ -70,7 +69,7 @@ module MetronomeSDK
70
69
  #
71
70
  # @param custom_fields [Hash{Symbol=>String}]
72
71
  #
73
- # @param customer_config [MetronomeSDK::Models::V1::CustomerListResponse::CustomerConfig]
72
+ # @param customer_config [MetronomeSDK::Models::V1::CustomerDetail::CustomerConfig]
74
73
  #
75
74
  # @param external_id [String] (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias
76
75
  #
@@ -80,9 +79,9 @@ module MetronomeSDK
80
79
  #
81
80
  # @param archived_at [Time, nil] RFC 3339 timestamp indicating when the customer was archived. Null if the custom
82
81
  #
83
- # @param current_billable_status [MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus] This field's availability is dependent on your client's configuration.
82
+ # @param current_billable_status [MetronomeSDK::Models::V1::CustomerDetail::CurrentBillableStatus] This field's availability is dependent on your client's configuration.
84
83
 
85
- # @see MetronomeSDK::Models::V1::CustomerListResponse#customer_config
84
+ # @see MetronomeSDK::Models::V1::CustomerDetail#customer_config
86
85
  class CustomerConfig < MetronomeSDK::Internal::Type::BaseModel
87
86
  # @!attribute salesforce_account_id
88
87
  # The Salesforce account ID for the customer
@@ -94,12 +93,12 @@ module MetronomeSDK
94
93
  # @param salesforce_account_id [String, nil] The Salesforce account ID for the customer
95
94
  end
96
95
 
97
- # @see MetronomeSDK::Models::V1::CustomerListResponse#current_billable_status
96
+ # @see MetronomeSDK::Models::V1::CustomerDetail#current_billable_status
98
97
  class CurrentBillableStatus < MetronomeSDK::Internal::Type::BaseModel
99
98
  # @!attribute value
100
99
  #
101
- # @return [Symbol, MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus::Value]
102
- required :value, enum: -> { MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus::Value }
100
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerDetail::CurrentBillableStatus::Value]
101
+ required :value, enum: -> { MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus::Value }
103
102
 
104
103
  # @!attribute effective_at
105
104
  #
@@ -109,10 +108,10 @@ module MetronomeSDK
109
108
  # @!method initialize(value:, effective_at: nil)
110
109
  # This field's availability is dependent on your client's configuration.
111
110
  #
112
- # @param value [Symbol, MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus::Value]
111
+ # @param value [Symbol, MetronomeSDK::Models::V1::CustomerDetail::CurrentBillableStatus::Value]
113
112
  # @param effective_at [Time, nil]
114
113
 
115
- # @see MetronomeSDK::Models::V1::CustomerListResponse::CurrentBillableStatus#value
114
+ # @see MetronomeSDK::Models::V1::CustomerDetail::CurrentBillableStatus#value
116
115
  module Value
117
116
  extend MetronomeSDK::Internal::Type::Enum
118
117
 
@@ -57,9 +57,8 @@ module MetronomeSDK
57
57
  # @!attribute event_type_filter
58
58
  # An optional filtering rule to match the 'event_type' property of an event.
59
59
  #
60
- # @return [MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::EventTypeFilter, nil]
61
- optional :event_type_filter,
62
- -> { MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::EventTypeFilter }
60
+ # @return [MetronomeSDK::Models::EventTypeFilter, nil]
61
+ optional :event_type_filter, -> { MetronomeSDK::EventTypeFilter }
63
62
 
64
63
  # @!attribute filter
65
64
  # (DEPRECATED) use property_filters & event_type_filter instead
@@ -86,9 +85,8 @@ module MetronomeSDK
86
85
  # rule on an event property. All rules must pass for the event to match the
87
86
  # billable metric.
88
87
  #
89
- # @return [Array<MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::PropertyFilter>, nil]
90
- optional :property_filters,
91
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::PropertyFilter] }
88
+ # @return [Array<MetronomeSDK::Models::PropertyFilter>, nil]
89
+ optional :property_filters, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter] }
92
90
 
93
91
  # @!attribute sql
94
92
  # The SQL query associated with the billable metric
@@ -117,7 +115,7 @@ module MetronomeSDK
117
115
  #
118
116
  # @param custom_fields [Hash{Symbol=>String}]
119
117
  #
120
- # @param event_type_filter [MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
118
+ # @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
121
119
  #
122
120
  # @param filter [Hash{Symbol=>Object}] (DEPRECATED) use property_filters & event_type_filter instead
123
121
  #
@@ -125,7 +123,7 @@ module MetronomeSDK
125
123
  #
126
124
  # @param group_keys [Array<Array<String>>] Property names that are used to group usage costs on an invoice. Each entry repr
127
125
  #
128
- # @param property_filters [Array<MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::PropertyFilter>] A list of filters to match events to this billable metric. Each filter defines a
126
+ # @param property_filters [Array<MetronomeSDK::Models::PropertyFilter>] A list of filters to match events to this billable metric. Each filter defines a
129
127
  #
130
128
  # @param sql [String] The SQL query associated with the billable metric
131
129
 
@@ -144,84 +142,6 @@ module MetronomeSDK
144
142
  # @!method self.values
145
143
  # @return [Array<Symbol>]
146
144
  end
147
-
148
- # @see MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse#event_type_filter
149
- class EventTypeFilter < MetronomeSDK::Internal::Type::BaseModel
150
- # @!attribute in_values
151
- # A list of event types that are explicitly included in the billable metric. If
152
- # specified, only events of these types will match the billable metric. Must be
153
- # non-empty if present.
154
- #
155
- # @return [Array<String>, nil]
156
- optional :in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
157
-
158
- # @!attribute not_in_values
159
- # A list of event types that are explicitly excluded from the billable metric. If
160
- # specified, events of these types will not match the billable metric. Must be
161
- # non-empty if present.
162
- #
163
- # @return [Array<String>, nil]
164
- optional :not_in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
165
-
166
- # @!method initialize(in_values: nil, not_in_values: nil)
167
- # Some parameter documentations has been truncated, see
168
- # {MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::EventTypeFilter}
169
- # for more details.
170
- #
171
- # An optional filtering rule to match the 'event_type' property of an event.
172
- #
173
- # @param in_values [Array<String>] A list of event types that are explicitly included in the billable metric. If sp
174
- #
175
- # @param not_in_values [Array<String>] A list of event types that are explicitly excluded from the billable metric. If
176
- end
177
-
178
- class PropertyFilter < MetronomeSDK::Internal::Type::BaseModel
179
- # @!attribute name
180
- # The name of the event property.
181
- #
182
- # @return [String]
183
- required :name, String
184
-
185
- # @!attribute exists
186
- # Determines whether the property must exist in the event. If true, only events
187
- # with this property will pass the filter. If false, only events without this
188
- # property will pass the filter. If null or omitted, the existence of the property
189
- # is optional.
190
- #
191
- # @return [Boolean, nil]
192
- optional :exists, MetronomeSDK::Internal::Type::Boolean
193
-
194
- # @!attribute in_values
195
- # Specifies the allowed values for the property to match an event. An event will
196
- # pass the filter only if its property value is included in this list. If
197
- # undefined, all property values will pass the filter. Must be non-empty if
198
- # present.
199
- #
200
- # @return [Array<String>, nil]
201
- optional :in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
202
-
203
- # @!attribute not_in_values
204
- # Specifies the values that prevent an event from matching the filter. An event
205
- # will not pass the filter if its property value is included in this list. If null
206
- # or empty, all property values will pass the filter. Must be non-empty if
207
- # present.
208
- #
209
- # @return [Array<String>, nil]
210
- optional :not_in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
211
-
212
- # @!method initialize(name:, exists: nil, in_values: nil, not_in_values: nil)
213
- # Some parameter documentations has been truncated, see
214
- # {MetronomeSDK::Models::V1::CustomerListBillableMetricsResponse::PropertyFilter}
215
- # for more details.
216
- #
217
- # @param name [String] The name of the event property.
218
- #
219
- # @param exists [Boolean] Determines whether the property must exist in the event. If true, only events wi
220
- #
221
- # @param in_values [Array<String>] Specifies the allowed values for the property to match an event. An event will p
222
- #
223
- # @param not_in_values [Array<String>] Specifies the values that prevent an event from matching the filter. An event wi
224
- end
225
145
  end
226
146
  end
227
147
  end
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#preview_events
7
+ class CustomerPreviewEventsParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute customer_id
12
+ #
13
+ # @return [String]
14
+ required :customer_id, String
15
+
16
+ # @!attribute events
17
+ #
18
+ # @return [Array<MetronomeSDK::Models::V1::CustomerPreviewEventsParams::Event>]
19
+ required :events,
20
+ -> {
21
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::CustomerPreviewEventsParams::Event]
22
+ }
23
+
24
+ # @!attribute mode
25
+ # If set to "replace", the preview will be generated as if those were the only
26
+ # events for the specified customer. If set to "merge", the events will be merged
27
+ # with any existing events for the specified customer. Defaults to "replace".
28
+ #
29
+ # @return [Symbol, MetronomeSDK::Models::V1::CustomerPreviewEventsParams::Mode, nil]
30
+ optional :mode, enum: -> { MetronomeSDK::V1::CustomerPreviewEventsParams::Mode }
31
+
32
+ # @!attribute skip_zero_qty_line_items
33
+ # If set, all zero quantity line items will be filtered out of the response.
34
+ #
35
+ # @return [Boolean, nil]
36
+ optional :skip_zero_qty_line_items, MetronomeSDK::Internal::Type::Boolean
37
+
38
+ # @!method initialize(customer_id:, events:, mode: nil, skip_zero_qty_line_items: nil, request_options: {})
39
+ # Some parameter documentations has been truncated, see
40
+ # {MetronomeSDK::Models::V1::CustomerPreviewEventsParams} for more details.
41
+ #
42
+ # @param customer_id [String]
43
+ #
44
+ # @param events [Array<MetronomeSDK::Models::V1::CustomerPreviewEventsParams::Event>]
45
+ #
46
+ # @param mode [Symbol, MetronomeSDK::Models::V1::CustomerPreviewEventsParams::Mode] If set to "replace", the preview will be generated as if those were the only eve
47
+ #
48
+ # @param skip_zero_qty_line_items [Boolean] If set, all zero quantity line items will be filtered out of the response.
49
+ #
50
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
51
+
52
+ class Event < MetronomeSDK::Internal::Type::BaseModel
53
+ # @!attribute event_type
54
+ #
55
+ # @return [String]
56
+ required :event_type, String
57
+
58
+ # @!attribute customer_id
59
+ # This has no effect for preview events, but may be set for consistency with Event
60
+ # objects. They will be processed even if they do not match the customer's ID or
61
+ # ingest aliases.
62
+ #
63
+ # @return [String, nil]
64
+ optional :customer_id, String
65
+
66
+ # @!attribute properties
67
+ #
68
+ # @return [Hash{Symbol=>Object}, nil]
69
+ optional :properties, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
70
+
71
+ # @!attribute timestamp
72
+ # RFC 3339 formatted. If not provided, the current time will be used.
73
+ #
74
+ # @return [String, nil]
75
+ optional :timestamp, String
76
+
77
+ # @!attribute transaction_id
78
+ # This has no effect for preview events, but may be set for consistency with Event
79
+ # objects. Duplicate transaction_ids are NOT filtered out, even within the same
80
+ # request.
81
+ #
82
+ # @return [String, nil]
83
+ optional :transaction_id, String
84
+
85
+ # @!method initialize(event_type:, customer_id: nil, properties: nil, timestamp: nil, transaction_id: nil)
86
+ # Some parameter documentations has been truncated, see
87
+ # {MetronomeSDK::Models::V1::CustomerPreviewEventsParams::Event} for more details.
88
+ #
89
+ # @param event_type [String]
90
+ #
91
+ # @param customer_id [String] This has no effect for preview events, but may be set for consistency with Event
92
+ #
93
+ # @param properties [Hash{Symbol=>Object}]
94
+ #
95
+ # @param timestamp [String] RFC 3339 formatted. If not provided, the current time will be used.
96
+ #
97
+ # @param transaction_id [String] This has no effect for preview events, but may be set for consistency with Event
98
+ end
99
+
100
+ # If set to "replace", the preview will be generated as if those were the only
101
+ # events for the specified customer. If set to "merge", the events will be merged
102
+ # with any existing events for the specified customer. Defaults to "replace".
103
+ module Mode
104
+ extend MetronomeSDK::Internal::Type::Enum
105
+
106
+ REPLACE = :replace
107
+ MERGE = :merge
108
+
109
+ # @!method self.values
110
+ # @return [Array<Symbol>]
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Customers#preview_events
7
+ class CustomerPreviewEventsResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [MetronomeSDK::Models::V1::Customers::Invoice]
11
+ required :data, -> { MetronomeSDK::V1::Customers::Invoice }
12
+
13
+ # @!method initialize(data:)
14
+ # @param data [MetronomeSDK::Models::V1::Customers::Invoice]
15
+ end
16
+ end
17
+ end
18
+ end