orb-billing 1.35.0 → 1.36.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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/orb/client.rb +4 -0
  5. data/lib/orb/models/backfill_reflected_webhook_event.rb +180 -0
  6. data/lib/orb/models/backfill_reverted_webhook_event.rb +180 -0
  7. data/lib/orb/models/billable_metric_edited_webhook_event.rb +104 -0
  8. data/lib/orb/models/credit_block_accounting_sync_failed_webhook_event.rb +499 -0
  9. data/lib/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rb +494 -0
  10. data/lib/orb/models/credit_note_accounting_sync_failed_webhook_event.rb +161 -0
  11. data/lib/orb/models/credit_note_accounting_sync_succeeded_webhook_event.rb +155 -0
  12. data/lib/orb/models/credit_note_issued_webhook_event.rb +65 -0
  13. data/lib/orb/models/credit_note_marked_as_void_webhook_event.rb +65 -0
  14. data/lib/orb/models/customer_accounting_sync_failed_webhook_event.rb +171 -0
  15. data/lib/orb/models/customer_accounting_sync_succeeded_webhook_event.rb +165 -0
  16. data/lib/orb/models/customer_balance_transaction_created_webhook_event.rb +212 -0
  17. data/lib/orb/models/customer_created_webhook_event.rb +81 -0
  18. data/lib/orb/models/customer_credit_balance_depleted_webhook_event.rb +560 -0
  19. data/lib/orb/models/customer_credit_balance_dropped_webhook_event.rb +566 -0
  20. data/lib/orb/models/customer_credit_balance_recovered_webhook_event.rb +560 -0
  21. data/lib/orb/models/customer_credit_ledger_incremented_webhook_event.rb +474 -0
  22. data/lib/orb/models/customer_edited_webhook_event.rb +344 -0
  23. data/lib/orb/models/data_exports_transfer_error_webhook_event.rb +100 -0
  24. data/lib/orb/models/data_exports_transfer_success_webhook_event.rb +94 -0
  25. data/lib/orb/models/event_unmatched_event_webhook_event.rb +105 -0
  26. data/lib/orb/models/ingestion_unmatched_customer_ids_webhook_event.rb +64 -0
  27. data/lib/orb/models/invoice_accounting_sync_failed_webhook_event.rb +164 -0
  28. data/lib/orb/models/invoice_accounting_sync_succeeded_webhook_event.rb +158 -0
  29. data/lib/orb/models/invoice_automation_schedule_step_executed_webhook_event.rb +338 -0
  30. data/lib/orb/models/invoice_cost_data_exported_webhook_event.rb +83 -0
  31. data/lib/orb/models/invoice_due_date_recalculation_canceled_webhook_event.rb +70 -0
  32. data/lib/orb/models/invoice_due_date_recalculation_completed_webhook_event.rb +70 -0
  33. data/lib/orb/models/invoice_due_date_recalculation_started_webhook_event.rb +64 -0
  34. data/lib/orb/models/invoice_dunning_schedule_created_webhook_event.rb +186 -0
  35. data/lib/orb/models/invoice_dunning_schedule_ended_webhook_event.rb +180 -0
  36. data/lib/orb/models/invoice_dunning_schedule_reset_webhook_event.rb +184 -0
  37. data/lib/orb/models/invoice_dunning_schedule_step_executed_webhook_event.rb +133 -0
  38. data/lib/orb/models/invoice_edited_webhook_event.rb +550 -0
  39. data/lib/orb/models/invoice_invoice_date_elapsed_webhook_event.rb +120 -0
  40. data/lib/orb/models/invoice_issue_failed_webhook_event.rb +79 -0
  41. data/lib/orb/models/invoice_issued_summary_webhook_event.rb +841 -0
  42. data/lib/orb/models/invoice_issued_webhook_event.rb +79 -0
  43. data/lib/orb/models/invoice_manually_marked_as_paid_webhook_event.rb +91 -0
  44. data/lib/orb/models/invoice_manually_marked_as_void_webhook_event.rb +68 -0
  45. data/lib/orb/models/invoice_payment_failed_webhook_event.rb +92 -0
  46. data/lib/orb/models/invoice_payment_processing_webhook_event.rb +85 -0
  47. data/lib/orb/models/invoice_payment_succeeded_webhook_event.rb +101 -0
  48. data/lib/orb/models/invoice_sync_failed_webhook_event.rb +85 -0
  49. data/lib/orb/models/invoice_sync_succeeded_webhook_event.rb +85 -0
  50. data/lib/orb/models/invoice_undo_mark_as_paid_webhook_event.rb +68 -0
  51. data/lib/orb/models/metric_events_dropped_by_watermark_webhook_event.rb +98 -0
  52. data/lib/orb/models/payment_method_created_webhook_event.rb +156 -0
  53. data/lib/orb/models/payment_method_deleted_webhook_event.rb +156 -0
  54. data/lib/orb/models/plan_default_version_set_webhook_event.rb +108 -0
  55. data/lib/orb/models/plan_version_created_webhook_event.rb +108 -0
  56. data/lib/orb/models/price_edited_webhook_event.rb +105 -0
  57. data/lib/orb/models/resource_event_test_webhook_event.rb +64 -0
  58. data/lib/orb/models/sales_order_accounting_sync_failed_webhook_event.rb +164 -0
  59. data/lib/orb/models/sales_order_accounting_sync_succeeded_webhook_event.rb +158 -0
  60. data/lib/orb/models/subscription_accounting_sync_failed_webhook_event.rb +178 -0
  61. data/lib/orb/models/subscription_accounting_sync_succeeded_webhook_event.rb +172 -0
  62. data/lib/orb/models/subscription_alert_disabled_webhook_event.rb +624 -0
  63. data/lib/orb/models/subscription_cancellation_scheduled_webhook_event.rb +93 -0
  64. data/lib/orb/models/subscription_cancellation_unscheduled_webhook_event.rb +93 -0
  65. data/lib/orb/models/subscription_cost_exceeded_webhook_event.rb +540 -0
  66. data/lib/orb/models/subscription_created_webhook_event.rb +82 -0
  67. data/lib/orb/models/subscription_edited_webhook_event.rb +134 -0
  68. data/lib/orb/models/subscription_ended_webhook_event.rb +82 -0
  69. data/lib/orb/models/subscription_fixed_fee_quantity_updated_webhook_event.rb +111 -0
  70. data/lib/orb/models/subscription_grouped_cost_exceeded_webhook_event.rb +655 -0
  71. data/lib/orb/models/subscription_invoicing_threshold_exceeded_webhook_event.rb +191 -0
  72. data/lib/orb/models/subscription_license_allocation_reset_webhook_event.rb +214 -0
  73. data/lib/orb/models/subscription_license_balance_threshold_reached_webhook_event.rb +652 -0
  74. data/lib/orb/models/subscription_plan_change_scheduled_webhook_event.rb +105 -0
  75. data/lib/orb/models/subscription_plan_changed_webhook_event.rb +93 -0
  76. data/lib/orb/models/subscription_plan_version_change_scheduled_webhook_event.rb +106 -0
  77. data/lib/orb/models/subscription_plan_version_changed_webhook_event.rb +105 -0
  78. data/lib/orb/models/subscription_spend_exceeded_webhook_event.rb +541 -0
  79. data/lib/orb/models/subscription_started_webhook_event.rb +82 -0
  80. data/lib/orb/models/subscription_trial_ended_webhook_event.rb +82 -0
  81. data/lib/orb/models/subscription_usage_exceeded_webhook_event.rb +548 -0
  82. data/lib/orb/models/transaction_accounting_sync_failed_webhook_event.rb +236 -0
  83. data/lib/orb/models/transaction_accounting_sync_succeeded_webhook_event.rb +232 -0
  84. data/lib/orb/models/unwrap_webhook_event.rb +250 -0
  85. data/lib/orb/models/webhook_unwrap_params.rb +14 -0
  86. data/lib/orb/models.rb +180 -0
  87. data/lib/orb/resources/webhooks.rb +22 -0
  88. data/lib/orb/version.rb +1 -1
  89. data/lib/orb.rb +82 -0
  90. data/rbi/orb/client.rbi +3 -0
  91. data/rbi/orb/models/backfill_reflected_webhook_event.rbi +274 -0
  92. data/rbi/orb/models/backfill_reverted_webhook_event.rbi +271 -0
  93. data/rbi/orb/models/billable_metric_edited_webhook_event.rbi +198 -0
  94. data/rbi/orb/models/credit_block_accounting_sync_failed_webhook_event.rbi +1039 -0
  95. data/rbi/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbi +1034 -0
  96. data/rbi/orb/models/credit_note_accounting_sync_failed_webhook_event.rbi +315 -0
  97. data/rbi/orb/models/credit_note_accounting_sync_succeeded_webhook_event.rbi +310 -0
  98. data/rbi/orb/models/credit_note_issued_webhook_event.rbi +98 -0
  99. data/rbi/orb/models/credit_note_marked_as_void_webhook_event.rbi +102 -0
  100. data/rbi/orb/models/customer_accounting_sync_failed_webhook_event.rbi +339 -0
  101. data/rbi/orb/models/customer_accounting_sync_succeeded_webhook_event.rbi +335 -0
  102. data/rbi/orb/models/customer_balance_transaction_created_webhook_event.rbi +437 -0
  103. data/rbi/orb/models/customer_created_webhook_event.rbi +128 -0
  104. data/rbi/orb/models/customer_credit_balance_depleted_webhook_event.rbi +1091 -0
  105. data/rbi/orb/models/customer_credit_balance_dropped_webhook_event.rbi +1096 -0
  106. data/rbi/orb/models/customer_credit_balance_recovered_webhook_event.rbi +1091 -0
  107. data/rbi/orb/models/customer_credit_ledger_incremented_webhook_event.rbi +987 -0
  108. data/rbi/orb/models/customer_edited_webhook_event.rbi +599 -0
  109. data/rbi/orb/models/data_exports_transfer_error_webhook_event.rbi +170 -0
  110. data/rbi/orb/models/data_exports_transfer_success_webhook_event.rbi +165 -0
  111. data/rbi/orb/models/event_unmatched_event_webhook_event.rbi +193 -0
  112. data/rbi/orb/models/ingestion_unmatched_customer_ids_webhook_event.rbi +132 -0
  113. data/rbi/orb/models/invoice_accounting_sync_failed_webhook_event.rbi +319 -0
  114. data/rbi/orb/models/invoice_accounting_sync_succeeded_webhook_event.rbi +312 -0
  115. data/rbi/orb/models/invoice_automation_schedule_step_executed_webhook_event.rbi +614 -0
  116. data/rbi/orb/models/invoice_cost_data_exported_webhook_event.rbi +144 -0
  117. data/rbi/orb/models/invoice_due_date_recalculation_canceled_webhook_event.rbi +139 -0
  118. data/rbi/orb/models/invoice_due_date_recalculation_completed_webhook_event.rbi +139 -0
  119. data/rbi/orb/models/invoice_due_date_recalculation_started_webhook_event.rbi +132 -0
  120. data/rbi/orb/models/invoice_dunning_schedule_created_webhook_event.rbi +331 -0
  121. data/rbi/orb/models/invoice_dunning_schedule_ended_webhook_event.rbi +324 -0
  122. data/rbi/orb/models/invoice_dunning_schedule_reset_webhook_event.rbi +329 -0
  123. data/rbi/orb/models/invoice_dunning_schedule_step_executed_webhook_event.rbi +250 -0
  124. data/rbi/orb/models/invoice_edited_webhook_event.rbi +942 -0
  125. data/rbi/orb/models/invoice_invoice_date_elapsed_webhook_event.rbi +251 -0
  126. data/rbi/orb/models/invoice_issue_failed_webhook_event.rbi +132 -0
  127. data/rbi/orb/models/invoice_issued_summary_webhook_event.rbi +1432 -0
  128. data/rbi/orb/models/invoice_issued_webhook_event.rbi +134 -0
  129. data/rbi/orb/models/invoice_manually_marked_as_paid_webhook_event.rbi +165 -0
  130. data/rbi/orb/models/invoice_manually_marked_as_void_webhook_event.rbi +114 -0
  131. data/rbi/orb/models/invoice_payment_failed_webhook_event.rbi +157 -0
  132. data/rbi/orb/models/invoice_payment_processing_webhook_event.rbi +156 -0
  133. data/rbi/orb/models/invoice_payment_succeeded_webhook_event.rbi +175 -0
  134. data/rbi/orb/models/invoice_sync_failed_webhook_event.rbi +147 -0
  135. data/rbi/orb/models/invoice_sync_succeeded_webhook_event.rbi +147 -0
  136. data/rbi/orb/models/invoice_undo_mark_as_paid_webhook_event.rbi +106 -0
  137. data/rbi/orb/models/metric_events_dropped_by_watermark_webhook_event.rbi +167 -0
  138. data/rbi/orb/models/payment_method_created_webhook_event.rbi +259 -0
  139. data/rbi/orb/models/payment_method_deleted_webhook_event.rbi +259 -0
  140. data/rbi/orb/models/plan_default_version_set_webhook_event.rbi +196 -0
  141. data/rbi/orb/models/plan_version_created_webhook_event.rbi +190 -0
  142. data/rbi/orb/models/price_edited_webhook_event.rbi +235 -0
  143. data/rbi/orb/models/resource_event_test_webhook_event.rbi +116 -0
  144. data/rbi/orb/models/sales_order_accounting_sync_failed_webhook_event.rbi +321 -0
  145. data/rbi/orb/models/sales_order_accounting_sync_succeeded_webhook_event.rbi +316 -0
  146. data/rbi/orb/models/subscription_accounting_sync_failed_webhook_event.rbi +353 -0
  147. data/rbi/orb/models/subscription_accounting_sync_succeeded_webhook_event.rbi +346 -0
  148. data/rbi/orb/models/subscription_alert_disabled_webhook_event.rbi +1232 -0
  149. data/rbi/orb/models/subscription_cancellation_scheduled_webhook_event.rbi +179 -0
  150. data/rbi/orb/models/subscription_cancellation_unscheduled_webhook_event.rbi +183 -0
  151. data/rbi/orb/models/subscription_cost_exceeded_webhook_event.rbi +1034 -0
  152. data/rbi/orb/models/subscription_created_webhook_event.rbi +132 -0
  153. data/rbi/orb/models/subscription_edited_webhook_event.rbi +247 -0
  154. data/rbi/orb/models/subscription_ended_webhook_event.rbi +132 -0
  155. data/rbi/orb/models/subscription_fixed_fee_quantity_updated_webhook_event.rbi +206 -0
  156. data/rbi/orb/models/subscription_grouped_cost_exceeded_webhook_event.rbi +1262 -0
  157. data/rbi/orb/models/subscription_invoicing_threshold_exceeded_webhook_event.rbi +374 -0
  158. data/rbi/orb/models/subscription_license_allocation_reset_webhook_event.rbi +421 -0
  159. data/rbi/orb/models/subscription_license_balance_threshold_reached_webhook_event.rbi +1265 -0
  160. data/rbi/orb/models/subscription_plan_change_scheduled_webhook_event.rbi +198 -0
  161. data/rbi/orb/models/subscription_plan_changed_webhook_event.rbi +169 -0
  162. data/rbi/orb/models/subscription_plan_version_change_scheduled_webhook_event.rbi +205 -0
  163. data/rbi/orb/models/subscription_plan_version_changed_webhook_event.rbi +199 -0
  164. data/rbi/orb/models/subscription_spend_exceeded_webhook_event.rbi +1035 -0
  165. data/rbi/orb/models/subscription_started_webhook_event.rbi +132 -0
  166. data/rbi/orb/models/subscription_trial_ended_webhook_event.rbi +136 -0
  167. data/rbi/orb/models/subscription_usage_exceeded_webhook_event.rbi +1041 -0
  168. data/rbi/orb/models/transaction_accounting_sync_failed_webhook_event.rbi +455 -0
  169. data/rbi/orb/models/transaction_accounting_sync_succeeded_webhook_event.rbi +449 -0
  170. data/rbi/orb/models/unwrap_webhook_event.rbi +99 -0
  171. data/rbi/orb/models/webhook_unwrap_params.rbi +25 -0
  172. data/rbi/orb/models.rbi +224 -0
  173. data/rbi/orb/resources/webhooks.rbi +103 -0
  174. data/sig/orb/client.rbs +2 -0
  175. data/sig/orb/models/backfill_reflected_webhook_event.rbs +130 -0
  176. data/sig/orb/models/backfill_reverted_webhook_event.rbs +130 -0
  177. data/sig/orb/models/billable_metric_edited_webhook_event.rbs +94 -0
  178. data/sig/orb/models/credit_block_accounting_sync_failed_webhook_event.rbs +412 -0
  179. data/sig/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbs +407 -0
  180. data/sig/orb/models/credit_note_accounting_sync_failed_webhook_event.rbs +147 -0
  181. data/sig/orb/models/credit_note_accounting_sync_succeeded_webhook_event.rbs +142 -0
  182. data/sig/orb/models/credit_note_issued_webhook_event.rbs +50 -0
  183. data/sig/orb/models/credit_note_marked_as_void_webhook_event.rbs +50 -0
  184. data/sig/orb/models/customer_accounting_sync_failed_webhook_event.rbs +142 -0
  185. data/sig/orb/models/customer_accounting_sync_succeeded_webhook_event.rbs +137 -0
  186. data/sig/orb/models/customer_balance_transaction_created_webhook_event.rbs +171 -0
  187. data/sig/orb/models/customer_created_webhook_event.rbs +50 -0
  188. data/sig/orb/models/customer_credit_balance_depleted_webhook_event.rbs +374 -0
  189. data/sig/orb/models/customer_credit_balance_dropped_webhook_event.rbs +379 -0
  190. data/sig/orb/models/customer_credit_balance_recovered_webhook_event.rbs +374 -0
  191. data/sig/orb/models/customer_credit_ledger_incremented_webhook_event.rbs +364 -0
  192. data/sig/orb/models/customer_edited_webhook_event.rbs +139 -0
  193. data/sig/orb/models/data_exports_transfer_error_webhook_event.rbs +92 -0
  194. data/sig/orb/models/data_exports_transfer_success_webhook_event.rbs +87 -0
  195. data/sig/orb/models/event_unmatched_event_webhook_event.rbs +102 -0
  196. data/sig/orb/models/ingestion_unmatched_customer_ids_webhook_event.rbs +55 -0
  197. data/sig/orb/models/invoice_accounting_sync_failed_webhook_event.rbs +147 -0
  198. data/sig/orb/models/invoice_accounting_sync_succeeded_webhook_event.rbs +142 -0
  199. data/sig/orb/models/invoice_automation_schedule_step_executed_webhook_event.rbs +313 -0
  200. data/sig/orb/models/invoice_cost_data_exported_webhook_event.rbs +73 -0
  201. data/sig/orb/models/invoice_due_date_recalculation_canceled_webhook_event.rbs +57 -0
  202. data/sig/orb/models/invoice_due_date_recalculation_completed_webhook_event.rbs +57 -0
  203. data/sig/orb/models/invoice_due_date_recalculation_started_webhook_event.rbs +55 -0
  204. data/sig/orb/models/invoice_dunning_schedule_created_webhook_event.rbs +171 -0
  205. data/sig/orb/models/invoice_dunning_schedule_ended_webhook_event.rbs +166 -0
  206. data/sig/orb/models/invoice_dunning_schedule_reset_webhook_event.rbs +156 -0
  207. data/sig/orb/models/invoice_dunning_schedule_step_executed_webhook_event.rbs +119 -0
  208. data/sig/orb/models/invoice_edited_webhook_event.rbs +388 -0
  209. data/sig/orb/models/invoice_invoice_date_elapsed_webhook_event.rbs +111 -0
  210. data/sig/orb/models/invoice_issue_failed_webhook_event.rbs +60 -0
  211. data/sig/orb/models/invoice_issued_summary_webhook_event.rbs +504 -0
  212. data/sig/orb/models/invoice_issued_webhook_event.rbs +60 -0
  213. data/sig/orb/models/invoice_manually_marked_as_paid_webhook_event.rbs +73 -0
  214. data/sig/orb/models/invoice_manually_marked_as_void_webhook_event.rbs +50 -0
  215. data/sig/orb/models/invoice_payment_failed_webhook_event.rbs +77 -0
  216. data/sig/orb/models/invoice_payment_processing_webhook_event.rbs +71 -0
  217. data/sig/orb/models/invoice_payment_succeeded_webhook_event.rbs +82 -0
  218. data/sig/orb/models/invoice_sync_failed_webhook_event.rbs +69 -0
  219. data/sig/orb/models/invoice_sync_succeeded_webhook_event.rbs +69 -0
  220. data/sig/orb/models/invoice_undo_mark_as_paid_webhook_event.rbs +50 -0
  221. data/sig/orb/models/metric_events_dropped_by_watermark_webhook_event.rbs +82 -0
  222. data/sig/orb/models/payment_method_created_webhook_event.rbs +112 -0
  223. data/sig/orb/models/payment_method_deleted_webhook_event.rbs +112 -0
  224. data/sig/orb/models/plan_default_version_set_webhook_event.rbs +94 -0
  225. data/sig/orb/models/plan_version_created_webhook_event.rbs +91 -0
  226. data/sig/orb/models/price_edited_webhook_event.rbs +77 -0
  227. data/sig/orb/models/resource_event_test_webhook_event.rbs +57 -0
  228. data/sig/orb/models/sales_order_accounting_sync_failed_webhook_event.rbs +147 -0
  229. data/sig/orb/models/sales_order_accounting_sync_succeeded_webhook_event.rbs +142 -0
  230. data/sig/orb/models/subscription_accounting_sync_failed_webhook_event.rbs +147 -0
  231. data/sig/orb/models/subscription_accounting_sync_succeeded_webhook_event.rbs +142 -0
  232. data/sig/orb/models/subscription_alert_disabled_webhook_event.rbs +444 -0
  233. data/sig/orb/models/subscription_cancellation_scheduled_webhook_event.rbs +60 -0
  234. data/sig/orb/models/subscription_cancellation_unscheduled_webhook_event.rbs +60 -0
  235. data/sig/orb/models/subscription_cost_exceeded_webhook_event.rbs +362 -0
  236. data/sig/orb/models/subscription_created_webhook_event.rbs +50 -0
  237. data/sig/orb/models/subscription_edited_webhook_event.rbs +109 -0
  238. data/sig/orb/models/subscription_ended_webhook_event.rbs +50 -0
  239. data/sig/orb/models/subscription_fixed_fee_quantity_updated_webhook_event.rbs +82 -0
  240. data/sig/orb/models/subscription_grouped_cost_exceeded_webhook_event.rbs +465 -0
  241. data/sig/orb/models/subscription_invoicing_threshold_exceeded_webhook_event.rbs +158 -0
  242. data/sig/orb/models/subscription_license_allocation_reset_webhook_event.rbs +180 -0
  243. data/sig/orb/models/subscription_license_balance_threshold_reached_webhook_event.rbs +460 -0
  244. data/sig/orb/models/subscription_plan_change_scheduled_webhook_event.rbs +73 -0
  245. data/sig/orb/models/subscription_plan_changed_webhook_event.rbs +60 -0
  246. data/sig/orb/models/subscription_plan_version_change_scheduled_webhook_event.rbs +77 -0
  247. data/sig/orb/models/subscription_plan_version_changed_webhook_event.rbs +77 -0
  248. data/sig/orb/models/subscription_spend_exceeded_webhook_event.rbs +362 -0
  249. data/sig/orb/models/subscription_started_webhook_event.rbs +50 -0
  250. data/sig/orb/models/subscription_trial_ended_webhook_event.rbs +50 -0
  251. data/sig/orb/models/subscription_usage_exceeded_webhook_event.rbs +367 -0
  252. data/sig/orb/models/transaction_accounting_sync_failed_webhook_event.rbs +205 -0
  253. data/sig/orb/models/transaction_accounting_sync_succeeded_webhook_event.rbs +200 -0
  254. data/sig/orb/models/unwrap_webhook_event.rbs +90 -0
  255. data/sig/orb/models/webhook_unwrap_params.rbs +14 -0
  256. data/sig/orb/models.rbs +162 -0
  257. data/sig/orb/resources/webhooks.rbs +89 -0
  258. metadata +247 -1
