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
@@ -0,0 +1,438 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class UsageSearchResponseItem < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::UsageSearchResponseItem,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The ID of the customer in the ingest event body
19
+ sig { returns(String) }
20
+ attr_accessor :customer_id
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :event_type
24
+
25
+ sig { returns(Time) }
26
+ attr_accessor :timestamp
27
+
28
+ sig { returns(String) }
29
+ attr_accessor :transaction_id
30
+
31
+ sig { returns(T.nilable(T::Boolean)) }
32
+ attr_reader :is_duplicate
33
+
34
+ sig { params(is_duplicate: T::Boolean).void }
35
+ attr_writer :is_duplicate
36
+
37
+ sig do
38
+ returns(
39
+ T.nilable(
40
+ T::Array[
41
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric
42
+ ]
43
+ )
44
+ )
45
+ end
46
+ attr_reader :matched_billable_metrics
47
+
48
+ sig do
49
+ params(
50
+ matched_billable_metrics:
51
+ T::Array[
52
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::OrHash
53
+ ]
54
+ ).void
55
+ end
56
+ attr_writer :matched_billable_metrics
57
+
58
+ # The customer the event was matched to if a match was found
59
+ sig do
60
+ returns(
61
+ T.nilable(
62
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer
63
+ )
64
+ )
65
+ end
66
+ attr_reader :matched_customer
67
+
68
+ sig do
69
+ params(
70
+ matched_customer:
71
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer::OrHash
72
+ ).void
73
+ end
74
+ attr_writer :matched_customer
75
+
76
+ sig { returns(T.nilable(Time)) }
77
+ attr_reader :processed_at
78
+
79
+ sig { params(processed_at: Time).void }
80
+ attr_writer :processed_at
81
+
82
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
83
+ attr_reader :properties
84
+
85
+ sig { params(properties: T::Hash[Symbol, T.anything]).void }
86
+ attr_writer :properties
87
+
88
+ sig do
89
+ params(
90
+ id: String,
91
+ customer_id: String,
92
+ event_type: String,
93
+ timestamp: Time,
94
+ transaction_id: String,
95
+ is_duplicate: T::Boolean,
96
+ matched_billable_metrics:
97
+ T::Array[
98
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::OrHash
99
+ ],
100
+ matched_customer:
101
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer::OrHash,
102
+ processed_at: Time,
103
+ properties: T::Hash[Symbol, T.anything]
104
+ ).returns(T.attached_class)
105
+ end
106
+ def self.new(
107
+ id:,
108
+ # The ID of the customer in the ingest event body
109
+ customer_id:,
110
+ event_type:,
111
+ timestamp:,
112
+ transaction_id:,
113
+ is_duplicate: nil,
114
+ matched_billable_metrics: nil,
115
+ # The customer the event was matched to if a match was found
116
+ matched_customer: nil,
117
+ processed_at: nil,
118
+ properties: nil
119
+ )
120
+ end
121
+
122
+ sig do
123
+ override.returns(
124
+ {
125
+ id: String,
126
+ customer_id: String,
127
+ event_type: String,
128
+ timestamp: Time,
129
+ transaction_id: String,
130
+ is_duplicate: T::Boolean,
131
+ matched_billable_metrics:
132
+ T::Array[
133
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric
134
+ ],
135
+ matched_customer:
136
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer,
137
+ processed_at: Time,
138
+ properties: T::Hash[Symbol, T.anything]
139
+ }
140
+ )
141
+ end
142
+ def to_hash
143
+ end
144
+
145
+ class MatchedBillableMetric < MetronomeSDK::Internal::Type::BaseModel
146
+ OrHash =
147
+ T.type_alias do
148
+ T.any(
149
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric,
150
+ MetronomeSDK::Internal::AnyHash
151
+ )
152
+ end
153
+
154
+ sig { returns(String) }
155
+ attr_accessor :id
156
+
157
+ sig { returns(String) }
158
+ attr_accessor :name
159
+
160
+ # (DEPRECATED) use aggregation_type instead
161
+ sig { returns(T.nilable(String)) }
162
+ attr_reader :aggregate
163
+
164
+ sig { params(aggregate: String).void }
165
+ attr_writer :aggregate
166
+
167
+ # (DEPRECATED) use aggregation_key instead
168
+ sig { returns(T.nilable(T::Array[String])) }
169
+ attr_reader :aggregate_keys
170
+
171
+ sig { params(aggregate_keys: T::Array[String]).void }
172
+ attr_writer :aggregate_keys
173
+
174
+ # A key that specifies which property of the event is used to aggregate data. This
175
+ # key must be one of the property filter names and is not applicable when the
176
+ # aggregation type is 'count'.
177
+ sig { returns(T.nilable(String)) }
178
+ attr_reader :aggregation_key
179
+
180
+ sig { params(aggregation_key: String).void }
181
+ attr_writer :aggregation_key
182
+
183
+ # Specifies the type of aggregation performed on matching events.
184
+ sig do
185
+ returns(
186
+ T.nilable(
187
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
188
+ )
189
+ )
190
+ end
191
+ attr_reader :aggregation_type
192
+
193
+ sig do
194
+ params(
195
+ aggregation_type:
196
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::OrSymbol
197
+ ).void
198
+ end
199
+ attr_writer :aggregation_type
200
+
201
+ # RFC 3339 timestamp indicating when the billable metric was archived. If not
202
+ # provided, the billable metric is not archived.
203
+ sig { returns(T.nilable(Time)) }
204
+ attr_reader :archived_at
205
+
206
+ sig { params(archived_at: Time).void }
207
+ attr_writer :archived_at
208
+
209
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
210
+ attr_reader :custom_fields
211
+
212
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
213
+ attr_writer :custom_fields
214
+
215
+ # An optional filtering rule to match the 'event_type' property of an event.
216
+ sig { returns(T.nilable(MetronomeSDK::EventTypeFilter)) }
217
+ attr_reader :event_type_filter
218
+
219
+ sig do
220
+ params(
221
+ event_type_filter: MetronomeSDK::EventTypeFilter::OrHash
222
+ ).void
223
+ end
224
+ attr_writer :event_type_filter
225
+
226
+ # (DEPRECATED) use property_filters & event_type_filter instead
227
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
228
+ attr_reader :filter
229
+
230
+ sig { params(filter: T::Hash[Symbol, T.anything]).void }
231
+ attr_writer :filter
232
+
233
+ # (DEPRECATED) use group_keys instead
234
+ sig { returns(T.nilable(T::Array[String])) }
235
+ attr_reader :group_by
236
+
237
+ sig { params(group_by: T::Array[String]).void }
238
+ attr_writer :group_by
239
+
240
+ # Property names that are used to group usage costs on an invoice. Each entry
241
+ # represents a set of properties used to slice events into distinct buckets.
242
+ sig { returns(T.nilable(T::Array[T::Array[String]])) }
243
+ attr_reader :group_keys
244
+
245
+ sig { params(group_keys: T::Array[T::Array[String]]).void }
246
+ attr_writer :group_keys
247
+
248
+ # A list of filters to match events to this billable metric. Each filter defines a
249
+ # rule on an event property. All rules must pass for the event to match the
250
+ # billable metric.
251
+ sig { returns(T.nilable(T::Array[MetronomeSDK::PropertyFilter])) }
252
+ attr_reader :property_filters
253
+
254
+ sig do
255
+ params(
256
+ property_filters: T::Array[MetronomeSDK::PropertyFilter::OrHash]
257
+ ).void
258
+ end
259
+ attr_writer :property_filters
260
+
261
+ # The SQL query associated with the billable metric
262
+ sig { returns(T.nilable(String)) }
263
+ attr_reader :sql
264
+
265
+ sig { params(sql: String).void }
266
+ attr_writer :sql
267
+
268
+ sig do
269
+ params(
270
+ id: String,
271
+ name: String,
272
+ aggregate: String,
273
+ aggregate_keys: T::Array[String],
274
+ aggregation_key: String,
275
+ aggregation_type:
276
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::OrSymbol,
277
+ archived_at: Time,
278
+ custom_fields: T::Hash[Symbol, String],
279
+ event_type_filter: MetronomeSDK::EventTypeFilter::OrHash,
280
+ filter: T::Hash[Symbol, T.anything],
281
+ group_by: T::Array[String],
282
+ group_keys: T::Array[T::Array[String]],
283
+ property_filters: T::Array[MetronomeSDK::PropertyFilter::OrHash],
284
+ sql: String
285
+ ).returns(T.attached_class)
286
+ end
287
+ def self.new(
288
+ id:,
289
+ name:,
290
+ # (DEPRECATED) use aggregation_type instead
291
+ aggregate: nil,
292
+ # (DEPRECATED) use aggregation_key instead
293
+ aggregate_keys: nil,
294
+ # A key that specifies which property of the event is used to aggregate data. This
295
+ # key must be one of the property filter names and is not applicable when the
296
+ # aggregation type is 'count'.
297
+ aggregation_key: nil,
298
+ # Specifies the type of aggregation performed on matching events.
299
+ aggregation_type: nil,
300
+ # RFC 3339 timestamp indicating when the billable metric was archived. If not
301
+ # provided, the billable metric is not archived.
302
+ archived_at: nil,
303
+ custom_fields: nil,
304
+ # An optional filtering rule to match the 'event_type' property of an event.
305
+ event_type_filter: nil,
306
+ # (DEPRECATED) use property_filters & event_type_filter instead
307
+ filter: nil,
308
+ # (DEPRECATED) use group_keys instead
309
+ group_by: nil,
310
+ # Property names that are used to group usage costs on an invoice. Each entry
311
+ # represents a set of properties used to slice events into distinct buckets.
312
+ group_keys: nil,
313
+ # A list of filters to match events to this billable metric. Each filter defines a
314
+ # rule on an event property. All rules must pass for the event to match the
315
+ # billable metric.
316
+ property_filters: nil,
317
+ # The SQL query associated with the billable metric
318
+ sql: nil
319
+ )
320
+ end
321
+
322
+ sig do
323
+ override.returns(
324
+ {
325
+ id: String,
326
+ name: String,
327
+ aggregate: String,
328
+ aggregate_keys: T::Array[String],
329
+ aggregation_key: String,
330
+ aggregation_type:
331
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol,
332
+ archived_at: Time,
333
+ custom_fields: T::Hash[Symbol, String],
334
+ event_type_filter: MetronomeSDK::EventTypeFilter,
335
+ filter: T::Hash[Symbol, T.anything],
336
+ group_by: T::Array[String],
337
+ group_keys: T::Array[T::Array[String]],
338
+ property_filters: T::Array[MetronomeSDK::PropertyFilter],
339
+ sql: String
340
+ }
341
+ )
342
+ end
343
+ def to_hash
344
+ end
345
+
346
+ # Specifies the type of aggregation performed on matching events.
347
+ module AggregationType
348
+ extend MetronomeSDK::Internal::Type::Enum
349
+
350
+ TaggedSymbol =
351
+ T.type_alias do
352
+ T.all(
353
+ Symbol,
354
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType
355
+ )
356
+ end
357
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
358
+
359
+ COUNT =
360
+ T.let(
361
+ :COUNT,
362
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
363
+ )
364
+ LATEST =
365
+ T.let(
366
+ :LATEST,
367
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
368
+ )
369
+ MAX =
370
+ T.let(
371
+ :MAX,
372
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
373
+ )
374
+ SUM =
375
+ T.let(
376
+ :SUM,
377
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
378
+ )
379
+ UNIQUE =
380
+ T.let(
381
+ :UNIQUE,
382
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
383
+ )
384
+
385
+ sig do
386
+ override.returns(
387
+ T::Array[
388
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType::TaggedSymbol
389
+ ]
390
+ )
391
+ end
392
+ def self.values
393
+ end
394
+ end
395
+ end
396
+
397
+ class MatchedCustomer < MetronomeSDK::Internal::Type::BaseModel
398
+ OrHash =
399
+ T.type_alias do
400
+ T.any(
401
+ MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer,
402
+ MetronomeSDK::Internal::AnyHash
403
+ )
404
+ end
405
+
406
+ sig { returns(T.nilable(String)) }
407
+ attr_reader :id
408
+
409
+ sig { params(id: String).void }
410
+ attr_writer :id
411
+
412
+ sig { returns(T.nilable(String)) }
413
+ attr_reader :name
414
+
415
+ sig { params(name: String).void }
416
+ attr_writer :name
417
+
418
+ # The customer the event was matched to if a match was found
419
+ sig { params(id: String, name: String).returns(T.attached_class) }
420
+ def self.new(id: nil, name: nil)
421
+ end
422
+
423
+ sig { override.returns({ id: String, name: String }) }
424
+ def to_hash
425
+ end
426
+ end
427
+ end
428
+
429
+ UsageSearchResponse =
430
+ T.let(
431
+ MetronomeSDK::Internal::Type::ArrayOf[
432
+ MetronomeSDK::Models::V1::UsageSearchResponseItem
433
+ ],
434
+ MetronomeSDK::Internal::Type::Converter
435
+ )
436
+ end
437
+ end
438
+ end
@@ -40,13 +40,15 @@ module MetronomeSDK
40
40
  end
