metronome-sdk 0.1.0.pre.alpha.2 → 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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +85 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +22 -0
  7. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  8. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  9. data/lib/metronome_sdk/internal/type/array_of.rb +14 -1
  10. data/lib/metronome_sdk/internal/type/base_model.rb +92 -23
  11. data/lib/metronome_sdk/internal/type/boolean.rb +15 -1
  12. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -2
  14. data/lib/metronome_sdk/internal/type/file_input.rb +13 -1
  15. data/lib/metronome_sdk/internal/type/hash_of.rb +14 -1
  16. data/lib/metronome_sdk/internal/type/union.rb +27 -7
  17. data/lib/metronome_sdk/internal/type/unknown.rb +15 -1
  18. data/lib/metronome_sdk/internal/util.rb +62 -10
  19. data/lib/metronome_sdk/internal.rb +3 -0
  20. data/lib/metronome_sdk/models/commit.rb +230 -87
  21. data/lib/metronome_sdk/models/contract_without_amendments.rb +551 -185
  22. data/lib/metronome_sdk/models/credit.rb +201 -51
  23. data/lib/metronome_sdk/models/discount.rb +5 -5
  24. data/lib/metronome_sdk/models/event_type_filter.rb +1 -1
  25. data/lib/metronome_sdk/models/override.rb +53 -34
  26. data/lib/metronome_sdk/models/pro_service.rb +2 -2
  27. data/lib/metronome_sdk/models/property_filter.rb +1 -1
  28. data/lib/metronome_sdk/models/rate.rb +9 -9
  29. data/lib/metronome_sdk/models/schedule_duration.rb +4 -4
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +11 -11
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +5 -5
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +2 -2
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +15 -12
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +2 -2
  35. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +2 -2
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +2 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +4 -4
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -4
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +577 -152
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +2 -2
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +2 -2
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +2 -2
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +1317 -341
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +2 -2
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +3 -7
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +421 -36
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +28 -7
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +422 -36
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  55. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +2 -2
  57. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +2 -2
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +2 -2
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -6
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +2 -2
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +5 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  63. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -8
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -8
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +4 -4
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +2 -2
  67. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +3 -3
  68. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +3 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +2 -2
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +2 -2
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +4 -4
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +26 -5
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +4 -4
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +2 -2
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +2 -2
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +46 -18
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +36 -12
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +6 -6
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +26 -5
  87. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +12 -20
  88. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +2 -2
  90. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  91. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +6 -6
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +8 -8
  93. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +2 -2
  94. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +1 -1
  95. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  96. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  97. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  100. data/lib/metronome_sdk/models/v1/customer.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +2 -2
  102. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  103. data/lib/metronome_sdk/models/v1/customer_create_response.rb +2 -2
  104. data/lib/metronome_sdk/models/v1/customer_detail.rb +10 -10
  105. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +4 -4
  106. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  107. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  108. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +2 -2
  109. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  111. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +2 -2
  112. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  113. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +2 -2
  114. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  115. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  116. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  117. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  118. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +86 -32
  119. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +2 -2
  120. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +2 -2
  122. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  123. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +2 -2
  124. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +2 -2
  125. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +2 -2
  126. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +24 -24
  127. data/lib/metronome_sdk/models/v1/customers/invoice.rb +74 -73
  128. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  129. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  130. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +2 -2
  131. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  132. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +2 -2
  133. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -2
  134. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +14 -13
  135. data/lib/metronome_sdk/models/v1/plan_detail.rb +18 -18
  136. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +2 -2
  137. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -2
  138. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  139. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -2
  140. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +3 -3
  141. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +3 -3
  142. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  143. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  144. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  145. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  146. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  147. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +78 -23
  148. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +2 -2
  149. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +62 -9
  150. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +2 -2
  151. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1995 -443
  152. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +2 -2
  153. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1959 -140
  154. data/lib/metronome_sdk/models/v2/contract_list_response.rb +963 -91
  155. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +964 -91
  156. data/lib/metronome_sdk/models.rb +30 -19
  157. data/lib/metronome_sdk/resources/v1/alerts.rb +4 -4
  158. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  159. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  160. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  161. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  162. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  163. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  164. data/lib/metronome_sdk/resources/v1/contracts.rb +59 -28
  165. data/lib/metronome_sdk/resources/v1/credit_grants.rb +7 -5
  166. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  167. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  168. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  169. data/lib/metronome_sdk/resources/v1/customers/commits.rb +9 -7
  170. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  171. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +4 -4
  172. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  173. data/lib/metronome_sdk/resources/v1/customers.rb +43 -4
  174. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  175. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  176. data/lib/metronome_sdk/resources/v1/usage.rb +30 -5
  177. data/lib/metronome_sdk/resources/v2/contracts.rb +45 -31
  178. data/lib/metronome_sdk/version.rb +1 -1
  179. data/lib/metronome_sdk.rb +9 -1
  180. data/rbi/metronome_sdk/errors.rbi +16 -0
  181. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  182. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  183. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  184. data/rbi/metronome_sdk/internal/type/boolean.rbi +8 -0
  185. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  186. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  187. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  188. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  189. data/rbi/metronome_sdk/internal/type/union.rbi +10 -0
  190. data/rbi/metronome_sdk/internal/type/unknown.rbi +8 -0
  191. data/rbi/metronome_sdk/internal/util.rbi +36 -0
  192. data/rbi/metronome_sdk/internal.rbi +5 -0
  193. data/rbi/metronome_sdk/models/commit.rbi +376 -39
  194. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +791 -54
  195. data/rbi/metronome_sdk/models/credit.rbi +376 -25
  196. data/rbi/metronome_sdk/models/override.rbi +66 -0
  197. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +9 -9
  198. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +10 -4
  199. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +995 -17
  200. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +2220 -136
  201. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +9 -2
  202. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +820 -28
  203. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  204. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +66 -0
  205. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +820 -28
  206. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  207. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  208. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +66 -0
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +72 -0
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +72 -0
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +66 -0
  215. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  216. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  217. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  218. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  219. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +121 -8
  220. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  221. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  222. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  223. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  224. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +113 -8
  225. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +101 -0
  226. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3667 -315
  227. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +5965 -2014
  228. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2279 -226
  229. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2279 -226
  230. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -2
  231. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -1
  232. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  233. data/rbi/metronome_sdk/resources/v1/contracts.rbi +36 -1
  234. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  235. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +15 -4
  236. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  237. data/rbi/metronome_sdk/resources/v1/customers.rbi +35 -1
  238. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  239. data/rbi/metronome_sdk/resources/v2/contracts.rbi +65 -7
  240. data/sig/metronome_sdk/errors.rbs +9 -0
  241. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  242. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  243. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  244. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  245. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  246. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  247. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  248. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  249. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  250. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  251. data/sig/metronome_sdk/internal/util.rbs +12 -0
  252. data/sig/metronome_sdk/internal.rbs +2 -0
  253. data/sig/metronome_sdk/models/base_usage_filter.rbs +6 -0
  254. data/sig/metronome_sdk/models/commit.rbs +374 -68
  255. data/sig/metronome_sdk/models/contract_without_amendments.rbs +620 -110
  256. data/sig/metronome_sdk/models/credit.rbs +286 -40
  257. data/sig/metronome_sdk/models/credit_type_data.rbs +2 -0
  258. data/sig/metronome_sdk/models/discount.rbs +11 -0
  259. data/sig/metronome_sdk/models/event_type_filter.rbs +5 -0
  260. data/sig/metronome_sdk/models/id.rbs +2 -0
  261. data/sig/metronome_sdk/models/override.rbs +92 -22
  262. data/sig/metronome_sdk/models/pro_service.rbs +11 -0
  263. data/sig/metronome_sdk/models/property_filter.rbs +7 -0
  264. data/sig/metronome_sdk/models/rate.rbs +16 -4
  265. data/sig/metronome_sdk/models/schedule_duration.rbs +12 -0
  266. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +20 -6
  267. data/sig/metronome_sdk/models/scheduled_charge.rbs +12 -0
  268. data/sig/metronome_sdk/models/tier.rbs +2 -0
  269. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  270. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +2 -0
  271. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  272. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +2 -0
  273. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  274. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  275. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +2 -0
  276. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +2 -0
  277. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -0
  278. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  280. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +13 -0
  281. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  282. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +17 -0
  283. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +719 -75
  285. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +2 -0
  286. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  287. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +2 -0
  288. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  289. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +2 -0
  290. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1503 -250
  291. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +2 -0
  292. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  293. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +5 -0
  294. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  295. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +459 -10
  296. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  297. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  298. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +48 -0
  299. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +459 -10
  300. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  301. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  302. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  303. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +2 -0
  304. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  305. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  306. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +2 -0
  307. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  308. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  309. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  310. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  311. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +2 -0
  312. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +18 -0
  313. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +2 -0
  314. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +19 -0
  315. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  316. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +29 -0
  317. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +2 -0
  318. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +33 -0
  319. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +19 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +2 -0
  321. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +10 -4
  322. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +9 -4
  323. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +2 -0
  324. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +2 -0
  325. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  326. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +2 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +23 -0
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +2 -0
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +46 -0
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +27 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +2 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +2 -0
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +2 -0
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +59 -8
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +2 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +51 -4
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +23 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +41 -0
  348. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +32 -4
  349. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +2 -0
  350. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  351. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +2 -0
  352. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +29 -0
  353. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +30 -0
  354. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +38 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  357. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +2 -0
  358. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +10 -0
  359. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  360. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  361. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  362. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  363. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  364. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  365. data/sig/metronome_sdk/models/v1/customer.rbs +8 -0
  366. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +2 -0
  367. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +2 -0
  368. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  369. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +2 -0
  370. data/sig/metronome_sdk/models/v1/customer_detail.rbs +23 -4
  371. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  372. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +17 -0
  373. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  374. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  375. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  376. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  377. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  378. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  379. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +2 -0
  380. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  381. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  382. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +2 -0
  383. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  384. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  385. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +5 -0
  386. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  388. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +2 -0
  389. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  390. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  391. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +23 -0
  393. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  394. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +2 -0
  395. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +5 -0
  397. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  398. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +2 -0
  399. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  400. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +2 -0
  401. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  402. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +5 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  404. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +2 -0
  405. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +45 -16
  406. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +195 -40
  407. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +5 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  412. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +2 -0
  414. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  417. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  418. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +2 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  420. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  421. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +23 -0
  425. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +30 -7
  426. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  427. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  428. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/plan_detail.rbs +38 -0
  432. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +2 -0
  434. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +28 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +14 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  439. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  440. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  442. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +12 -4
  443. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +9 -4
  444. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  445. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  446. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  450. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  451. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  452. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  453. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +106 -1
  454. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +2 -0
  455. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +81 -1
  456. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +2 -0
  457. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2233 -303
  458. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +2 -0
  459. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  460. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2475 -453
  461. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  462. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1400 -43
  463. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  464. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1400 -43
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +10 -0
  467. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  468. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  470. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +8 -0
  473. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  474. data/sig/metronome_sdk/resources/v2/contracts.rbs +8 -1
  475. metadata +20 -2
