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,25 +13,19 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig do
17
- returns(
18
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data
19
- )
20
- end
16
+ sig { returns(MetronomeSDK::V1::Customers::CustomerAlert) }
21
17
  attr_reader :data
22
18
 
23
19
  sig do
24
20
  params(
25
- data:
26
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::OrHash
21
+ data: MetronomeSDK::V1::Customers::CustomerAlert::OrHash
27
22
  ).void
28
23
  end
29
24
  attr_writer :data
30
25
 
31
26
  sig do
32
27
  params(
33
- data:
34
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::OrHash
28
+ data: MetronomeSDK::V1::Customers::CustomerAlert::OrHash
35
29
  ).returns(T.attached_class)
36
30
  end
37
31
  def self.new(data:)
@@ -39,623 +33,11 @@ module MetronomeSDK
39
33
 
40
34
  sig do
41
35
  override.returns(
42
- {
43
- data:
44
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data
45
- }
36
+ { data: MetronomeSDK::V1::Customers::CustomerAlert }
46
37
  )
47
38
  end
48
39
  def to_hash
49
40
  end
50
-
51
- class Data < MetronomeSDK::Internal::Type::BaseModel
52
- OrHash =
53
- T.type_alias do
54
- T.any(
55
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data,
56
- MetronomeSDK::Internal::AnyHash
57
- )
58
- end
59
-
60
- sig do
61
- returns(
62
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert
63
- )
64
- end
65
- attr_reader :alert
66
-
67
- sig do
68
- params(
69
- alert:
70
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::OrHash
71
- ).void
72
- end
73
- attr_writer :alert
74
-
75
- # The status of the customer alert. If the alert is archived, null will be
76
- # returned.
77
- sig do
78
- returns(
79
- T.nilable(
80
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::TaggedSymbol
81
- )
82
- )
83
- end
84
- attr_accessor :customer_status
85
-
86
- # If present, indicates the reason the alert was triggered.
87
- sig { returns(T.nilable(String)) }
88
- attr_accessor :triggered_by
89
-
90
- sig do
91
- params(
92
- alert:
93
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::OrHash,
94
- customer_status:
95
- T.nilable(
96
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::OrSymbol
97
- ),
98
- triggered_by: T.nilable(String)
99
- ).returns(T.attached_class)
100
- end
101
- def self.new(
102
- alert:,
103
- # The status of the customer alert. If the alert is archived, null will be
104
- # returned.
105
- customer_status:,
106
- # If present, indicates the reason the alert was triggered.
107
- triggered_by: nil
108
- )
109
- end
110
-
111
- sig do
112
- override.returns(
113
- {
114
- alert:
115
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert,
116
- customer_status:
117
- T.nilable(
118
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::TaggedSymbol
119
- ),
120
- triggered_by: T.nilable(String)
121
- }
122
- )
123
- end
124
- def to_hash
125
- end
126
-
127
- class Alert < MetronomeSDK::Internal::Type::BaseModel
128
- OrHash =
129
- T.type_alias do
130
- T.any(
131
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert,
132
- MetronomeSDK::Internal::AnyHash
133
- )
134
- end
135
-
136
- # the Metronome ID of the alert
137
- sig { returns(String) }
138
- attr_accessor :id
139
-
140
- # Name of the alert
141
- sig { returns(String) }
142
- attr_accessor :name
143
-
144
- # Status of the alert
145
- sig do
146
- returns(
147
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::TaggedSymbol
148
- )
149
- end
150
- attr_accessor :status
151
-
152
- # Threshold value of the alert policy
153
- sig { returns(Float) }
154
- attr_accessor :threshold
155
-
156
- # Type of the alert
157
- sig do
158
- returns(
159
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
160
- )
161
- end
162
- attr_accessor :type
163
-
164
- # Timestamp for when the alert was last updated
165
- sig { returns(Time) }
166
- attr_accessor :updated_at
167
-
168
- # An array of strings, representing a way to filter the credit grant this alert
169
- # applies to, by looking at the credit_grant_type field on the credit grant. This
170
- # field is only defined for CreditPercentage and CreditBalance alerts
171
- sig { returns(T.nilable(T::Array[String])) }
172
- attr_reader :credit_grant_type_filters
173
-
174
- sig { params(credit_grant_type_filters: T::Array[String]).void }
175
- attr_writer :credit_grant_type_filters
176
-
177
- sig do
178
- returns(
179
- T.nilable(
180
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CreditType
181
- )
182
- )
183
- end
184
- attr_reader :credit_type
185
-
186
- sig do
187
- params(
188
- credit_type:
189
- T.nilable(
190
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CreditType::OrHash
191
- )
192
- ).void
193
- end
194
- attr_writer :credit_type
195
-
196
- # A list of custom field filters for alert types that support advanced filtering
197
- sig do
198
- returns(
199
- T.nilable(
200
- T::Array[
201
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter
202
- ]
203
- )
204
- )
205
- end
206
- attr_reader :custom_field_filters
207
-
208
- sig do
209
- params(
210
- custom_field_filters:
211
- T::Array[
212
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::OrHash
213
- ]
214
- ).void
215
- end
216
- attr_writer :custom_field_filters
217
-
218
- # Scopes alert evaluation to a specific presentation group key on individual line
219
- # items. Only present for spend alerts.
220
- sig do
221
- returns(
222
- T.nilable(
223
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::GroupKeyFilter
224
- )
225
- )
226
- end
227
- attr_reader :group_key_filter
228
-
229
- sig do
230
- params(
231
- group_key_filter:
232
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::GroupKeyFilter::OrHash
233
- ).void
234
- end
235
- attr_writer :group_key_filter
236
-
237
- # Only supported for invoice_total_reached alerts. A list of invoice types to
238
- # evaluate.
239
- sig { returns(T.nilable(T::Array[String])) }
240
- attr_reader :invoice_types_filter
241
-
242
- sig { params(invoice_types_filter: T::Array[String]).void }
243
- attr_writer :invoice_types_filter
244
-
245
- # Prevents the creation of duplicates. If a request to create a record is made
246
- # with a previously used uniqueness key, a new record will not be created and the
247
- # request will fail with a 409 error.
248
- sig { returns(T.nilable(String)) }
249
- attr_reader :uniqueness_key
250
-
251
- sig { params(uniqueness_key: String).void }
252
- attr_writer :uniqueness_key
253
-
254
- sig do
255
- params(
256
- id: String,
257
- name: String,
258
- status:
259
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::OrSymbol,
260
- threshold: Float,
261
- type:
262
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::OrSymbol,
263
- updated_at: Time,
264
- credit_grant_type_filters: T::Array[String],
265
- credit_type:
266
- T.nilable(
267
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CreditType::OrHash
268
- ),
269
- custom_field_filters:
270
- T::Array[
271
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::OrHash
272
- ],
273
- group_key_filter:
274
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::GroupKeyFilter::OrHash,
275
- invoice_types_filter: T::Array[String],
276
- uniqueness_key: String
277
- ).returns(T.attached_class)
278
- end
279
- def self.new(
280
- # the Metronome ID of the alert
281
- id:,
282
- # Name of the alert
283
- name:,
284
- # Status of the alert
285
- status:,
286
- # Threshold value of the alert policy
287
- threshold:,
288
- # Type of the alert
289
- type:,
290
- # Timestamp for when the alert was last updated
291
- updated_at:,
292
- # An array of strings, representing a way to filter the credit grant this alert
293
- # applies to, by looking at the credit_grant_type field on the credit grant. This
294
- # field is only defined for CreditPercentage and CreditBalance alerts
295
- credit_grant_type_filters: nil,
296
- credit_type: nil,
297
- # A list of custom field filters for alert types that support advanced filtering
298
- custom_field_filters: nil,
299
- # Scopes alert evaluation to a specific presentation group key on individual line
300
- # items. Only present for spend alerts.
301
- group_key_filter: nil,
302
- # Only supported for invoice_total_reached alerts. A list of invoice types to
303
- # evaluate.
304
- invoice_types_filter: nil,
305
- # Prevents the creation of duplicates. If a request to create a record is made
306
- # with a previously used uniqueness key, a new record will not be created and the
307
- # request will fail with a 409 error.
308
- uniqueness_key: nil
309
- )
310
- end
311
-
312
- sig do
313
- override.returns(
314
- {
315
- id: String,
316
- name: String,
317
- status:
318
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::TaggedSymbol,
319
- threshold: Float,
320
- type:
321
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol,
322
- updated_at: Time,
323
- credit_grant_type_filters: T::Array[String],
324
- credit_type:
325
- T.nilable(
326
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CreditType
327
- ),
328
- custom_field_filters:
329
- T::Array[
330
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter
331
- ],
332
- group_key_filter:
333
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::GroupKeyFilter,
334
- invoice_types_filter: T::Array[String],
335
- uniqueness_key: String
336
- }
337
- )
338
- end
339
- def to_hash
340
- end
341
-
342
- # Status of the alert
343
- module Status
344
- extend MetronomeSDK::Internal::Type::Enum
345
-
346
- TaggedSymbol =
347
- T.type_alias do
348
- T.all(
349
- Symbol,
350
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status
351
- )
352
- end
353
- OrSymbol = T.type_alias { T.any(Symbol, String) }
354
-
355
- ENABLED =
356
- T.let(
357
- :enabled,
358
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::TaggedSymbol
359
- )
360
- ARCHIVED =
361
- T.let(
362
- :archived,
363
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::TaggedSymbol
364
- )
365
- DISABLED =
366
- T.let(
367
- :disabled,
368
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::TaggedSymbol
369
- )
370
-
371
- sig do
372
- override.returns(
373
- T::Array[
374
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Status::TaggedSymbol
375
- ]
376
- )
377
- end
378
- def self.values
379
- end
380
- end
381
-
382
- # Type of the alert
383
- module Type
384
- extend MetronomeSDK::Internal::Type::Enum
385
-
386
- TaggedSymbol =
387
- T.type_alias do
388
- T.all(
389
- Symbol,
390
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type
391
- )
392
- end
393
- OrSymbol = T.type_alias { T.any(Symbol, String) }
394
-
395
- LOW_CREDIT_BALANCE_REACHED =
396
- T.let(
397
- :low_credit_balance_reached,
398
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
399
- )
400
- SPEND_THRESHOLD_REACHED =
401
- T.let(
402
- :spend_threshold_reached,
403
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
404
- )
405
- MONTHLY_INVOICE_TOTAL_SPEND_THRESHOLD_REACHED =
406
- T.let(
407
- :monthly_invoice_total_spend_threshold_reached,
408
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
409
- )
410
- LOW_REMAINING_DAYS_IN_PLAN_REACHED =
411
- T.let(
412
- :low_remaining_days_in_plan_reached,
413
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
414
- )
415
- LOW_REMAINING_CREDIT_PERCENTAGE_REACHED =
416
- T.let(
417
- :low_remaining_credit_percentage_reached,
418
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
419
- )
420
- USAGE_THRESHOLD_REACHED =
421
- T.let(
422
- :usage_threshold_reached,
423
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
424
- )
425
- LOW_REMAINING_DAYS_FOR_COMMIT_SEGMENT_REACHED =
426
- T.let(
427
- :low_remaining_days_for_commit_segment_reached,
428
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
429
- )
430
- LOW_REMAINING_COMMIT_BALANCE_REACHED =
431
- T.let(
432
- :low_remaining_commit_balance_reached,
433
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
434
- )
435
- LOW_REMAINING_COMMIT_PERCENTAGE_REACHED =
436
- T.let(
437
- :low_remaining_commit_percentage_reached,
438
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
439
- )
440
- LOW_REMAINING_DAYS_FOR_CONTRACT_CREDIT_SEGMENT_REACHED =
441
- T.let(
442
- :low_remaining_days_for_contract_credit_segment_reached,
443
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
444
- )
445
- LOW_REMAINING_CONTRACT_CREDIT_BALANCE_REACHED =
446
- T.let(
447
- :low_remaining_contract_credit_balance_reached,
448
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
449
- )
450
- LOW_REMAINING_CONTRACT_CREDIT_PERCENTAGE_REACHED =
451
- T.let(
452
- :low_remaining_contract_credit_percentage_reached,
453
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
454
- )
455
- LOW_REMAINING_CONTRACT_CREDIT_AND_COMMIT_BALANCE_REACHED =
456
- T.let(
457
- :low_remaining_contract_credit_and_commit_balance_reached,
458
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
459
- )
460
- INVOICE_TOTAL_REACHED =
461
- T.let(
462
- :invoice_total_reached,
463
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
464
- )
465
-
466
- sig do
467
- override.returns(
468
- T::Array[
469
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::Type::TaggedSymbol
470
- ]
471
- )
472
- end
473
- def self.values
474
- end
475
- end
476
-
477
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
478
- OrHash =
479
- T.type_alias do
480
- T.any(
481
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CreditType,
482
- MetronomeSDK::Internal::AnyHash
483
- )
484
- end
485
-
486
- sig { returns(String) }
487
- attr_accessor :id
488
-
489
- sig { returns(String) }
490
- attr_accessor :name
491
-
492
- sig do
493
- params(id: String, name: String).returns(T.attached_class)
494
- end
495
- def self.new(id:, name:)
496
- end
497
-
498
- sig { override.returns({ id: String, name: String }) }
499
- def to_hash
500
- end
501
- end
502
-
503
- class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
504
- OrHash =
505
- T.type_alias do
506
- T.any(
507
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter,
508
- MetronomeSDK::Internal::AnyHash
509
- )
510
- end
511
-
512
- sig do
513
- returns(
514
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::TaggedSymbol
515
- )
516
- end
517
- attr_accessor :entity
518
-
519
- sig { returns(String) }
520
- attr_accessor :key
521
-
522
- sig { returns(String) }
523
- attr_accessor :value
524
-
525
- sig do
526
- params(
527
- entity:
528
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::OrSymbol,
529
- key: String,
530
- value: String
531
- ).returns(T.attached_class)
532
- end
533
- def self.new(entity:, key:, value:)
534
- end
535
-
536
- sig do
537
- override.returns(
538
- {
539
- entity:
540
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::TaggedSymbol,
541
- key: String,
542
- value: String
543
- }
544
- )
545
- end
546
- def to_hash
547
- end
548
-
549
- module Entity
550
- extend MetronomeSDK::Internal::Type::Enum
551
-
552
- TaggedSymbol =
553
- T.type_alias do
554
- T.all(
555
- Symbol,
556
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity
557
- )
558
- end
559
- OrSymbol = T.type_alias { T.any(Symbol, String) }
560
-
561
- CONTRACT =
562
- T.let(
563
- :Contract,
564
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::TaggedSymbol
565
- )
566
- COMMIT =
567
- T.let(
568
- :Commit,
569
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::TaggedSymbol
570
- )
571
- CONTRACT_CREDIT =
572
- T.let(
573
- :ContractCredit,
574
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::TaggedSymbol
575
- )
576
-
577
- sig do
578
- override.returns(
579
- T::Array[
580
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::CustomFieldFilter::Entity::TaggedSymbol
581
- ]
582
- )
583
- end
584
- def self.values
585
- end
586
- end
587
- end
588
-
589
- class GroupKeyFilter < MetronomeSDK::Internal::Type::BaseModel
590
- OrHash =
591
- T.type_alias do
592
- T.any(
593
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::Alert::GroupKeyFilter,
594
- MetronomeSDK::Internal::AnyHash
595
- )
596
- end
597
-
598
- sig { returns(String) }
599
- attr_accessor :key
600
-
601
- sig { returns(String) }
602
- attr_accessor :value
603
-
604
- # Scopes alert evaluation to a specific presentation group key on individual line
605
- # items. Only present for spend alerts.
606
- sig do
607
- params(key: String, value: String).returns(T.attached_class)
608
- end
609
- def self.new(key:, value:)
610
- end
611
-
612
- sig { override.returns({ key: String, value: String }) }
613
- def to_hash
614
- end
615
- end
616
- end
617
-
618
- # The status of the customer alert. If the alert is archived, null will be
619
- # returned.
620
- module CustomerStatus
621
- extend MetronomeSDK::Internal::Type::Enum
622
-
623
- TaggedSymbol =
624
- T.type_alias do
625
- T.all(
626
- Symbol,
627
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus
628
- )
629
- end
630
- OrSymbol = T.type_alias { T.any(Symbol, String) }
631
-
632
- OK =
633
- T.let(
634
- :ok,
635
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::TaggedSymbol
636
- )
637
- IN_ALARM =
638
- T.let(
639
- :in_alarm,
640
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::TaggedSymbol
641
- )
642
- EVALUATING =
643
- T.let(
644
- :evaluating,
645
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::TaggedSymbol
646
- )
647
-
648
- sig do
649
- override.returns(
650
- T::Array[
651
- MetronomeSDK::Models::V1::Customers::AlertRetrieveResponse::Data::CustomerStatus::TaggedSymbol
652
- ]
653
- )
654
- end
655
- def self.values
656
- end
657
- end
658
- end
659
41
  end