41
41
  attr_writer :access_schedule
42
42
 
43
- # Which products the commit applies to. If both applicable_product_ids and
44
- # applicable_product_tags are not provided, the commit applies to all products.
43
+ # Which products the commit applies to. If applicable_product_ids,
44
+ # applicable_product_tags or specifiers are not provided, the commit applies to
45
+ # all products.
45
46
  sig { returns(T.nilable(T::Array[String])) }
46
47
  attr_accessor :applicable_product_ids
47
48
 
48
- # Which tags the commit applies to. If both applicable_product_ids and
49
- # applicable_product_tags are not provided, the commit applies to all products.
49
+ # Which tags the commit applies to. If applicable_product_ids,
50
+ # applicable_product_tags or specifiers are not provided, the commit applies to
51
+ # all products.
50
52
  sig { returns(T.nilable(T::Array[String])) }
51
53
  attr_accessor :applicable_product_tags
52
54
 
@@ -91,17 +93,7 @@ module MetronomeSDK
91
93
  )
92
94
  )
93
95
  end
94
- attr_reader :specifiers
95
-
96
- sig do
97
- params(
98
- specifiers:
99
- T::Array[
100
- MetronomeSDK::V2::ContractEditCommitParams::Specifier::OrHash
101
- ]
102
- ).void
103
- end
104
- attr_writer :specifiers
96
+ attr_accessor :specifiers
105
97
 
