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

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