@@ -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
 
@@ -80,6 +82,19 @@ module MetronomeSDK
80
82
  sig { params(product_id: String).void }
81
83
  attr_writer :product_id
82
84
 
85
+ # List of filters that determine what kind of customer usage draws down a commit
86
+ # or credit. A customer's usage needs to meet the condition of at least one of the
87
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
88
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
89
+ sig do
90
+ returns(
91
+ T.nilable(
92
+ T::Array[MetronomeSDK::V2::ContractEditCommitParams::Specifier]
93
+ )
94
+ )
95
+ end
96
+ attr_accessor :specifiers
97
+
83
98
  sig do
84
99
  params(
85
100
  commit_id: String,
@@ -92,6 +107,12 @@ module MetronomeSDK
92
107
  invoice_schedule:
93
108
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule::OrHash,
94
109
  product_id: String,
110
+ specifiers:
111
+ T.nilable(
112
+ T::Array[
113
+ MetronomeSDK::V2::ContractEditCommitParams::Specifier::OrHash
114
+ ]
115
+ ),
95
116
  request_options: MetronomeSDK::RequestOptions::OrHash
96
117
  ).returns(T.attached_class)
97
118
  end
@@ -101,16 +122,23 @@ module MetronomeSDK
101
122
  # ID of the customer whose commit is being edited