106
98
  sig do
107
99
  params(
@@ -116,9 +108,11 @@ module MetronomeSDK
116
108
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::OrHash,
117
109
  product_id: String,
118
110
  specifiers:
119
- T::Array[
120
- MetronomeSDK::V2::ContractEditCommitParams::Specifier::OrHash
121
- ],
111
+ T.nilable(
112
+ T::Array[
113
+ MetronomeSDK::V2::ContractEditCommitParams::Specifier::OrHash
114
+ ]
115
+ ),
122
116
  request_options: MetronomeSDK::RequestOptions::OrHash
123
117
  ).returns(T.attached_class)
124
118
  end
@@ -128,11 +122,13 @@ module MetronomeSDK
128
122
  # ID of the customer whose commit is being edited
129
123
  customer_id:,
130
124
  access_schedule: nil,
131
- # Which products the commit applies to. If both applicable_product_ids and
132
- # applicable_product_tags are not provided, the commit applies to all products.
125
+ # Which products the commit applies to. If applicable_product_ids,
126
+ # applicable_product_tags or specifiers are not provided, the commit applies to
127
+ # all products.
133
128
  applicable_product_ids: nil,
134
- # Which tags the commit applies to. If both applicable_product_ids and
135
- # applicable_product_tags are not provided, the commit applies to all products.
129
+ # Which tags the commit applies to. If applicable_product_ids,
130
+ # applicable_product_tags or specifiers are not provided, the commit applies to
131
+ # all products.
136
132
  applicable_product_tags: nil,
