
Dell EMC OnAlertCreated
CertifiedEnterprise EditionTrigger on new Dell EMC PowerStore alert
Dell EMC OnAlertCreated
Trigger on new Dell EMC PowerStore alert
Polls GET /api/rest/alert at the configured interval, filtered server-side to unacknowledged
alerts only, so poll cost scales with the appliance's (typically small) open-alert backlog rather
than its full alert history. Each poll emits at most one execution: when one or more new,
unacknowledged alerts at or above minSeverity are discovered, the execution's output describes
the newest one (alertId, description, severity, raisedTimestamp) and lists every new alert
detected in that poll cycle in alerts, so a burst of several new alerts between two polls is
never silently reduced to just the newest — newAlertCount reports how many were found. The
trigger tracks the raisedTimestamp of the newest-seen matching alert in namespace KV to avoid
re-firing on alerts already processed; tracking by timestamp (rather than by ID) ensures the
baseline survives an alert being acknowledged between polls. Because two alerts can be raised in
the very same millisecond, the baseline also records the IDs of every alert sharing that exact
newest timestamp, so same-instant alerts are fired exactly once and never replayed. On the first
poll, existing matching alerts are recorded but do not trigger executions, preventing a flood on
initial activation. If the array is unreachable, the trigger logs a warning and waits for the next
interval.
type: io.kestra.plugin.ee.dellemc.powerstore.arrays.OnAlertCreatedExamples
Trigger a flow whenever a new critical alert is raised on a PowerStore appliance.
id: powerstore_on_alert_created
namespace: company.team
tasks:
- id: log_alert
type: io.kestra.plugin.core.log.Log
message: "{{ trigger.severity }} — {{ trigger.description }}"
triggers:
- id: on_alert
type: io.kestra.plugin.ee.dellemc.powerstore.arrays.OnAlertCreated
host: "{{ secret('POWERSTORE_HOST') }}"
username: "{{ secret('POWERSTORE_USERNAME') }}"
password: "{{ secret('POWERSTORE_PASSWORD') }}"
minSeverity: CRITICAL
interval: PT5M
Properties
host *Requiredstring
PowerStore management address
Hostname or IP address of the PowerStore appliance management interface, optionally including a
port if non-default (for example: powerstore.example.com or 192.168.1.20: 8443).
The REST API is reached at https://{host}/api/rest.
password *Requiredstring
PowerStore password
Password for username. Store this value as a Kestra secret and reference it via
{{ secret('POWERSTORE_PASSWORD') }}.
username *Requiredstring
PowerStore username
Username of a PowerStore local or LDAP account used to authenticate via HTTP Basic Auth.
allowConcurrent Non-dynamicboolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
interval Non-dynamicstring
PT1MdurationPolling interval
How often to poll the PowerStore API for new alerts. Defaults to PT1M (every minute).
minSeverity string
MINORNONEINFOMINORMAJORCRITICALMinimum alert severity
Only alerts at or above this severity trigger an execution. Defaults to MINOR.
skipTlsVerification booleanstring
falseSkip TLS certificate verification
When true, accepts the PowerStore appliance's TLS certificate without validation. Defaults to
false. PowerStore management interfaces are commonly deployed with a self-signed certificate;
set this to true to connect to those without importing the certificate into a trust store.
Intended for lab/non-production use — leave false in production and use a properly signed
certificate instead.
stopAfter Non-dynamicarray
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
when string
trueA condition that determines whether the trigger should run.
A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.
Outputs
alertId string
Alert ID
ID of the newest alert that triggered this execution.
alerts array
New alerts
Every new matching alert detected in this poll cycle, oldest first — not just the newest one
described by alertId/description/severity/raisedTimestamp. Always has at least one
element when the trigger fires.
io.kestra.plugin.ee.dellemc.powerstore.arrays.ListAlerts-AlertRecord
description string
Alert description
newAlertCount integer
New alert count
Number of new matching alerts detected in this poll cycle.
raisedTimestamp integer
Alert raised timestamp
Epoch milliseconds when the triggering alert was raised.
severity string
Alert severity
One of NONE, INFO, MINOR, MAJOR, CRITICAL.