orb-billing 1.35.0 → 1.37.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 +35 -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,655 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionGroupedCostExceededWebhookEvent < Orb::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # The ID of this webhook event.
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute created_at
13
+ # The time at which this event was created, to the second.
14
+ #
15
+ # @return [Time]
16
+ required :created_at, Time
17
+
18
+ # @!attribute properties
19
+ # Every group that crossed a threshold for one alert, batched into a single
20
+ # message.
21
+ #
22
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties]
23
+ required :properties, -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties }
24
+
25
+ # @!attribute subscription
26
+ # A lightweight subscription representation for webhook payloads.
27
+ #
28
+ # This avoids the expensive to_subscription_params() call required for full
29
+ # serialization.
30
+ #
31
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription]
32
+ required :subscription, -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Subscription }
33
+
34
+ # @!attribute type
35
+ # The event this payload describes.
36
+ #
37
+ # @return [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Type]
38
+ required :type, enum: -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Type }
39
+
40
+ # @!method initialize(id:, created_at:, properties:, subscription:, type:)
41
+ # Some parameter documentations has been truncated, see
42
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent} for more details.
43
+ #
44
+ # Issued when grouped subscription costs exceed a pre-configured amount threshold.
45
+ #
46
+ # @param id [String] The ID of this webhook event.
47
+ #
48
+ # @param created_at [Time] The time at which this event was created, to the second.
49
+ #
50
+ # @param properties [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties] Every group that crossed a threshold for one alert, batched into a single messag
51
+ #
52
+ # @param subscription [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription] A lightweight subscription representation for webhook payloads.
53
+ #
54
+ # @param type [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Type] The event this payload describes.
55
+
56
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent#properties
57
+ class Properties < Orb::Internal::Type::BaseModel
58
+ # @!attribute alert_configuration
59
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
60
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
61
+ #
62
+ # Alerts created through the API can be scoped to either customers or
63
+ # subscriptions.
64
+ #
65
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration]
66
+ required :alert_configuration,
67
+ -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration }
68
+
69
+ # @!attribute grouping_keys
70
+ #
71
+ # @return [Array<String>]
72
+ required :grouping_keys, Orb::Internal::Type::ArrayOf[String]
73
+
74
+ # @!attribute groups
75
+ #
76
+ # @return [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::Group>]
77
+ required :groups,
78
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::Group] }
79
+
80
+ # @!attribute timeframe_end
81
+ #
82
+ # @return [Time]
83
+ required :timeframe_end, Time
84
+
85
+ # @!attribute timeframe_start
86
+ #
87
+ # @return [Time]
88
+ required :timeframe_start, Time
89
+
90
+ # @!method initialize(alert_configuration:, grouping_keys:, groups:, timeframe_end:, timeframe_start:)
91
+ # Some parameter documentations has been truncated, see
92
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties} for more
93
+ # details.
94
+ #
95
+ # Every group that crossed a threshold for one alert, batched into a single
96
+ # message.
97
+ #
98
+ # @param alert_configuration [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration] [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
99
+ #
100
+ # @param grouping_keys [Array<String>]
101
+ #
102
+ # @param groups [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::Group>]
103
+ #
104
+ # @param timeframe_end [Time]
105
+ #
106
+ # @param timeframe_start [Time]
107
+
108
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties#alert_configuration
109
+ class AlertConfiguration < Orb::Internal::Type::BaseModel
110
+ # @!attribute id
111
+ # Also referred to as alert_id in this documentation.
112
+ #
113
+ # @return [String]
114
+ required :id, String
115
+
116
+ # @!attribute created_at
117
+ # The creation time of the resource in Orb.
118
+ #
119
+ # @return [Time]
120
+ required :created_at, Time
121
+
122
+ # @!attribute currency
123
+ # The name of the currency the credit balance or invoice cost is denominated in.
124
+ #
125
+ # @return [String, nil]
126
+ required :currency, String, nil?: true
127
+
128
+ # @!attribute customer
129
+ # The customer the alert applies to.
130
+ #
131
+ # @return [Orb::Models::CustomerMinified, nil]
132
+ required :customer, -> { Orb::CustomerMinified }, nil?: true
133
+
134
+ # @!attribute enabled
135
+ # Whether the alert is enabled or disabled.
136
+ #
137
+ # @return [Boolean]
138
+ required :enabled, Orb::Internal::Type::Boolean
139
+
140
+ # @!attribute metric
141
+ # The metric the alert applies to.
142
+ #
143
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Metric, nil]
144
+ required :metric,
145
+ -> {
146
+ Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Metric
147
+ },
148
+ nil?: true
149
+
150
+ # @!attribute plan
151
+ # The plan the alert applies to.
152
+ #
153
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Plan, nil]
154
+ required :plan,
155
+ -> {
156
+ Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Plan
157
+ },
158
+ nil?: true
159
+
160
+ # @!attribute subscription
161
+ # The subscription the alert applies to.
162
+ #
163
+ # @return [Orb::Models::SubscriptionMinified, nil]
164
+ required :subscription, -> { Orb::SubscriptionMinified }, nil?: true
165
+
166
+ # @!attribute thresholds
167
+ # The thresholds that define the conditions under which the alert will be
168
+ # triggered.
169
+ #
170
+ # @return [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Threshold>, nil]
171
+ required :thresholds,
172
+ -> {
173
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Threshold]
174
+ },
175
+ nil?: true
176
+
177
+ # @!attribute type
178
+ # The type of alert. This must be a valid alert type.
179
+ #
180
+ # @return [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Type]
181
+ required :type,
182
+ enum: -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Type }
183
+
184
+ # @!attribute balance_alert_status
185
+ # The current status of the alert. This field is only present for credit balance
186
+ # alerts.
187
+ #
188
+ # @return [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus>, nil]
189
+ optional :balance_alert_status,
190
+ -> {
191
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus]
192
+ },
193
+ nil?: true
194
+
195
+ # @!attribute grouping_keys
196
+ # The property keys to group cost alerts by. Only present for cost alerts with
197
+ # grouping enabled.
198
+ #
199
+ # @return [Array<String>, nil]
200
+ optional :grouping_keys, Orb::Internal::Type::ArrayOf[String], nil?: true
201
+
202
+ # @!attribute license_type
203
+ # Minified license type for alert serialization.
204
+ #
205
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::LicenseType, nil]
206
+ optional :license_type,
207
+ -> {
208
+ Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::LicenseType
209
+ },
210
+ nil?: true
211
+
212
+ # @!attribute price_filters
213
+ # Filters scoping which prices are included in spend and grouped cost alert
214
+ # evaluation. Alerts use the price_id, item_id, and price_type fields only; the
215
+ # alert's pricing unit is reported by currency.
216
+ #
217
+ # @return [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter>, nil]
218
+ optional :price_filters,
219
+ -> {
220
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter]
221
+ },
222
+ nil?: true
223
+
224
+ # @!attribute threshold_overrides
225
+ # Per-group threshold overrides. Each override maps a specific combination of
226
+ # grouping_keys values to a replacement threshold list. Only present for grouped
227
+ # cost alerts that have at least one override.
228
+ #
229
+ # @return [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride>, nil]
230
+ optional :threshold_overrides,
231
+ -> {
232
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride]
233
+ },
234
+ nil?: true
235
+
236
+ # @!method initialize(id:, created_at:, currency:, customer:, enabled:, metric:, plan:, subscription:, thresholds:, type:, balance_alert_status: nil, grouping_keys: nil, license_type: nil, price_filters: nil, threshold_overrides: nil)
237
+ # Some parameter documentations has been truncated, see
238
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration}
239
+ # for more details.
240
+ #
241
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
242
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
243
+ #
244
+ # Alerts created through the API can be scoped to either customers or
245
+ # subscriptions.
246
+ #
247
+ # @param id [String] Also referred to as alert_id in this documentation.
248
+ #
249
+ # @param created_at [Time] The creation time of the resource in Orb.
250
+ #
251
+ # @param currency [String, nil] The name of the currency the credit balance or invoice cost is denominated in.
252
+ #
253
+ # @param customer [Orb::Models::CustomerMinified, nil] The customer the alert applies to.
254
+ #
255
+ # @param enabled [Boolean] Whether the alert is enabled or disabled.
256
+ #
257
+ # @param metric [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Metric, nil] The metric the alert applies to.
258
+ #
259
+ # @param plan [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Plan, nil] The plan the alert applies to.
260
+ #
261
+ # @param subscription [Orb::Models::SubscriptionMinified, nil] The subscription the alert applies to.
262
+ #
263
+ # @param thresholds [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Threshold>, nil] The thresholds that define the conditions under which the alert will be triggere
264
+ #
265
+ # @param type [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Type] The type of alert. This must be a valid alert type.
266
+ #
267
+ # @param balance_alert_status [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::BalanceAlertStatus>, nil] The current status of the alert. This field is only present for credit balance a
268
+ #
269
+ # @param grouping_keys [Array<String>, nil] The property keys to group cost alerts by. Only present for cost alerts with gro
270
+ #
271
+ # @param license_type [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::LicenseType, nil] Minified license type for alert serialization.
272
+ #
273
+ # @param price_filters [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter>, nil] Filters scoping which prices are included in spend and grouped cost alert evalua
274
+ #
275
+ # @param threshold_overrides [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride>, nil] Per-group threshold overrides. Each override maps a specific combination of grou
276
+
277
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration#metric
278
+ class Metric < Orb::Internal::Type::BaseModel
279
+ # @!attribute id
280
+ #
281
+ # @return [String]
282
+ required :id, String
283
+
284
+ # @!method initialize(id:)
285
+ # The metric the alert applies to.
286
+ #
287
+ # @param id [String]
288
+ end
289
+
290
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration#plan
291
+ class Plan < Orb::Internal::Type::BaseModel
292
+ # @!attribute id
293
+ #
294
+ # @return [String, nil]
295
+ required :id, String, nil?: true
296
+
297
+ # @!attribute external_plan_id
298
+ # An optional user-defined ID for this plan resource, used throughout the system
299
+ # as an alias for this Plan. Use this field to identify a plan by an existing
300
+ # identifier in your system.
301
+ #
302
+ # @return [String, nil]
303
+ required :external_plan_id, String, nil?: true
304
+
305
+ # @!attribute name
306
+ #
307
+ # @return [String, nil]
308
+ required :name, String, nil?: true
309
+
310
+ # @!attribute plan_version
311
+ #
312
+ # @return [String]
313
+ required :plan_version, String
314
+
315
+ # @!method initialize(id:, external_plan_id:, name:, plan_version:)
316
+ # Some parameter documentations has been truncated, see
317
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Plan}
318
+ # for more details.
319
+ #
320
+ # The plan the alert applies to.
321
+ #
322
+ # @param id [String, nil]
323
+ #
324
+ # @param external_plan_id [String, nil] An optional user-defined ID for this plan resource, used throughout the system a
325
+ #
326
+ # @param name [String, nil]
327
+ #
328
+ # @param plan_version [String]
329
+ end
330
+
331
+ class Threshold < Orb::Internal::Type::BaseModel
332
+ # @!attribute value
333
+ # The value at which an alert will fire. For credit balance alerts, the alert will
334
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
335
+ # or above this value.
336
+ #
337
+ # @return [String]
338
+ required :value, String
339
+
340
+ # @!method initialize(value:)
341
+ # Some parameter documentations has been truncated, see
342
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::Threshold}
343
+ # for more details.
344
+ #
345
+ # Thresholds are used to define the conditions under which an alert will be
346
+ # triggered.
347
+ #
348
+ # @param value [String] The value at which an alert will fire. For credit balance alerts, the alert will
349
+ end
350
+
351
+ # The type of alert. This must be a valid alert type.
352
+ #
353
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration#type
354
+ module Type
355
+ extend Orb::Internal::Type::Enum
356
+
357
+ CREDIT_BALANCE_DEPLETED = :credit_balance_depleted
358
+ CREDIT_BALANCE_DROPPED = :credit_balance_dropped
359
+ CREDIT_BALANCE_RECOVERED = :credit_balance_recovered
360
+ USAGE_EXCEEDED = :usage_exceeded
361
+ COST_EXCEEDED = :cost_exceeded
362
+ SPEND_EXCEEDED = :spend_exceeded
363
+ LICENSE_BALANCE_THRESHOLD_REACHED = :license_balance_threshold_reached
364
+
365
+ # @!method self.values
366
+ # @return [Array<Symbol>]
367
+ end
368
+
369
+ class BalanceAlertStatus < Orb::Internal::Type::BaseModel
370
+ # @!attribute in_alert
371
+ # Whether the alert is currently in-alert or not.
372
+ #
373
+ # @return [Boolean]
374
+ required :in_alert, Orb::Internal::Type::Boolean
375
+
376
+ # @!attribute threshold_value
377
+ # The value of the threshold that defines the alert status.
378
+ #
379
+ # @return [String]
380
+ required :threshold_value, String
381
+
382
+ # @!method initialize(in_alert:, threshold_value:)
383
+ # Alert status is used to determine if an alert is currently in-alert or not.
384
+ #
385
+ # @param in_alert [Boolean] Whether the alert is currently in-alert or not.
386
+ #
387
+ # @param threshold_value [String] The value of the threshold that defines the alert status.
388
+ end
389
+
390
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration#license_type
391
+ class LicenseType < Orb::Internal::Type::BaseModel
392
+ # @!attribute id
393
+ #
394
+ # @return [String]
395
+ required :id, String
396
+
397
+ # @!method initialize(id:)
398
+ # Minified license type for alert serialization.
399
+ #
400
+ # @param id [String]
401
+ end
402
+
403
+ class PriceFilter < Orb::Internal::Type::BaseModel
404
+ # @!attribute field
405
+ # The property of the price to filter on.
406
+ #
407
+ # @return [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field]
408
+ required :field,
409
+ enum: -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field }
410
+
411
+ # @!attribute operator
412
+ # Should prices that match the filter be included or excluded.
413
+ #
414
+ # @return [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator]
415
+ required :operator,
416
+ enum: -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator }
417
+
418
+ # @!attribute values
419
+ # The IDs or values that match this filter.
420
+ #
421
+ # @return [Array<String>]
422
+ required :values, Orb::Internal::Type::ArrayOf[String]
423
+
424
+ # @!method initialize(field:, operator:, values:)
425
+ # @param field [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Field] The property of the price to filter on.
426
+ #
427
+ # @param operator [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter::Operator] Should prices that match the filter be included or excluded.
428
+ #
429
+ # @param values [Array<String>] The IDs or values that match this filter.
430
+
431
+ # The property of the price to filter on.
432
+ #
433
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter#field
434
+ module Field
435
+ extend Orb::Internal::Type::Enum
436
+
437
+ PRICE_ID = :price_id
438
+ ITEM_ID = :item_id
439
+ PRICE_TYPE = :price_type
440
+ CURRENCY = :currency
441
+ PRICING_UNIT_ID = :pricing_unit_id
442
+
443
+ # @!method self.values
444
+ # @return [Array<Symbol>]
445
+ end
446
+
447
+ # Should prices that match the filter be included or excluded.
448
+ #
449
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::PriceFilter#operator
450
+ module Operator
451
+ extend Orb::Internal::Type::Enum
452
+
453
+ INCLUDES = :includes
454
+ EXCLUDES = :excludes
455
+
456
+ # @!method self.values
457
+ # @return [Array<Symbol>]
458
+ end
459
+ end
460
+
461
+ class ThresholdOverride < Orb::Internal::Type::BaseModel
462
+ # @!attribute group_values
463
+ # The values identifying this group, ordered to match group_keys when set and the
464
+ # alert's grouping_keys otherwise.
465
+ #
466
+ # @return [Array<String>]
467
+ required :group_values, Orb::Internal::Type::ArrayOf[String]
468
+
469
+ # @!attribute thresholds
470
+ # The thresholds applied to this group. An empty list means the group is silenced.
471
+ #
472
+ # @return [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold>]
473
+ required :thresholds,
474
+ -> do
475
+ Orb::Internal::Type::ArrayOf[
476
+ Orb::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold
477
+ ]
478
+ end
479
+
480
+ # @!attribute group_keys
481
+ # The subset of the alert's grouping_keys this override binds. Null when the
482
+ # override targets one exact group across every grouping key.
483
+ #
484
+ # @return [Array<String>, nil]
485
+ optional :group_keys, Orb::Internal::Type::ArrayOf[String], nil?: true
486
+
487
+ # @!method initialize(group_values:, thresholds:, group_keys: nil)
488
+ # Some parameter documentations has been truncated, see
489
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride}
490
+ # for more details.
491
+ #
492
+ # A per-group threshold override on a grouped cost alert.
493
+ #
494
+ # An empty `thresholds` list means the group is silenced (never fires). A
495
+ # non-empty list fully replaces the default thresholds for that group.
496
+ #
497
+ # @param group_values [Array<String>] The values identifying this group, ordered to match group_keys when set and the
498
+ #
499
+ # @param thresholds [Array<Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold>] The thresholds applied to this group. An empty list means the group is silenced.
500
+ #
501
+ # @param group_keys [Array<String>, nil] The subset of the alert's grouping_keys this override binds. Null when the overr
502
+
503
+ class Threshold < Orb::Internal::Type::BaseModel
504
+ # @!attribute value
505
+ # The value at which an alert will fire. For credit balance alerts, the alert will
506
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
507
+ # or above this value.
508
+ #
509
+ # @return [String]
510
+ required :value, String
511
+
512
+ # @!method initialize(value:)
513
+ # Some parameter documentations has been truncated, see
514
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Properties::AlertConfiguration::ThresholdOverride::Threshold}
515
+ # for more details.
516
+ #
517
+ # Thresholds are used to define the conditions under which an alert will be
518
+ # triggered.
519
+ #
520
+ # @param value [String] The value at which an alert will fire. For credit balance alerts, the alert will
521
+ end
522
+ end
523
+ end
524
+
525
+ class Group < Orb::Internal::Type::BaseModel
526
+ # @!attribute amount_threshold
527
+ #
528
+ # @return [String, nil]
529
+ required :amount_threshold, String, nil?: true
530
+
531
+ # @!attribute evaluated_amount
532
+ #
533
+ # @return [String, nil]
534
+ required :evaluated_amount, String, nil?: true
535
+
536
+ # @!attribute group_values
537
+ #
538
+ # @return [Array<String>]
539
+ required :group_values, Orb::Internal::Type::ArrayOf[String]
540
+
541
+ # @!method initialize(amount_threshold:, evaluated_amount:, group_values:)
542
+ # @param amount_threshold [String, nil]
543
+ # @param evaluated_amount [String, nil]
544
+ # @param group_values [Array<String>]
545
+ end
546
+ end
547
+
548
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent#subscription
549
+ class Subscription < Orb::Internal::Type::BaseModel
550
+ # @!attribute id
551
+ #
552
+ # @return [String]
553
+ required :id, String
554
+
555
+ # @!attribute customer
556
+ #
557
+ # @return [Orb::Models::CustomerMinified]
558
+ required :customer, -> { Orb::CustomerMinified }
559
+
560
+ # @!attribute end_date
561
+ #
562
+ # @return [Time, nil]
563
+ required :end_date, Time, nil?: true
564
+
565
+ # @!attribute plan
566
+ #
567
+ # @return [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Plan, nil]
568
+ required :plan,
569
+ -> {
570
+ Orb::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Plan
571
+ },
572
+ nil?: true
573
+
574
+ # @!attribute start_date
575
+ #
576
+ # @return [Time]
577
+ required :start_date, Time
578
+
579
+ # @!attribute status
580
+ #
581
+ # @return [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Status]
582
+ required :status, enum: -> { Orb::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Status }
583
+
584
+ # @!method initialize(id:, customer:, end_date:, plan:, start_date:, status:)
585
+ # A lightweight subscription representation for webhook payloads.
586
+ #
587
+ # This avoids the expensive to_subscription_params() call required for full
588
+ # serialization.
589
+ #
590
+ # @param id [String]
591
+ # @param customer [Orb::Models::CustomerMinified]
592
+ # @param end_date [Time, nil]
593
+ # @param plan [Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Plan, nil]
594
+ # @param start_date [Time]
595
+ # @param status [Symbol, Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Status]
596
+
597
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription#plan
598
+ class Plan < Orb::Internal::Type::BaseModel
599
+ # @!attribute id
600
+ #
601
+ # @return [String, nil]
602
+ required :id, String, nil?: true
603
+
604
+ # @!attribute external_plan_id
605
+ # An optional user-defined ID for this plan resource, used throughout the system
606
+ # as an alias for this Plan. Use this field to identify a plan by an existing
607
+ # identifier in your system.
608
+ #
609
+ # @return [String, nil]
610
+ required :external_plan_id, String, nil?: true
611
+
612
+ # @!attribute name
613
+ #
614
+ # @return [String, nil]
615
+ required :name, String, nil?: true
616
+
617
+ # @!method initialize(id:, external_plan_id:, name:)
618
+ # Some parameter documentations has been truncated, see
619
+ # {Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription::Plan}
620
+ # for more details.
621
+ #
622
+ # @param id [String, nil]
623
+ #
624
+ # @param external_plan_id [String, nil] An optional user-defined ID for this plan resource, used throughout the system a
625
+ #
626
+ # @param name [String, nil]
627
+ end
628
+
629
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent::Subscription#status
630
+ module Status
631
+ extend Orb::Internal::Type::Enum
632
+
633
+ ACTIVE = :active
634
+ ENDED = :ended
635
+ UPCOMING = :upcoming
636
+
637
+ # @!method self.values
638
+ # @return [Array<Symbol>]
639
+ end
640
+ end
641
+
642
+ # The event this payload describes.
643
+ #
644
+ # @see Orb::Models::SubscriptionGroupedCostExceededWebhookEvent#type
645
+ module Type
646
+ extend Orb::Internal::Type::Enum
647
+
648
+ SUBSCRIPTION_GROUPED_COST_EXCEEDED = :"subscription.grouped_cost_exceeded"
649
+
650
+ # @!method self.values
651
+ # @return [Array<Symbol>]
652
+ end
653
+ end
654
+ end
655
+ end