102
123
  customer_id:,
103
124
  access_schedule: nil,
104
- # Which products the commit applies to. If both applicable_product_ids and
105
- # 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.
106
128
  applicable_product_ids: nil,
107
- # Which tags the commit applies to. If both applicable_product_ids and
108
- # 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.
109
132
  applicable_product_tags: nil,
110
133
  # ID of contract to use for invoicing
111
134
  invoice_contract_id: nil,
112
135
  invoice_schedule: nil,
113
136
  product_id: nil,
137
+ # List of filters that determine what kind of customer usage draws down a commit
138
+ # or credit. A customer's usage needs to meet the condition of at least one of the
139
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
140
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
141
+ specifiers: nil,
114
142
  request_options: {}
115
143
  )
116
144
  end
@@ -128,6 +156,12 @@ module MetronomeSDK
128
156
  invoice_schedule:
129
157
  MetronomeSDK::V2::ContractEditCommitParams::InvoiceSchedule,
130
158
  product_id: String,
159
+ specifiers:
160
+ T.nilable(
161
+ T::Array[
162
+ MetronomeSDK::V2::ContractEditCommitParams::Specifier
163
+ ]
164
+ ),
131
165
  request_options: MetronomeSDK::RequestOptions
132
166
  }
133
167
  )
@@ -631,6 +665,77 @@ module MetronomeSDK
631
665
  end