660
42
  end
661
43
  end
@@ -66,6 +66,13 @@ module MetronomeSDK
66
66
  sig { params(aws_expiration_date: Time).void }
67
67
  attr_writer :aws_expiration_date
68
68
 
69
+ # True if the aws_product_code is a SAAS subscription product, false otherwise.
70
+ sig { returns(T.nilable(T::Boolean)) }
71
+ attr_reader :aws_is_subscription_product
72
+
73
+ sig { params(aws_is_subscription_product: T::Boolean).void }
74
+ attr_writer :aws_is_subscription_product
75
+
69
76
  sig { returns(T.nilable(String)) }
70
77
  attr_reader :aws_product_code
71
78
 
@@ -156,6 +163,7 @@ module MetronomeSDK
156
163
  sig do
157
164
  params(
158
165
  aws_expiration_date: Time,
166
+ aws_is_subscription_product: T::Boolean,
159
167
  aws_product_code: String,
160
168
  aws_region:
161
169
  MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::AwsRegion::OrSymbol,
@@ -174,6 +182,8 @@ module MetronomeSDK
174
182
  # can be retrieved from
175
183
  # [AWS's GetEntitlements API](https://docs.aws.amazon.com/marketplaceentitlement/latest/APIReference/API_GetEntitlements.html).
176
184
  aws_expiration_date: nil,
185
+ # True if the aws_product_code is a SAAS subscription product, false otherwise.
186
+ aws_is_subscription_product: nil,
177
187
  aws_product_code: nil,
178
188
  aws_region: nil,
179
189
  # Subscription term start/end date for the customer. The expected format is RFC
@@ -195,6 +205,7 @@ module MetronomeSDK
195
205
  override.returns(
196
206
  {
197
207
  aws_expiration_date: Time,
208
+ aws_is_subscription_product: T::Boolean,
198
209
  aws_product_code: String,
199
210
  aws_region:
200
211
  MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::AwsRegion::TaggedSymbol,