@@ -0,0 +1,1041 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionUsageExceededWebhookEvent < Orb::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Orb::SubscriptionUsageExceededWebhookEvent,
10
+ Orb::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The ID of this webhook event.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The time at which this event was created, to the second.
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
21
+
22
+ sig { returns(Orb::SubscriptionUsageExceededWebhookEvent::Properties) }
23
+ attr_reader :properties
24
+
25
+ sig do
26
+ params(
27
+ properties:
28
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::OrHash
29
+ ).void
30
+ end
31
+ attr_writer :properties
32
+
33
+ # A [subscription](/core-concepts#subscription) represents the purchase of a plan
34
+ # by a customer.
35
+ #
36
+ # By default, subscriptions begin on the day that they're created and renew
37
+ # automatically for each billing cycle at the cadence that's configured in the
38
+ # plan definition.
39
+ #
40
+ # Subscriptions also default to **beginning of month alignment**, which means the
41
+ # first invoice issued for the subscription will have pro-rated charges between
42
+ # the `start_date` and the first of the following month. Subsequent billing
43
+ # periods will always start and end on a month boundary (e.g. subsequent month
44
+ # starts for monthly billing).
45
+ #
46
+ # Depending on the plan configuration, any _flat_ recurring fees will be billed
47
+ # either at the beginning (in-advance) or end (in-arrears) of each billing cycle.
48
+ # Plans default to **in-advance billing**. Usage-based fees are billed in arrears
49
+ # as usage is accumulated. In the normal course of events, you can expect an
50
+ # invoice to contain usage-based charges for the previous period, and a recurring
51
+ # fee for the following period.
52
+ sig { returns(Orb::Subscription) }
53
+ attr_reader :subscription
54
+
55
+ sig { params(subscription: Orb::Subscription::OrHash).void }
56
+ attr_writer :subscription
57
+
58
+ # The event this payload describes.
59
+ sig do
60
+ returns(Orb::SubscriptionUsageExceededWebhookEvent::Type::TaggedSymbol)
61
+ end
62
+ attr_accessor :type
63
+
64
+ # Issued when a billable metric in a subscription exceeds a pre-configured
65
+ # quantity threshold.
66
+ sig do
67
+ params(
68
+ id: String,
69
+ created_at: Time,
70
+ properties:
71
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::OrHash,
72
+ subscription: Orb::Subscription::OrHash,
73
+ type: Orb::SubscriptionUsageExceededWebhookEvent::Type::OrSymbol
74
+ ).returns(T.attached_class)
75
+ end
76
+ def self.new(
77
+ # The ID of this webhook event.
78
+ id:,
79
+ # The time at which this event was created, to the second.
80
+ created_at:,
81
+ properties:,
82
+ # A [subscription](/core-concepts#subscription) represents the purchase of a plan
83
+ # by a customer.
84
+ #
85
+ # By default, subscriptions begin on the day that they're created and renew
86
+ # automatically for each billing cycle at the cadence that's configured in the
87
+ # plan definition.
88
+ #
89
+ # Subscriptions also default to **beginning of month alignment**, which means the
90
+ # first invoice issued for the subscription will have pro-rated charges between
91
+ # the `start_date` and the first of the following month. Subsequent billing
92
+ # periods will always start and end on a month boundary (e.g. subsequent month
93
+ # starts for monthly billing).
94
+ #
95
+ # Depending on the plan configuration, any _flat_ recurring fees will be billed
96
+ # either at the beginning (in-advance) or end (in-arrears) of each billing cycle.
97
+ # Plans default to **in-advance billing**. Usage-based fees are billed in arrears
98
+ # as usage is accumulated. In the normal course of events, you can expect an
99
+ # invoice to contain usage-based charges for the previous period, and a recurring
100
+ # fee for the following period.
101
+ subscription:,
102
+ # The event this payload describes.
103
+ type:
104
+ )
105
+ end
106
+
107
+ sig do
108
+ override.returns(
109
+ {
110
+ id: String,
111
+ created_at: Time,
112
+ properties: Orb::SubscriptionUsageExceededWebhookEvent::Properties,
113
+ subscription: Orb::Subscription,
114
+ type: Orb::SubscriptionUsageExceededWebhookEvent::Type::TaggedSymbol
115
+ }
116
+ )
117
+ end
118
+ def to_hash
119
+ end
120
+
121
+ class Properties < Orb::Internal::Type::BaseModel
122
+ OrHash =
123
+ T.type_alias do
124
+ T.any(
125
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties,
126
+ Orb::Internal::AnyHash
127
+ )
128
+ end
129
+
130
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
131
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
132
+ #
133
+ # Alerts created through the API can be scoped to either customers or
134
+ # subscriptions.
135
+ sig do
136
+ returns(
137
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration
138
+ )
139
+ end
140
+ attr_reader :alert_configuration
141
+
142
+ sig do
143
+ params(
144
+ alert_configuration:
145
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::OrHash
146
+ ).void
147
+ end
148
+ attr_writer :alert_configuration
149
+
150
+ sig { returns(String) }
151
+ attr_accessor :billable_metric_id
152
+
153
+ sig { returns(T.nilable(Float)) }
154
+ attr_accessor :evaluated_quantity
155
+
156
+ sig { returns(T.nilable(Float)) }
157
+ attr_accessor :quantity_threshold
158
+
159
+ sig { returns(Time) }
160
+ attr_accessor :timeframe_end
161
+
162
+ sig { returns(Time) }
163
+ attr_accessor :timeframe_start
164
+
165
+ sig do
166
+ params(
167
+ alert_configuration:
168
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::OrHash,
169
+ billable_metric_id: String,
170
+ evaluated_quantity: T.nilable(Float),
171
+ quantity_threshold: T.nilable(Float),
172
+ timeframe_end: Time,
173
+ timeframe_start: Time
174
+ ).returns(T.attached_class)
175
+ end
176
+ def self.new(
177
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
178
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
179
+ #
180
+ # Alerts created through the API can be scoped to either customers or
181
+ # subscriptions.
182
+ alert_configuration:,
183
+ billable_metric_id:,
184
+ evaluated_quantity:,
185
+ quantity_threshold:,
186
+ timeframe_end:,
187
+ timeframe_start:
188
+ )
189
+ end
190
+
191
+ sig do
192
+ override.returns(
193
+ {
194
+ alert_configuration:
195
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration,
196
+ billable_metric_id: String,
197
+ evaluated_quantity: T.nilable(Float),
198
+ quantity_threshold: T.nilable(Float),
199
+ timeframe_end: Time,
200
+ timeframe_start: Time
201
+ }
202
+ )
203
+ end
204
+ def to_hash
205
+ end
206
+
207
+ class AlertConfiguration < Orb::Internal::Type::BaseModel
208
+ OrHash =
209
+ T.type_alias do
210
+ T.any(
211
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration,
212
+ Orb::Internal::AnyHash
213
+ )
214
+ end
215
+
216
+ # Also referred to as alert_id in this documentation.
217
+ sig { returns(String) }
218
+ attr_accessor :id
219
+
220
+ # The creation time of the resource in Orb.
221
+ sig { returns(Time) }
222
+ attr_accessor :created_at
223
+
224
+ # The name of the currency the credit balance or invoice cost is denominated in.
225
+ sig { returns(T.nilable(String)) }
226
+ attr_accessor :currency
227
+
228
+ # The customer the alert applies to.
229
+ sig { returns(T.nilable(Orb::CustomerMinified)) }
230
+ attr_reader :customer
231
+
232
+ sig do
233
+ params(customer: T.nilable(Orb::CustomerMinified::OrHash)).void
234
+ end
235
+ attr_writer :customer
236
+
237
+ # Whether the alert is enabled or disabled.
238
+ sig { returns(T::Boolean) }
239
+ attr_accessor :enabled
240
+
241
+ # The metric the alert applies to.
242
+ sig do
243
+ returns(
244
+ T.nilable(
245
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Metric
246
+ )
247
+ )
248
+ end
249
+ attr_reader :metric
250
+
251
+ sig do
252
+ params(
253
+ metric:
254
+ T.nilable(
255
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Metric::OrHash
256
+ )
257
+ ).void
258
+ end
259
+ attr_writer :metric
260
+
261
+ # The plan the alert applies to.
262
+ sig do
263
+ returns(
264
+ T.nilable(
265
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Plan
266
+ )
267
+ )
268
+ end
269
+ attr_reader :plan
270
+
271
+ sig do
272
+ params(
273
+ plan:
274
+ T.nilable(
275
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Plan::OrHash
276
+ )
277
+ ).void
278
+ end
279
+ attr_writer :plan
280
+
281
+ # The subscription the alert applies to.
282
+ sig { returns(T.nilable(Orb::SubscriptionMinified)) }
283
+ attr_reader :subscription
284
+
285
+ sig do
286
+ params(
287
+ subscription: T.nilable(Orb::SubscriptionMinified::OrHash)
288
+ ).void
289
+ end
290
+ attr_writer :subscription
291
+
292
+ # The thresholds that define the conditions under which the alert will be
293
+ # triggered.
294
+ sig do
295
+ returns(
296
+ T.nilable(
297
+ T::Array[
298
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Threshold
299
+ ]
300
+ )
301
+ )
302
+ end
303
+ attr_accessor :thresholds
304
+
305
+ # The type of alert. This must be a valid alert type.
306
+ sig do
307
+ returns(
308
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
309
+ )
310
+ end
311
+ attr_accessor :type
312
+
313
+ # The current status of the alert. This field is only present for credit balance
314
+ # alerts.
315
+ sig do
316
+ returns(
317
+ T.nilable(
318
+ T::Array[
319
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus
320
+ ]
321
+ )
322
+ )
323
+ end
324
+ attr_accessor :balance_alert_status
325
+
326
+ # The property keys to group cost alerts by. Only present for cost alerts with
327
+ # grouping enabled.
328
+ sig { returns(T.nilable(T::Array[String])) }
329
+ attr_accessor :grouping_keys
330
+
331
+ # Minified license type for alert serialization.
332
+ sig do
333
+ returns(
334
+ T.nilable(
335
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::LicenseType
336
+ )
337
+ )
338
+ end
339
+ attr_reader :license_type
340
+
341
+ sig do
342
+ params(
343
+ license_type:
344
+ T.nilable(
345
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::LicenseType::OrHash
346
+ )
347
+ ).void
348
+ end
349
+ attr_writer :license_type
350
+
351
+ # Filters scoping which prices are included in spend and grouped cost alert
352
+ # evaluation. Alerts use the price_id, item_id, and price_type fields only; the
353
+ # alert's pricing unit is reported by currency.
354
+ sig do
355
+ returns(
356
+ T.nilable(
357
+ T::Array[
358
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter
359
+ ]
360
+ )
361
+ )
362
+ end
363
+ attr_accessor :price_filters
364
+
365
+ # Per-group threshold overrides. Each override maps a specific combination of
366
+ # grouping_keys values to a replacement threshold list. Only present for grouped
367
+ # cost alerts that have at least one override.
368
+ sig do
369
+ returns(
370
+ T.nilable(
371
+ T::Array[
372
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride
373
+ ]
374
+ )
375
+ )
376
+ end
377
+ attr_accessor :threshold_overrides
378
+
379
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
380
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
381
+ #
382
+ # Alerts created through the API can be scoped to either customers or
383
+ # subscriptions.
384
+ sig do
385
+ params(
386
+ id: String,
387
+ created_at: Time,
388
+ currency: T.nilable(String),
389
+ customer: T.nilable(Orb::CustomerMinified::OrHash),
390
+ enabled: T::Boolean,
391
+ metric:
392
+ T.nilable(
393
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Metric::OrHash
394
+ ),
395
+ plan:
396
+ T.nilable(
397
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Plan::OrHash
398
+ ),
399
+ subscription: T.nilable(Orb::SubscriptionMinified::OrHash),
400
+ thresholds:
401
+ T.nilable(
402
+ T::Array[
403
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Threshold::OrHash
404
+ ]
405
+ ),
406
+ type:
407
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::OrSymbol,
408
+ balance_alert_status:
409
+ T.nilable(
410
+ T::Array[
411
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus::OrHash
412
+ ]
413
+ ),
414
+ grouping_keys: T.nilable(T::Array[String]),
415
+ license_type:
416
+ T.nilable(
417
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::LicenseType::OrHash
418
+ ),
419
+ price_filters:
420
+ T.nilable(
421
+ T::Array[
422
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::OrHash
423
+ ]
424
+ ),
425
+ threshold_overrides:
426
+ T.nilable(
427
+ T::Array[
428
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::OrHash
429
+ ]
430
+ )
431
+ ).returns(T.attached_class)
432
+ end
433
+ def self.new(
434
+ # Also referred to as alert_id in this documentation.
435
+ id:,
436
+ # The creation time of the resource in Orb.
437
+ created_at:,
438
+ # The name of the currency the credit balance or invoice cost is denominated in.
439
+ currency:,
440
+ # The customer the alert applies to.
441
+ customer:,
442
+ # Whether the alert is enabled or disabled.
443
+ enabled:,
444
+ # The metric the alert applies to.
445
+ metric:,
446
+ # The plan the alert applies to.
447
+ plan:,
448
+ # The subscription the alert applies to.
449
+ subscription:,
450
+ # The thresholds that define the conditions under which the alert will be
451
+ # triggered.
452
+ thresholds:,
453
+ # The type of alert. This must be a valid alert type.
454
+ type:,
455
+ # The current status of the alert. This field is only present for credit balance
456
+ # alerts.
457
+ balance_alert_status: nil,
458
+ # The property keys to group cost alerts by. Only present for cost alerts with
459
+ # grouping enabled.
460
+ grouping_keys: nil,
461
+ # Minified license type for alert serialization.
462
+ license_type: nil,
463
+ # Filters scoping which prices are included in spend and grouped cost alert
464
+ # evaluation. Alerts use the price_id, item_id, and price_type fields only; the
465
+ # alert's pricing unit is reported by currency.
466
+ price_filters: nil,
467
+ # Per-group threshold overrides. Each override maps a specific combination of
468
+ # grouping_keys values to a replacement threshold list. Only present for grouped
469
+ # cost alerts that have at least one override.
470
+ threshold_overrides: nil
471
+ )
472
+ end
473
+
474
+ sig do
475
+ override.returns(
476
+ {
477
+ id: String,
478
+ created_at: Time,
479
+ currency: T.nilable(String),
480
+ customer: T.nilable(Orb::CustomerMinified),
481
+ enabled: T::Boolean,
482
+ metric:
483
+ T.nilable(
484
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Metric
485
+ ),
486
+ plan:
487
+ T.nilable(
488
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Plan
489
+ ),
490
+ subscription: T.nilable(Orb::SubscriptionMinified),
491
+ thresholds:
492
+ T.nilable(
493
+ T::Array[
494
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Threshold
495
+ ]
496
+ ),
497
+ type:
498
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol,
499
+ balance_alert_status:
500
+ T.nilable(
501
+ T::Array[
502
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus
503
+ ]
504
+ ),
505
+ grouping_keys: T.nilable(T::Array[String]),
506
+ license_type:
507
+ T.nilable(
508
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::LicenseType
509
+ ),
510
+ price_filters:
511
+ T.nilable(
512
+ T::Array[
513
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter
514
+ ]
515
+ ),
516
+ threshold_overrides:
517
+ T.nilable(
518
+ T::Array[
519
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride
520
+ ]
521
+ )
522
+ }
523
+ )
524
+ end
525
+ def to_hash
526
+ end
527
+
528
+ class Metric < Orb::Internal::Type::BaseModel
529
+ OrHash =
530
+ T.type_alias do
531
+ T.any(
532
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Metric,
533
+ Orb::Internal::AnyHash
534
+ )
535
+ end
536
+
537
+ sig { returns(String) }
538
+ attr_accessor :id
539
+
540
+ # The metric the alert applies to.
541
+ sig { params(id: String).returns(T.attached_class) }
542
+ def self.new(id:)
543
+ end
544
+
545
+ sig { override.returns({ id: String }) }
546
+ def to_hash
547
+ end
548
+ end
549
+
550
+ class Plan < Orb::Internal::Type::BaseModel
551
+ OrHash =
552
+ T.type_alias do
553
+ T.any(
554
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Plan,
555
+ Orb::Internal::AnyHash
556
+ )
557
+ end
558
+
559
+ sig { returns(T.nilable(String)) }
560
+ attr_accessor :id
561
+
562
+ # An optional user-defined ID for this plan resource, used throughout the system
563
+ # as an alias for this Plan. Use this field to identify a plan by an existing
564
+ # identifier in your system.
565
+ sig { returns(T.nilable(String)) }
566
+ attr_accessor :external_plan_id
567
+
568
+ sig { returns(T.nilable(String)) }
569
+ attr_accessor :name
570
+
571
+ sig { returns(String) }
572
+ attr_accessor :plan_version
573
+
574
+ # The plan the alert applies to.
575
+ sig do
576
+ params(
577
+ id: T.nilable(String),
578
+ external_plan_id: T.nilable(String),
579
+ name: T.nilable(String),
580
+ plan_version: String
581
+ ).returns(T.attached_class)
582
+ end
583
+ def self.new(
584
+ id:,
585
+ # An optional user-defined ID for this plan resource, used throughout the system
586
+ # as an alias for this Plan. Use this field to identify a plan by an existing
587
+ # identifier in your system.
588
+ external_plan_id:,
589
+ name:,
590
+ plan_version:
591
+ )
592
+ end
593
+
594
+ sig do
595
+ override.returns(
596
+ {
597
+ id: T.nilable(String),
598
+ external_plan_id: T.nilable(String),
599
+ name: T.nilable(String),
600
+ plan_version: String
601
+ }
602
+ )
603
+ end
604
+ def to_hash
605
+ end
606
+ end
607
+
608
+ class Threshold < Orb::Internal::Type::BaseModel
609
+ OrHash =
610
+ T.type_alias do
611
+ T.any(
612
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Threshold,
613
+ Orb::Internal::AnyHash
614
+ )
615
+ end
616
+
617
+ # The value at which an alert will fire. For credit balance alerts, the alert will
618
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
619
+ # or above this value.
620
+ sig { returns(String) }
621
+ attr_accessor :value
622
+
623
+ # Thresholds are used to define the conditions under which an alert will be
624
+ # triggered.
625
+ sig { params(value: String).returns(T.attached_class) }
626
+ def self.new(
627
+ # The value at which an alert will fire. For credit balance alerts, the alert will
628
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
629
+ # or above this value.
630
+ value:
631
+ )
632
+ end
633
+
634
+ sig { override.returns({ value: String }) }
635
+ def to_hash
636
+ end
637
+ end
638
+
639
+ # The type of alert. This must be a valid alert type.
640
+ module Type
641
+ extend Orb::Internal::Type::Enum
642
+
643
+ TaggedSymbol =
644
+ T.type_alias do
645
+ T.all(
646
+ Symbol,
647
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type
648
+ )
649
+ end
650
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
651
+
652
+ CREDIT_BALANCE_DEPLETED =
653
+ T.let(
654
+ :credit_balance_depleted,
655
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
656
+ )
657
+ CREDIT_BALANCE_DROPPED =
658
+ T.let(
659
+ :credit_balance_dropped,
660
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
661
+ )
662
+ CREDIT_BALANCE_RECOVERED =
663
+ T.let(
664
+ :credit_balance_recovered,
665
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
666
+ )
667
+ USAGE_EXCEEDED =
668
+ T.let(
669
+ :usage_exceeded,
670
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
671
+ )
672
+ COST_EXCEEDED =
673
+ T.let(
674
+ :cost_exceeded,
675
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
676
+ )
677
+ SPEND_EXCEEDED =
678
+ T.let(
679
+ :spend_exceeded,
680
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
681
+ )
682
+ LICENSE_BALANCE_THRESHOLD_REACHED =
683
+ T.let(
684
+ :license_balance_threshold_reached,
685
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
686
+ )
687
+
688
+ sig do
689
+ override.returns(
690
+ T::Array[
691
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::Type::TaggedSymbol
692
+ ]
693
+ )
694
+ end
695
+ def self.values
696
+ end
697
+ end
698
+
699
+ class BalanceAlertStatus < Orb::Internal::Type::BaseModel
700
+ OrHash =
701
+ T.type_alias do
702
+ T.any(
703
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus,
704
+ Orb::Internal::AnyHash
705
+ )
706
+ end
707
+
708
+ # Whether the alert is currently in-alert or not.
709
+ sig { returns(T::Boolean) }
710
+ attr_accessor :in_alert
711
+
712
+ # The value of the threshold that defines the alert status.
713
+ sig { returns(String) }
714
+ attr_accessor :threshold_value
715
+
716
+ # Alert status is used to determine if an alert is currently in-alert or not.
717
+ sig do
718
+ params(in_alert: T::Boolean, threshold_value: String).returns(
719
+ T.attached_class
720
+ )
721
+ end
722
+ def self.new(
723
+ # Whether the alert is currently in-alert or not.
724
+ in_alert:,
725
+ # The value of the threshold that defines the alert status.
726
+ threshold_value:
727
+ )
728
+ end
729
+
730
+ sig do
731
+ override.returns(
732
+ { in_alert: T::Boolean, threshold_value: String }
733
+ )
734
+ end
735
+ def to_hash
736
+ end
737
+ end
738
+
739
+ class LicenseType < Orb::Internal::Type::BaseModel
740
+ OrHash =
741
+ T.type_alias do
742
+ T.any(
743
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::LicenseType,
744
+ Orb::Internal::AnyHash
745
+ )
746
+ end
747
+
748
+ sig { returns(String) }
749
+ attr_accessor :id
750
+
751
+ # Minified license type for alert serialization.
752
+ sig { params(id: String).returns(T.attached_class) }
753
+ def self.new(id:)
754
+ end
755
+
756
+ sig { override.returns({ id: String }) }
757
+ def to_hash
758
+ end
759
+ end
760
+
761
+ class PriceFilter < Orb::Internal::Type::BaseModel
762
+ OrHash =
763
+ T.type_alias do
764
+ T.any(
765
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter,
766
+ Orb::Internal::AnyHash
767
+ )
768
+ end
769
+
770
+ # The property of the price to filter on.
771
+ sig do
772
+ returns(
773
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
774
+ )
775
+ end
776
+ attr_accessor :field
777
+
778
+ # Should prices that match the filter be included or excluded.
779
+ sig do
780
+ returns(
781
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator::TaggedSymbol
782
+ )
783
+ end
784
+ attr_accessor :operator
785
+
786
+ # The IDs or values that match this filter.
787
+ sig { returns(T::Array[String]) }
788
+ attr_accessor :values
789
+
790
+ sig do
791
+ params(
792
+ field:
793
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::OrSymbol,
794
+ operator:
795
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator::OrSymbol,
796
+ values: T::Array[String]
797
+ ).returns(T.attached_class)
798
+ end
799
+ def self.new(
800
+ # The property of the price to filter on.
801
+ field:,
802
+ # Should prices that match the filter be included or excluded.
803
+ operator:,
804
+ # The IDs or values that match this filter.
805
+ values:
806
+ )
807
+ end
808
+
809
+ sig do
810
+ override.returns(
811
+ {
812
+ field:
813
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol,
814
+ operator:
815
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator::TaggedSymbol,
816
+ values: T::Array[String]
817
+ }
818
+ )
819
+ end
820
+ def to_hash
821
+ end
822
+
823
+ # The property of the price to filter on.
824
+ module Field
825
+ extend Orb::Internal::Type::Enum
826
+
827
+ TaggedSymbol =
828
+ T.type_alias do
829
+ T.all(
830
+ Symbol,
831
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field
832
+ )
833
+ end
834
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
835
+
836
+ PRICE_ID =
837
+ T.let(
838
+ :price_id,
839
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
840
+ )
841
+ ITEM_ID =
842
+ T.let(
843
+ :item_id,
844
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
845
+ )
846
+ PRICE_TYPE =
847
+ T.let(
848
+ :price_type,
849
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
850
+ )
851
+ CURRENCY =
852
+ T.let(
853
+ :currency,
854
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
855
+ )
856
+ PRICING_UNIT_ID =
857
+ T.let(
858
+ :pricing_unit_id,
859
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
860
+ )
861
+
862
+ sig do
863
+ override.returns(
864
+ T::Array[
865
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field::TaggedSymbol
866
+ ]
867
+ )
868
+ end
869
+ def self.values
870
+ end
871
+ end
872
+
873
+ # Should prices that match the filter be included or excluded.
874
+ module Operator
875
+ extend Orb::Internal::Type::Enum
876
+
877
+ TaggedSymbol =
878
+ T.type_alias do
879
+ T.all(
880
+ Symbol,
881
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator
882
+ )
883
+ end
884
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
885
+
886
+ INCLUDES =
887
+ T.let(
888
+ :includes,
889
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator::TaggedSymbol
890
+ )
891
+ EXCLUDES =
892
+ T.let(
893
+ :excludes,
894
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator::TaggedSymbol
895
+ )
896
+
897
+ sig do
898
+ override.returns(
899
+ T::Array[
900
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator::TaggedSymbol
901
+ ]
902
+ )
903
+ end
904
+ def self.values
905
+ end
906
+ end
907
+ end
908
+
909
+ class ThresholdOverride < Orb::Internal::Type::BaseModel
910
+ OrHash =
911
+ T.type_alias do
912
+ T.any(
913
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride,
914
+ Orb::Internal::AnyHash
915
+ )
916
+ end
917
+
918
+ # The values identifying this group, ordered to match group_keys when set and the
919
+ # alert's grouping_keys otherwise.
920
+ sig { returns(T::Array[String]) }
921
+ attr_accessor :group_values
922
+
923
+ # The thresholds applied to this group. An empty list means the group is silenced.
924
+ sig do
925
+ returns(
926
+ T::Array[
927
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold
928
+ ]
929
+ )
930
+ end
931
+ attr_accessor :thresholds
932
+
933
+ # The subset of the alert's grouping_keys this override binds. Null when the
934
+ # override targets one exact group across every grouping key.
935
+ sig { returns(T.nilable(T::Array[String])) }
936
+ attr_accessor :group_keys
937
+
938
+ # A per-group threshold override on a grouped cost alert.
939
+ #
940
+ # An empty `thresholds` list means the group is silenced (never fires). A
941
+ # non-empty list fully replaces the default thresholds for that group.
942
+ sig do
943
+ params(
944
+ group_values: T::Array[String],
945
+ thresholds:
946
+ T::Array[
947
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold::OrHash
948
+ ],
949
+ group_keys: T.nilable(T::Array[String])
950
+ ).returns(T.attached_class)
951
+ end
952
+ def self.new(
953
+ # The values identifying this group, ordered to match group_keys when set and the
954
+ # alert's grouping_keys otherwise.
955
+ group_values:,
956
+ # The thresholds applied to this group. An empty list means the group is silenced.
957
+ thresholds:,
958
+ # The subset of the alert's grouping_keys this override binds. Null when the
959
+ # override targets one exact group across every grouping key.
960
+ group_keys: nil
961
+ )
962
+ end
963
+
964
+ sig do
965
+ override.returns(
966
+ {
967
+ group_values: T::Array[String],
968
+ thresholds:
969
+ T::Array[
970
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold
971
+ ],
972
+ group_keys: T.nilable(T::Array[String])
973
+ }
974
+ )
975
+ end
976
+ def to_hash
977
+ end
978
+
979
+ class Threshold < Orb::Internal::Type::BaseModel
980
+ OrHash =
981
+ T.type_alias do
982
+ T.any(
983
+ Orb::SubscriptionUsageExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold,
984
+ Orb::Internal::AnyHash
985
+ )
986
+ end
987
+
988
+ # The value at which an alert will fire. For credit balance alerts, the alert will
989
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
990
+ # or above this value.
991
+ sig { returns(String) }
992
+ attr_accessor :value
993
+
994
+ # Thresholds are used to define the conditions under which an alert will be
995
+ # triggered.
996
+ sig { params(value: String).returns(T.attached_class) }
997
+ def self.new(
998
+ # The value at which an alert will fire. For credit balance alerts, the alert will
999
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
1000
+ # or above this value.
1001
+ value:
1002
+ )
1003
+ end
1004
+
1005
+ sig { override.returns({ value: String }) }
1006
+ def to_hash
1007
+ end
1008
+ end
1009
+ end
1010
+ end
1011
+ end
1012
+
1013
+ # The event this payload describes.
1014
+ module Type
1015
+ extend Orb::Internal::Type::Enum
1016
+
1017
+ TaggedSymbol =
1018
+ T.type_alias do
1019
+ T.all(Symbol, Orb::SubscriptionUsageExceededWebhookEvent::Type)
1020
+ end
1021
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1022
+
1023
+ SUBSCRIPTION_USAGE_EXCEEDED =
1024
+ T.let(
1025
+ :"subscription.usage_exceeded",
1026
+ Orb::SubscriptionUsageExceededWebhookEvent::Type::TaggedSymbol
1027
+ )
1028
+
1029
+ sig do
1030
+ override.returns(
1031
+ T::Array[
1032
+ Orb::SubscriptionUsageExceededWebhookEvent::Type::TaggedSymbol
1033
+ ]
1034
+ )
1035
+ end
1036
+ def self.values
1037
+ end
1038
+ end
1039
+ end
1040
+ end
1041
+ end