137
133
  # ID of contract to use for invoicing
138
134
  invoice_contract_id: nil,
@@ -161,7 +157,11 @@ module MetronomeSDK
161
157
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule,
162
158
  product_id: String,
163
159
  specifiers:
164
- T::Array[MetronomeSDK::V2::ContractEditCommitParams::Specifier],
160
+ T.nilable(
161
+ T::Array[
162
+ MetronomeSDK::V2::ContractEditCommitParams::Specifier
163
+ ]
164
+ ),
165
165
  request_options: MetronomeSDK::RequestOptions
166
166
  }
167
167
  )
@@ -12,56 +12,19 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig do
16
- returns(MetronomeSDK::Models::V2::ContractEditCommitResponse::Data)
17
- end
15
+ sig { returns(MetronomeSDK::ID) }
18
16
  attr_reader :data
19
17
 
20
- sig do
21
- params(
22
- data:
23
- MetronomeSDK::Models::V2::ContractEditCommitResponse::Data::OrHash
24
- ).void
25
- end
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
26
19
  attr_writer :data
27
20
 
28
- sig do
29
- params(
30
- data:
31
- MetronomeSDK::Models::V2::ContractEditCommitResponse::Data::OrHash
32
- ).returns(T.attached_class)
33
- end
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
34
22
  def self.new(data:)
