NetApp ONTAP OnSnapshotCreated

NetApp ONTAP OnSnapshotCreated

Certified
Enterprise Edition

Trigger on new ONTAP snapshot

Polls GET /api/storage/volumes/{volumeUuid}/snapshots at the configured interval and emits one execution per newly discovered snapshot. The trigger tracks the create time of the last-seen snapshot in namespace KV to avoid re-firing on snapshots that were already processed; tracking by timestamp (rather than by name) ensures the baseline survives deletion of the snapshot that was used to record it. Because ONTAP's create_time has second-granularity, the baseline also records the UUIDs of every snapshot sharing that exact newest timestamp, so same-second snapshots are fired exactly once and never replayed. On the first poll, existing snapshots are recorded but do not trigger executions, preventing a flood on initial activation. If the volume is deleted between polls, the trigger logs a warning and waits for the next interval.

yaml
type: io.kestra.plugin.ee.netapp.ontap.snapshots.OnSnapshotCreated

Trigger a flow whenever a new snapshot is created on a volume.

yaml
id: ontap_on_snapshot_created
namespace: company.team

triggers:
  - id: on_snapshot
    type: io.kestra.plugin.ee.netapp.ontap.snapshots.OnSnapshotCreated
    host: "{{ secret('ONTAP_HOST') }}"
    username: admin
    password: "{{ secret('ONTAP_PASSWORD') }}"
    volumeUuid: "{{ inputs.volume_uuid }}"
    interval: PT2M
Properties

ONTAP cluster management IP or hostname

Hostname or IP address of the ONTAP cluster management interface.

ONTAP password

Password used for HTTP Basic authentication. Use {{ secret('ONTAP_PASSWORD') }}.

ONTAP username

Username used for HTTP Basic authentication.

Volume UUID

UUID of the ONTAP volume to watch for new snapshots.

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

DefaultPT1M
Formatduration

Polling interval

How often to poll the ONTAP API for new snapshots. Defaults to PT1M (every minute).

HTTP client configuration

Optional HTTP client overrides such as timeouts and TLS settings. For example:

options: 
  timeout: 
    connectTimeout: PT10S
    readIdleTimeout: PT30S
  ssl: 
    insecureTrustAllCertificates: true # accept self-signed cluster certs (insecure — lab use only)
Definitions
allowFailedbooleanstring
Defaultfalse

If true, allow a failed response code (response code >= 400)

allowedResponseCodesarray
SubTypeinteger

List of response code allowed for this request

auth

The authentication to use.

type*Requiredobject
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*Requiredobject
tokenstring

The token for bearer token authentication.

type*Requiredobject
passwordstring

The password for HTTP Digest authentication.

usernamestring

The username for HTTP Digest authentication.

defaultCharsetstring
DefaultUTF-8

The default charset for the request.

enabledTcpExtendedKeepAlivebooleanstring
Defaulttrue

Whether to enable TCP Keep-Alive extended socket options (TCP_KEEPIDLE, TCP_KEEPINTERVAL, TCP_KEEPCOUNT).

Set to false when running on Windows workers, as these extended socket options are not supported by the Windows JDK and will cause connection failures.

followRedirectsbooleanstring
Defaulttrue

Whether redirects should be followed automatically.

logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

proxy

The proxy configuration.

addressstring

The address of the proxy server.

passwordstring

The password for proxy authentication.

portintegerstring

The port of the proxy server.

typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

usernamestring

The username for proxy authentication.

ssl

The SSL request options

insecureTrustAllCertificatesbooleanstring

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

timeout

The timeout configuration.

connectTimeoutstring

The time allowed to establish a connection to the server before failing.

readIdleTimeoutstring
DefaultPT5M

The time allowed for a read connection to remain idle before closing it.

Default443

ONTAP port

Port for the ONTAP REST API. Defaults to 443.

Defaulthttps

HTTP scheme

Protocol scheme. Defaults to https. Set to http only for testing against local stubs.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A 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.

Snapshot creation time

ISO-8601 creation timestamp of the triggering snapshot.

New snapshot count

Number of new snapshots detected in this poll cycle.

Snapshot name

Name of the newest snapshot that triggered this execution.

Snapshot UUID

UUID of the newest snapshot that triggered this execution.

Volume UUID

UUID of the ONTAP volume on which the snapshot was detected.