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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -13,61 +13,21 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Customers::CreditUpdateEndDateResponse::Data
19
- )
20
- end
16
+ sig { returns(MetronomeSDK::ID) }
21
17
  attr_reader :data
22
18
 
23
- sig do
24
- params(
25
- data:
26
- MetronomeSDK::Models::V1::Customers::CreditUpdateEndDateResponse::Data::OrHash
27
- ).void
28
- end
19
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
29
20
  attr_writer :data
30
21
 
31
22
  sig do
32
- params(
33
- data:
34
- MetronomeSDK::Models::V1::Customers::CreditUpdateEndDateResponse::Data::OrHash
35
- ).returns(T.attached_class)
23
+ params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class)
36
24
  end
37
25
  def self.new(data:)
38
26
  end
39
27
 
40
- sig do
41
- override.returns(
42
- {
43
- data:
44
- MetronomeSDK::Models::V1::Customers::CreditUpdateEndDateResponse::Data
45
- }
46
- )
47
- end
28
+ sig { override.returns({ data: MetronomeSDK::ID }) }
48
29
  def to_hash
49
30
  end
50
-
51
- class Data < MetronomeSDK::Internal::Type::BaseModel
52
- OrHash =
53
- T.type_alias do
54
- T.any(
55
- MetronomeSDK::Models::V1::Customers::CreditUpdateEndDateResponse::Data,
56
- MetronomeSDK::Internal::AnyHash
57
- )
58
- end
59
-
60
- sig { returns(String) }
61
- attr_accessor :id
62
-
63
- sig { params(id: String).returns(T.attached_class) }
64
- def self.new(id:)
65
- end
66
-
67
- sig { override.returns({ id: String }) }
68
- def to_hash
69
- end
70
- end
71
31
  end
72
32
  end
73
33
  end
