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

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