35
23
  end
36
24
 
37
- sig do
38
- override.returns(
39
- { data: MetronomeSDK::Models::V2::ContractEditCommitResponse::Data }
40
- )
41
- end
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
42
26
  def to_hash
43
27
  end
44
-
45
- class Data < MetronomeSDK::Internal::Type::BaseModel
46
- OrHash =
47
- T.type_alias do
48
- T.any(
49
- MetronomeSDK::Models::V2::ContractEditCommitResponse::Data,
50
- MetronomeSDK::Internal::AnyHash
51
- )
52
- end
53
-
54
- sig { returns(String) }
55
- attr_accessor :id
56
-
57
- sig { params(id: String).returns(T.attached_class) }
58
- def self.new(id:)
59
- end
60
-
61
- sig { override.returns({ id: String }) }
62
- def to_hash
63
- end
64
- end
65
28
  end
66
29
  end
67
30
  end
@@ -67,17 +67,7 @@ module MetronomeSDK
67
67
  )
68
68
  )
69
69
  end
70
- attr_reader :specifiers
71
-
72
- sig do
73
- params(
74
- specifiers:
75
- T::Array[
76
- MetronomeSDK::V2::ContractEditCreditParams::Specifier::OrHash
77
- ]
78
- ).void
79
- end
80
- attr_writer :specifiers
70
+ attr_accessor :specifiers
81
71
 
82
72
  sig do
83
73
  params(
@@ -89,9 +79,11 @@ module MetronomeSDK
89
79
  applicable_product_tags: T.nilable(T::Array[String]),
90
80
  product_id: String,
91
81
  specifiers:
92
- T::Array[
93
- MetronomeSDK::V2::ContractEditCreditParams::Specifier::OrHash
94
- ],
82
+ T.nilable(
83
+ T::Array[
84
+ MetronomeSDK::V2::ContractEditCreditParams::Specifier::OrHash
85
+ ]
86
+ ),
95
87
  request_options: MetronomeSDK::RequestOptions::OrHash
96
88
  ).returns(T.attached_class)
97
89
  end
@@ -128,7 +120,11 @@ module MetronomeSDK
128
120
  applicable_product_tags: T.nilable(T::Array[String]),
129
121
  product_id: String,
130
122
  specifiers:
131
- T::Array[MetronomeSDK::V2::ContractEditCreditParams::Specifier],
123
+ T.nilable(
124
+ T::Array[
125
+ MetronomeSDK::V2::ContractEditCreditParams::Specifier
126
+ ]
127
+ ),
132
128
  request_options: MetronomeSDK::RequestOptions
133
129
  }
134
130
  )
@@ -12,56 +12,19 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig do
16
- returns(MetronomeSDK::Models::V2::ContractEditCreditResponse::Data)
17
- end
15
+ sig { returns(MetronomeSDK::ID) }
18
16
  attr_reader :data
19
17
 
20
- sig do
21
- params(
22
- data:
23
- MetronomeSDK::Models::V2::ContractEditCreditResponse::Data::OrHash
24
- ).void
25
- end
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
26
19
  attr_writer :data
27
20
 
28
- sig do
29
- params(
30
- data:
31
- MetronomeSDK::Models::V2::ContractEditCreditResponse::Data::OrHash
32
- ).returns(T.attached_class)
33
- end
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
34
22
  def self.new(data:)
35
23
  end
36
24
 
37
- sig do
38
- override.returns(
39
- { data: MetronomeSDK::Models::V2::ContractEditCreditResponse::Data }
40
- )
41
- end
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
42
26
  def to_hash
43
27
  end
44
-
45
- class Data < MetronomeSDK::Internal::Type::BaseModel
46
- OrHash =
47
- T.type_alias do
48
- T.any(
49
- MetronomeSDK::Models::V2::ContractEditCreditResponse::Data,
50
- MetronomeSDK::Internal::AnyHash
51
- )
52
- end
53
-
54
- sig { returns(String) }
55
- attr_accessor :id
56
-
57
- sig { params(id: String).returns(T.attached_class) }
58
- def self.new(id:)
59
- end
60
-
61
- sig { override.returns({ id: String }) }
62
- def to_hash
63
- end
64
- end
65
28
  end
66
29
  end
67
30
  end