@@ -0,0 +1,572 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ CustomerAlert = Customers::CustomerAlert
7
+
8
+ module Customers
9
+ class CustomerAlert < MetronomeSDK::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::Customers::CustomerAlert,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(MetronomeSDK::V1::Customers::CustomerAlert::Alert) }
19
+ attr_reader :alert
20
+
21
+ sig do
22
+ params(
23
+ alert: MetronomeSDK::V1::Customers::CustomerAlert::Alert::OrHash
24
+ ).void
25
+ end
26
+ attr_writer :alert
27
+
28
+ # The status of the customer alert. If the alert is archived, null will be
29
+ # returned.
30
+ sig do
31
+ returns(
32
+ T.nilable(
33
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::TaggedSymbol
34
+ )
35
+ )
36
+ end
37
+ attr_accessor :customer_status
38
+
39
+ # If present, indicates the reason the alert was triggered.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :triggered_by
42
+
43
+ sig do
44
+ params(
45
+ alert: MetronomeSDK::V1::Customers::CustomerAlert::Alert::OrHash,
46
+ customer_status:
47
+ T.nilable(
48
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::OrSymbol
49
+ ),
50
+ triggered_by: T.nilable(String)
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ alert:,
55
+ # The status of the customer alert. If the alert is archived, null will be
56
+ # returned.
57
+ customer_status:,
58
+ # If present, indicates the reason the alert was triggered.
59
+ triggered_by: nil
60
+ )
61
+ end
62
+
63
+ sig do
64
+ override.returns(
65
+ {
66
+ alert: MetronomeSDK::V1::Customers::CustomerAlert::Alert,
67
+ customer_status:
68
+ T.nilable(
69
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::TaggedSymbol
70
+ ),
71
+ triggered_by: T.nilable(String)
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+
78
+ class Alert < MetronomeSDK::Internal::Type::BaseModel
79
+ OrHash =
80
+ T.type_alias do
81
+ T.any(
82
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert,
83
+ MetronomeSDK::Internal::AnyHash
84
+ )
85
+ end
86
+
87
+ # the Metronome ID of the alert
88
+ sig { returns(String) }
89
+ attr_accessor :id
90
+
91
+ # Name of the alert
92
+ sig { returns(String) }
93
+ attr_accessor :name
94
+
95
+ # Status of the alert
96
+ sig do
97
+ returns(
98
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol
99
+ )
100
+ end
101
+ attr_accessor :status
102
+
103
+ # Threshold value of the alert policy
104
+ sig { returns(Float) }
105
+ attr_accessor :threshold
106
+
107
+ # Type of the alert
108
+ sig do
109
+ returns(
110
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
111
+ )
112
+ end
113
+ attr_accessor :type
114
+
115
+ # Timestamp for when the alert was last updated
116
+ sig { returns(Time) }
117
+ attr_accessor :updated_at
118
+
119
+ # An array of strings, representing a way to filter the credit grant this alert
120
+ # applies to, by looking at the credit_grant_type field on the credit grant. This
121
+ # field is only defined for CreditPercentage and CreditBalance alerts
122
+ sig { returns(T.nilable(T::Array[String])) }
123
+ attr_reader :credit_grant_type_filters
124
+
125
+ sig { params(credit_grant_type_filters: T::Array[String]).void }
126
+ attr_writer :credit_grant_type_filters
127
+
128
+ sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
129
+ attr_reader :credit_type
130
+
131
+ sig do
132
+ params(
133
+ credit_type: T.nilable(MetronomeSDK::CreditTypeData::OrHash)
134
+ ).void
135
+ end
136
+ attr_writer :credit_type
137
+
138
+ # A list of custom field filters for alert types that support advanced filtering
139
+ sig do
140
+ returns(
141
+ T.nilable(
142
+ T::Array[
143
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter
144
+ ]
145
+ )
146
+ )
147
+ end
148
+ attr_reader :custom_field_filters
149
+
150
+ sig do
151
+ params(
152
+ custom_field_filters:
153
+ T::Array[
154
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::OrHash
155
+ ]
156
+ ).void
157
+ end
158
+ attr_writer :custom_field_filters
159
+
160
+ # Scopes alert evaluation to a specific presentation group key on individual line
161
+ # items. Only present for spend alerts.
162
+ sig do
163
+ returns(
164
+ T.nilable(
165
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter
166
+ )
167
+ )
168
+ end
169
+ attr_reader :group_key_filter
170
+
171
+ sig do
172
+ params(
173
+ group_key_filter:
174
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter::OrHash
175
+ ).void
176
+ end
177
+ attr_writer :group_key_filter
178
+
179
+ # Only supported for invoice_total_reached alerts. A list of invoice types to
180
+ # evaluate.
181
+ sig { returns(T.nilable(T::Array[String])) }
182
+ attr_reader :invoice_types_filter
183
+
184
+ sig { params(invoice_types_filter: T::Array[String]).void }
185
+ attr_writer :invoice_types_filter
186
+
187
+ # Prevents the creation of duplicates. If a request to create a record is made
188
+ # with a previously used uniqueness key, a new record will not be created and the
189
+ # request will fail with a 409 error.
190
+ sig { returns(T.nilable(String)) }
191
+ attr_reader :uniqueness_key
192
+
193
+ sig { params(uniqueness_key: String).void }
194
+ attr_writer :uniqueness_key
195
+
196
+ sig do
197
+ params(
198
+ id: String,
199
+ name: String,
200
+ status:
201
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::OrSymbol,
202
+ threshold: Float,
203
+ type:
204
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::OrSymbol,
205
+ updated_at: Time,
206
+ credit_grant_type_filters: T::Array[String],
207
+ credit_type: T.nilable(MetronomeSDK::CreditTypeData::OrHash),
208
+ custom_field_filters:
209
+ T::Array[
210
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::OrHash
211
+ ],
212
+ group_key_filter:
213
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter::OrHash,
214
+ invoice_types_filter: T::Array[String],
215
+ uniqueness_key: String
216
+ ).returns(T.attached_class)
217
+ end
218
+ def self.new(
219
+ # the Metronome ID of the alert
220
+ id:,
221
+ # Name of the alert
222
+ name:,
223
+ # Status of the alert
224
+ status:,
225
+ # Threshold value of the alert policy
226
+ threshold:,
227
+ # Type of the alert
228
+ type:,
229
+ # Timestamp for when the alert was last updated
230
+ updated_at:,
231
+ # An array of strings, representing a way to filter the credit grant this alert
232
+ # applies to, by looking at the credit_grant_type field on the credit grant. This
233
+ # field is only defined for CreditPercentage and CreditBalance alerts
234
+ credit_grant_type_filters: nil,
235
+ credit_type: nil,
236
+ # A list of custom field filters for alert types that support advanced filtering
237
+ custom_field_filters: nil,
238
+ # Scopes alert evaluation to a specific presentation group key on individual line
239
+ # items. Only present for spend alerts.
240
+ group_key_filter: nil,
241
+ # Only supported for invoice_total_reached alerts. A list of invoice types to
242
+ # evaluate.
243
+ invoice_types_filter: nil,
244
+ # Prevents the creation of duplicates. If a request to create a record is made
245
+ # with a previously used uniqueness key, a new record will not be created and the
246
+ # request will fail with a 409 error.
247
+ uniqueness_key: nil
248
+ )
249
+ end
250
+
251
+ sig do
252
+ override.returns(
253
+ {
254
+ id: String,
255
+ name: String,
256
+ status:
257
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol,
258
+ threshold: Float,
259
+ type:
260
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol,
261
+ updated_at: Time,
262
+ credit_grant_type_filters: T::Array[String],
263
+ credit_type: T.nilable(MetronomeSDK::CreditTypeData),
264
+ custom_field_filters:
265
+ T::Array[
266
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter
267
+ ],
268
+ group_key_filter:
269
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter,
270
+ invoice_types_filter: T::Array[String],
271
+ uniqueness_key: String
272
+ }
273
+ )
274
+ end
275
+ def to_hash
276
+ end
277
+
278
+ # Status of the alert
279
+ module Status
280
+ extend MetronomeSDK::Internal::Type::Enum
281
+
282
+ TaggedSymbol =
283
+ T.type_alias do
284
+ T.all(
285
+ Symbol,
286
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status
287
+ )
288
+ end
289
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
290
+
291
+ ENABLED =
292
+ T.let(
293
+ :enabled,
294
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol
295
+ )
296
+ ARCHIVED =
297
+ T.let(
298
+ :archived,
299
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol
300
+ )
301
+ DISABLED =
302
+ T.let(
303
+ :disabled,
304
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol
305
+ )
306
+
307
+ sig do
308
+ override.returns(
309
+ T::Array[
310
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol
311
+ ]
312
+ )
313
+ end
314
+ def self.values
315
+ end
316
+ end
317
+
318
+ # Type of the alert
319
+ module Type
320
+ extend MetronomeSDK::Internal::Type::Enum
321
+
322
+ TaggedSymbol =
323
+ T.type_alias do
324
+ T.all(
325
+ Symbol,
326
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type
327
+ )
328
+ end
329
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
330
+
331
+ LOW_CREDIT_BALANCE_REACHED =
332
+ T.let(
333
+ :low_credit_balance_reached,
334
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
335
+ )
336
+ SPEND_THRESHOLD_REACHED =
337
+ T.let(
338
+ :spend_threshold_reached,
339
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
340
+ )
341
+ MONTHLY_INVOICE_TOTAL_SPEND_THRESHOLD_REACHED =
342
+ T.let(
343
+ :monthly_invoice_total_spend_threshold_reached,
344
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
345
+ )
346
+ LOW_REMAINING_DAYS_IN_PLAN_REACHED =
347
+ T.let(
348
+ :low_remaining_days_in_plan_reached,
349
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
350
+ )
351
+ LOW_REMAINING_CREDIT_PERCENTAGE_REACHED =
352
+ T.let(
353
+ :low_remaining_credit_percentage_reached,
354
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
355
+ )
356
+ USAGE_THRESHOLD_REACHED =
357
+ T.let(
358
+ :usage_threshold_reached,
359
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
360
+ )
361
+ LOW_REMAINING_DAYS_FOR_COMMIT_SEGMENT_REACHED =
362
+ T.let(
363
+ :low_remaining_days_for_commit_segment_reached,
364
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
365
+ )
366
+ LOW_REMAINING_COMMIT_BALANCE_REACHED =
367
+ T.let(
368
+ :low_remaining_commit_balance_reached,
369
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
370
+ )
371
+ LOW_REMAINING_COMMIT_PERCENTAGE_REACHED =
372
+ T.let(
373
+ :low_remaining_commit_percentage_reached,
374
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
375
+ )
376
+ LOW_REMAINING_DAYS_FOR_CONTRACT_CREDIT_SEGMENT_REACHED =
377
+ T.let(
378
+ :low_remaining_days_for_contract_credit_segment_reached,
379
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
380
+ )
381
+ LOW_REMAINING_CONTRACT_CREDIT_BALANCE_REACHED =
382
+ T.let(
383
+ :low_remaining_contract_credit_balance_reached,
384
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
385
+ )
386
+ LOW_REMAINING_CONTRACT_CREDIT_PERCENTAGE_REACHED =
387
+ T.let(
388
+ :low_remaining_contract_credit_percentage_reached,
389
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
390
+ )
391
+ LOW_REMAINING_CONTRACT_CREDIT_AND_COMMIT_BALANCE_REACHED =
392
+ T.let(
393
+ :low_remaining_contract_credit_and_commit_balance_reached,
394
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
395
+ )
396
+ INVOICE_TOTAL_REACHED =
397
+ T.let(
398
+ :invoice_total_reached,
399
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
400
+ )
401
+
402
+ sig do
403
+ override.returns(
404
+ T::Array[
405
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
406
+ ]
407
+ )
408
+ end
409
+ def self.values
410
+ end
411
+ end
412
+
413
+ class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
414
+ OrHash =
415
+ T.type_alias do
416
+ T.any(
417
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter,
418
+ MetronomeSDK::Internal::AnyHash
419
+ )
420
+ end
421
+
422
+ sig do
423
+ returns(
424
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::TaggedSymbol
425
+ )
426
+ end
427
+ attr_accessor :entity
428
+
429
+ sig { returns(String) }
430
+ attr_accessor :key
431
+
432
+ sig { returns(String) }
433
+ attr_accessor :value
434
+
435
+ sig do
436
+ params(
437
+ entity:
438
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::OrSymbol,
439
+ key: String,
440
+ value: String
441
+ ).returns(T.attached_class)
442
+ end
443
+ def self.new(entity:, key:, value:)
444
+ end
445
+
446
+ sig do
447
+ override.returns(
448
+ {
449
+ entity:
450
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::TaggedSymbol,
451
+ key: String,
452
+ value: String
453
+ }
454
+ )
455
+ end
456
+ def to_hash
457
+ end
458
+
459
+ module Entity
460
+ extend MetronomeSDK::Internal::Type::Enum
461
+
462
+ TaggedSymbol =
463
+ T.type_alias do
464
+ T.all(
465
+ Symbol,
466
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity
467
+ )
468
+ end
469
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
470
+
471
+ CONTRACT =
472
+ T.let(
473
+ :Contract,
474
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::TaggedSymbol
475
+ )
476
+ COMMIT =
477
+ T.let(
478
+ :Commit,
479
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::TaggedSymbol
480
+ )
481
+ CONTRACT_CREDIT =
482
+ T.let(
483
+ :ContractCredit,
484
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::TaggedSymbol
485
+ )
486
+
487
+ sig do
488
+ override.returns(
489
+ T::Array[
490
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity::TaggedSymbol
491
+ ]
492
+ )
493
+ end
494
+ def self.values
495
+ end
496
+ end
497
+ end
498
+
499
+ class GroupKeyFilter < MetronomeSDK::Internal::Type::BaseModel
500
+ OrHash =
501
+ T.type_alias do
502
+ T.any(
503
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter,
504
+ MetronomeSDK::Internal::AnyHash
505
+ )
506
+ end
507
+
508
+ sig { returns(String) }
509
+ attr_accessor :key
510
+
511
+ sig { returns(String) }
512
+ attr_accessor :value
513
+
514
+ # Scopes alert evaluation to a specific presentation group key on individual line
515
+ # items. Only present for spend alerts.
516
+ sig do
517
+ params(key: String, value: String).returns(T.attached_class)
518
+ end
519
+ def self.new(key:, value:)
520
+ end
521
+
522
+ sig { override.returns({ key: String, value: String }) }
523
+ def to_hash
524
+ end
525
+ end
526
+ end
527
+
528
+ # The status of the customer alert. If the alert is archived, null will be
529
+ # returned.
530
+ module CustomerStatus
531
+ extend MetronomeSDK::Internal::Type::Enum
532
+
533
+ TaggedSymbol =
534
+ T.type_alias do
535
+ T.all(
536
+ Symbol,
537
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus
538
+ )
539
+ end
540
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
541
+
542
+ OK =
543
+ T.let(
544
+ :ok,
545
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::TaggedSymbol
546
+ )
547
+ IN_ALARM =
548
+ T.let(
549
+ :in_alarm,
550
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::TaggedSymbol
551
+ )
552
+ EVALUATING =
553
+ T.let(
554
+ :evaluating,
555
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::TaggedSymbol
556
+ )
557
+
558
+ sig do
559
+ override.returns(
560
+ T::Array[
561
+ MetronomeSDK::V1::Customers::CustomerAlert::CustomerStatus::TaggedSymbol
562
+ ]
563
+ )
564
+ end
565
+ def self.values
566
+ end
567
+ end
568
+ end
569
+ end
570
+ end
571
+ end
572
+ end