632
666
  end
633
667
  end
668
+
669
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
670
+ OrHash =
671
+ T.type_alias do
672
+ T.any(
673
+ MetronomeSDK::V2::ContractEditCommitParams::Specifier,
674
+ MetronomeSDK::Internal::AnyHash
675
+ )
676
+ end
677
+
678
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
679
+ attr_reader :presentation_group_values
680
+
681
+ sig do
682
+ params(presentation_group_values: T::Hash[Symbol, String]).void
683
+ end
684
+ attr_writer :presentation_group_values
685
+
686
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
687
+ attr_reader :pricing_group_values
688
+
689
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
690
+ attr_writer :pricing_group_values
691
+
692
+ # If provided, the specifier will only apply to the product with the specified ID.
693
+ sig { returns(T.nilable(String)) }
694
+ attr_reader :product_id
695
+
696
+ sig { params(product_id: String).void }
697
+ attr_writer :product_id
698
+
699
+ # If provided, the specifier will only apply to products with all the specified
700
+ # tags.
701
+ sig { returns(T.nilable(T::Array[String])) }
702
+ attr_reader :product_tags
703
+
704
+ sig { params(product_tags: T::Array[String]).void }
705
+ attr_writer :product_tags
706
+
707
+ sig do
708
+ params(
709
+ presentation_group_values: T::Hash[Symbol, String],
710
+ pricing_group_values: T::Hash[Symbol, String],
711
+ product_id: String,
712
+ product_tags: T::Array[String]
713
+ ).returns(T.attached_class)
714
+ end
715
+ def self.new(
716
+ presentation_group_values: nil,
717
+ pricing_group_values: nil,
718
+ # If provided, the specifier will only apply to the product with the specified ID.
719
+ product_id: nil,
720
+ # If provided, the specifier will only apply to products with all the specified
721
+ # tags.
722
+ product_tags: nil
723
+ )
724
+ end
725
+
726
+ sig do
727
+ override.returns(
728
+ {
729
+ presentation_group_values: T::Hash[Symbol, String],
730
+ pricing_group_values: T::Hash[Symbol, String],
731
+ product_id: String,
732
+ product_tags: T::Array[String]
733
+ }
734
+ )
735
+ end
736
+ def to_hash
737
+ end
738
+ end
634
739
  end
635
740
  end
636
741
  end