Pure Storage FlashArray Restore

Pure Storage FlashArray Restore

Certified
Enterprise Edition

Restore a Pure Storage FlashArray snapshot into a new volume

Creates a new volume as a full copy of an existing snapshot via POST /api/{version}/volumes?names={targetVolumeName} with a source reference to the snapshot. This is non-destructive: the source snapshot and its parent volume are left untouched. If a volume named targetVolumeName already exists, FlashArray rejects the request rather than overwriting it — the array's error is surfaced as-is.

yaml
type: io.kestra.plugin.ee.purestorage.snapshots.Restore

Restore a snapshot into a new volume.

yaml
id: purestorage_restore_snapshot
namespace: company.team

tasks:
  - id: restore_snapshot
    type: io.kestra.plugin.ee.purestorage.snapshots.Restore
    host: "{{ secret('PURESTORAGE_HOST') }}"
    apiToken: "{{ secret('PURESTORAGE_API_TOKEN') }}"
    snapshotName: "{{ inputs.snapshot_name }}"
    targetVolumeName: "{{ inputs.volume_name }}_restored"
Properties

FlashArray API token

Static API token used to authenticate. It is exchanged for a short-lived session token via the FlashArray login endpoint; this plugin does not perform the username/password to API-token exchange. Store this value as a Kestra secret and reference it via {{ secret('PURESTORAGE_API_TOKEN') }}.

FlashArray management IP or hostname

Hostname or IP address of the Pure Storage FlashArray management interface (for example: flasharray.example.com or 192.168.1.20). The REST API is reached at https://{host}: {port}/api/.

Snapshot name

Full snapshot name to restore from, in {volumeName}.{suffix} format.

Target volume name

Name of the new volume to create from the snapshot. Must not already exist on the array.

REST API version override

Pins the Purity//FA REST API version to use (for example: 2.30), bypassing runtime version discovery (GET /api/api_version). Optional: when unset, the highest supported 2.x version is auto-detected.

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

HTTP client configuration

Optional HTTP client overrides such as timeouts, TLS settings, and proxy. When timeout is not set, a default 10s connect / 60s read-idle timeout is applied so an unreachable or stalled array fails fast with a clear error instead of hanging the task indefinitely; set timeout explicitly to override. For example:

options: 
  timeout: 
    connectTimeout: PT10S
    readIdleTimeout: PT30S
  ssl: 
    insecureTrustAllCertificates: true # accept self-signed array 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*object
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*object
tokenstring

The token for bearer token authentication.

type*object
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

FlashArray port

Port for the FlashArray REST API. Defaults to 443.

Defaulthttps

HTTP scheme

Protocol scheme used to reach the FlashArray REST API. Defaults to https. Set to http only for testing against local stubs; production arrays always use https.

New volume ID

ID assigned by FlashArray to the restored volume.