Dell EMC Restore

Dell EMC Restore

Certified
Enterprise Edition

Restore a Dell EMC PowerStore volume from a snapshot

Restores the parent volume in place to the state captured by the snapshot, via POST /api/rest/volume/{volumeId}/restore with body {"from_snap_id": "<snapshotId>"}. This is destructive: any data written to the volume after the snapshot was taken is lost. The snapshot itself is left untouched. PowerStore may accept the request asynchronously (HTTP 202 with a job reference); see wait and waitTimeout.

yaml
type: io.kestra.plugin.ee.dellemc.powerstore.snapshots.Restore

Restore a volume from a snapshot.

yaml
id: powerstore_restore_snapshot
namespace: company.team

tasks:
  - id: restore_snapshot
    type: io.kestra.plugin.ee.dellemc.powerstore.snapshots.Restore
    host: "{{ secret('POWERSTORE_HOST') }}"
    username: "{{ secret('POWERSTORE_USERNAME') }}"
    password: "{{ secret('POWERSTORE_PASSWORD') }}"
    volumeId: "{{ inputs.volume_id }}"
    snapshotId: "{{ inputs.snapshot_id }}"
Properties

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.

PowerStore password

Password for username. Store this value as a Kestra secret and reference it via {{ secret('POWERSTORE_PASSWORD') }}.

Snapshot ID

ID of the PowerStore snapshot to restore the volume from.

PowerStore username

Username of a PowerStore local or LDAP account used to authenticate via HTTP Basic Auth.

Volume ID

ID of the PowerStore volume to restore — the parent volume the snapshot was taken from.

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
Defaultfalse

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

Defaulttrue

Wait for completion

When the PowerStore array accepts the request asynchronously (HTTP 202 with a job reference), whether to poll the job until it completes before returning. Defaults to true so downstream tasks receive a usable result. When false, the task returns immediately with the job ID once accepted, without waiting for it to finish. Polling blocks the worker thread running this task for as long as the wait lasts (up to waitTimeout); size the worker pool accordingly if many job-aware tasks run concurrently, or set this to false and poll separately.

DefaultPT10M

Job wait timeout

Maximum time to wait for an asynchronously accepted job to complete when wait is true. Defaults to PT10M. Capped at PT30M: values above that are clamped down to PT30M (with a warning logged) to avoid tying up a worker thread indefinitely. If the timeout elapses before the job completes, the task returns successfully without confirmed completion — the job ID is still available in the output so its status can be checked later. Killing the execution while this task is waiting stops it from polling immediately, but PowerStore's job REST resource has no cancel/abort endpoint: the array-side operation itself (resize, failover, synchronize, restore) keeps running to completion on the appliance regardless.

Job ID

ID of the asynchronous PowerStore job, populated only when the restore is still in progress (see wait).