openapi: 3.0.1
info:
title: FlashArray REST Active Directory Volume Snapshots API
version: '2.52'
description: 'Active Directory configuration authenticates users for NFS using Kerberos or SMB using Kerberos
or New Technology LAN Manager (NTLM). Active Directory is also used to authorize users by
mapping identities across the NFS and SMB protocols by using LDAP queries.
'
servers:
- url: /
tags:
- name: Volume Snapshots
description: 'Volume snapshots are immutable, point-in-time images of the contents of one or more volumes.
There are two types of volume snapshots: volume snapshots and protection group volume
snapshots. A volume snapshot is a snapshot that captures the contents of a single volume.
A protection group volume snapshot is a volume snapshot that is created from a group of
volumes that are part of the same protection group. All of the volume snapshots created from a
protection group snapshot are point-in-time consistent with each other.
'
paths:
/api/2.52/volume-snapshots:
get:
tags:
- Volume Snapshots
summary: Pure Storage List Volume Snapshots
description: 'Displays a list of volume snapshots, including those pending eradication.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Destroyed'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Source_ids'
- $ref: '#/components/parameters/Source_names'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/Total_only'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotGetResponse'
post:
tags:
- Volume Snapshots
summary: Pure Storage Create a Volume Snapshot and Tags
description: 'Creates a point-in-time snapshot of the contents of a volume.
The `source_ids` or `source_names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_throttle_snapshot'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/OnSingle'
- $ref: '#/components/parameters/Source_ids'
- $ref: '#/components/parameters/Source_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotPost'
required: true
x-codegen-request-body-name: volume-snapshot
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotResponse'
x-codegen-request-body-name: volume-snapshot
delete:
tags:
- Volume Snapshots
summary: Pure Storage Delete a Volume Snapshot
description: 'Deletes a volume snapshot that has been destroyed and is pending eradication.
Eradicated volume snapshots cannot be recovered.
Volume snapshots are destroyed by using the `PATCH` method.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Replication_snapshot'
responses:
'200':
description: OK
content: {}
patch:
tags:
- Volume Snapshots
summary: Pure Storage Modify a Volume Snapshot
description: 'Modifies a volume snapshot by renaming, destroying, or recovering it.
To rename the suffix of a volume snapshot, set `name` to the new suffix name.
To recover a volume snapshot that has been destroyed and is pending eradication,
set `destroyed=true`.
The `ids` or `names` parameter is required, but they cannot be set together.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Replication_snapshot'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotPatch'
required: true
x-codegen-request-body-name: volume-snapshot
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotResponse'
x-codegen-request-body-name: volume-snapshot
/api/2.52/volume-snapshots/batch:
post:
tags:
- Volume Snapshots
summary: Pure Storage Create Volume Snapshots and Create Tags.
description: 'Creates point-in-time snapshots of the contents of volumes.
The destroyed parameter, suffixes, and tags can be different for each snapshot.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_throttle_snapshot'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/OnSingle'
requestBody:
description: 'The list of volume snapshots to be created.
'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VolumeSnapshotBatchPost'
required: true
x-codegen-request-body-name: volume-snapshot
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotBatchResponse'
x-codegen-request-body-name: volume-snapshot
/api/2.52/volume-snapshots/transfer:
get:
tags:
- Volume Snapshots
summary: Pure Storage List Volume Snapshots with Transfer Statistics
description: 'Displays a list of volume snapshots and their transfer statistics.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Destroyed'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Source_ids'
- $ref: '#/components/parameters/Source_names'
- $ref: '#/components/parameters/Total_item_count'
- $ref: '#/components/parameters/Total_only'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotTransferGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotTransferGetResponse'
/api/2.52/volume-snapshots/tags:
get:
tags:
- Volume Snapshots
summary: Pure Storage List Tags
description: Displays the list of tags.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_errors'
- $ref: '#/components/parameters/Context_names_get'
- $ref: '#/components/parameters/Continuation_token'
- $ref: '#/components/parameters/Filter'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Namespaces'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Resource_destroyed'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Total_item_count'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TagGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
content:
application/json:
schema:
$ref: '#/components/schemas/TagGetResponse'
delete:
tags:
- Volume Snapshots
summary: Pure Storage Delete Tags
description: Deletes specified tags.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Keys'
- $ref: '#/components/parameters/Namespaces_delete'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
responses:
'200':
description: OK
content: {}
/api/2.52/volume-snapshots/tags/batch:
put:
tags:
- Volume Snapshots
summary: Pure Storage Update Tags
description: 'Updates tags.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Resource_ids'
- $ref: '#/components/parameters/Resource_names'
requestBody:
description: A list of tags to be created or modified.
content:
application/json:
schema:
maxItems: 30
minItems: 1
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/TagBatch'
required: true
x-codegen-request-body-name: tag
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TagResponse'
x-codegen-request-body-name: tag
/api/2.52/volume-snapshots/test:
post:
tags:
- Volume Snapshots
summary: Pure Storage Create the Volume Snapshot Path
description: 'Creates the volume snapshot path without actually taking a volume snapshot.
'
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Allow_throttle_snapshot'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/OnSingle'
- $ref: '#/components/parameters/Source_ids'
- $ref: '#/components/parameters/Source_names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotPost'
required: true
x-codegen-request-body-name: volume-snapshot
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TestResultWithResourcePostResponse'
x-codegen-request-body-name: volume-snapshot
/api/1.5/volume-snapshots:
get:
tags:
- Volume Snapshots
summary: Pure Storage Get Volume Snapshots
description: 'Retrieves information about snapshots of volumes.
'
parameters:
- $ref: '#/components/parameters/Authorization_2'
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Continuation_token_2'
- $ref: '#/components/parameters/Filter_2'
- $ref: '#/components/parameters/Ids_2'
- $ref: '#/components/parameters/Limit_2'
- $ref: '#/components/parameters/Names_2'
- $ref: '#/components/parameters/Offset_2'
- $ref: '#/components/parameters/Sort_2'
- $ref: '#/components/parameters/Source_ids_2'
- $ref: '#/components/parameters/Source_names_2'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
X-RateLimit-Remaining-second:
description: 'The number of requests remaining for the organization in that second.
'
schema:
type: integer
X-RateLimit-Remaining-minute:
description: 'The number of requests remaining for the organization in that minute.
'
schema:
type: integer
X-RateLimit-Limit-second:
description: The number of requests available per second.
schema:
type: integer
X-RateLimit-Limit-minute:
description: The number of requests available per minute.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeSnapshotGetResponse_2'
'400':
$ref: '#/components/responses/Error400'
'403':
$ref: '#/components/responses/Error403'
'404':
$ref: '#/components/responses/Error404'
'429':
$ref: '#/components/responses/Error429'
'500':
$ref: '#/components/responses/Error500'
components:
schemas:
_timeAware:
type: object
properties:
_as_of:
description: The freshness of the data (timestamp in millis since epoch).
type: integer
format: int64
readOnly: true
example: 1502729489760
ErrorNoContext:
type: object
properties:
message:
type: string
example: Something was wrong
Tag:
allOf:
- $ref: '#/components/schemas/_context'
- type: object
properties:
copyable:
description: 'Specifies whether or not to include the tag when copying the parent resource.
If set to `true`, the tag is included in resource copying.
If set to `false`, the tag is not included.
If not specified, defaults to `true`.
'
type: boolean
example: true
key:
description: 'Key of the tag. Supports up to 64 Unicode characters.
'
type: string
example: environment
namespace:
description: 'Optional namespace of the tag.
Namespace identifies the category of the tag. Omitting the namespace
defaults to the namespace `default`. The `pure*` namespaces are
reserved for plugins and integration partners. It is recommended
that customers avoid using reserved namespaces.
'
type: string
example: default
resource:
$ref: '#/components/schemas/_fixedReference'
value:
description: 'Value of the tag. Supports up to 256 Unicode characters.
'
type: string
example: staging
VolumeSnapshotGetResponse_2:
allOf:
- $ref: '#/components/schemas/PageInfo_2'
- $ref: '#/components/schemas/VolumeSnapshotResponse_2'
VolumeSnapshotPatch:
allOf:
- $ref: '#/components/schemas/_destroyedPatchPost'
- $ref: '#/components/schemas/_newName'
_builtInAsOf:
description: 'A built-in resource. Many are singletons predefined by Purity (e.g., support
settings). Some correspond to a piece of software, like an app, or hardware,
like a controller. Others are created by the system in response to some event
(e.g., alerts, audit records).
Typically, a user can''t create, delete or rename a built-in resource. A few
can be created or deleted, but not renamed because the names are meaningful
to Purity (e.g., VIFs).
'
allOf:
- $ref: '#/components/schemas/_timeAware'
- type: object
properties:
id:
description: A non-modifiable, globally unique ID chosen by the system.
type: string
readOnly: true
example: 01c2889a-4124-49ff-8cbd-c33405ede123
name:
description: A non-modifiable, locally unique name chosen by the system.
type: string
readOnly: true
example: example_name
VolumeSnapshotGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/VolumeSnapshotResponse'
- $ref: '#/components/schemas/_errorContextResponse'
- type: object
properties:
total:
description: 'The aggregate value of all items after filtering.
Where meaningful, the average value is displayed instead.
If applicable, the values are displayed for each field.
'
type: array
items:
$ref: '#/components/schemas/VolumeSnapshot'
VolumeSnapshot_2:
description: 'A point-in-time image of the contents of a volume.
'
allOf:
- $ref: '#/components/schemas/_arraysBuiltIn'
- type: object
properties:
created:
description: Creation time in milliseconds since UNIX epoch.
type: integer
format: int64
example: 1502729489760
destroyed:
description: 'Indicates if this snapshot has been destroyed and is pending
eradication.
'
type: boolean
example: false
'on':
description: 'A reference to the array or the offload where the snapshot is stored.
'
title: FixedReferenceFqdn
allOf:
- $ref: '#/components/schemas/_fixedReferenceFqdn'
pod:
description: 'A reference to the pod the source volume belongs to, if applicable.
'
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference_2'
provisioned:
description: 'Indicates the size (in bytes) of the volume when the snapshot was taken.
'
type: integer
format: int64
example: 2048576
serial:
description: 'Serial number generated by Purity when the snapshot was created.
'
type: string
example: C68B5DCF2C1A4C9400012F92
snapshot_group:
description: 'A reference to a consistency group snapshot that this snapshot is
part of.
'
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference_2'
source:
description: 'A reference to the volume that the snapshot was taken from.
'
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference_2'
suffix:
description: 'Suffix added to the source volume name used to generate the
volume snapshot name.
'
type: string
example: checkpoint_2018_01_01
_space:
type: object
properties:
data_reduction:
description: 'The ratio of mapped sectors within a volume versus
the amount of physical space the data occupies after data compression and deduplication.
The data reduction ratio does not include thin provisioning savings.
For example, a data reduction ratio of 5:1 means that
for every 5 MB the host writes to the array, 1 MB is stored on the array''s flash modules.
'
type: number
format: float
readOnly: true
footprint:
description: 'The maximum amount of physical space the container consumes on an array,
ignoring any data shared outside the container, measured in bytes.
On Evergreen//One arrays, this is the maximum amount of effective used space.
The footprint metric is mostly used for capacity planning.
This field will be null in non-container contexts.
'
type: integer
format: int64
minimum: 0
readOnly: true
shared:
description: 'The physical space occupied by deduplicated data, meaning that the space is shared with other
volumes and snapshots as a result of data deduplication.
Measured in bytes.
On Evergreen//One arrays, this is the effective space contributed by data that is not unique
to a specific volume, managed directory, or snapshot, measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
example: 111863360624
snapshots:
description: 'The physical space occupied by data unique to one or more snapshots.
Measured in bytes.
On Evergreen//One arrays, this is the effective space contributed by data unique to one or
more snapshots, measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
system:
description: 'The physical space occupied by internal array metadata. Measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
thin_provisioning:
description: 'The percentage of volume sectors that do not contain host-written data
because the hosts have not written data to them or the sectors have been explicitly trimmed.
'
type: number
format: float
minimum: 0
maximum: 1
readOnly: true
total_physical:
description: 'This field has been deprecated.
Use the `total_used` field, as it contains the same information.
'
type: integer
format: int64
minimum: 0
readOnly: true
total_provisioned:
description: 'The provisioned size of a volume for a single volume, host or host group,
protocol endpoint, managed directory, and containers can be infinite or measured in bytes.
Infinite is represented by `null`.
The provisioned size for a host or host group, includes all volumes
that are connected to the resource.
The provisioned size for a protocol endpoint is `null`.
The provisioned size for a managed directory is the quota limit if it
or its parent has a managed directory configured, otherwise it defaults to `null`.
The provisioned size for a container is the sum of the total_provisioned
of the object it contains, capped by the container''s quota limit
(or the container''s used_provisioned if current usage is above the quota limit), if any.
Provisioned size represents the storage capacity reported to hosts.
'
type: integer
format: int64
minimum: 0
readOnly: true
example: 19937690345472
total_reduction:
description: 'The ratio of provisioned sectors within a volume versus
the amount of physical space the data occupies
after reduction via data compression and deduplication
and with thin provisioning savings.
Total reduction is data reduction with thin provisioning savings.
For example, a total reduction ratio of 10:1 means that
for every 10 MB of provisioned space,
1 MB is stored on the array''s flash modules.
'
type: number
format: float
readOnly: true
total_used:
description: 'The total space contributed by customer data, measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
unique:
description: 'The unique physical space occupied by customer data.
Unique physical space does not include shared space, snapshots, and internal array metadata.
Measured in bytes.
On Evergreen//One arrays, this is the effective space contributed by unique customer data,
measured in bytes.
Unique data does not include shared space, snapshots, and internal array metadata.
'
type: integer
format: int64
minimum: 0
readOnly: true
used_provisioned:
description: 'The amount of logical space a container has consumed,
compared against the quota limit if the container has one configured.
Used provisioned does not include destroyed objects inside the container.
Used provisioned can include destroyed objects for a destroyed container
and represents how much logical space it would take to recover the container.
'
type: integer
format: int64
minimum: 0
readOnly: true
example: 19937690345472
virtual:
description: 'The amount of logically written data that a volume or a snapshot references.
Measured in bytes.
'
type: integer
format: int64
minimum: 0
readOnly: true
_newName:
type: object
properties:
name:
description: The new name for the resource.
type: string
_errorErrors:
type: object
properties:
context:
type: string
example: Error with ...
message:
type: string
example: Something was wrong
_resource:
description: 'An ordinary (as opposed to built-in) resource that can be created, named,
renamed or deleted by the user. This might be a virtual resource (e.g., a
file system), or correspond to something in the environment, like a host or a
server.
'
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified and cannot refer to another resource.
'
type: string
readOnly: true
name:
description: 'A user-specified name.
The name must be locally unique and can be changed.
'
type: string
_arrays:
type: object
properties:
arrays:
description: 'The list of arrays where this resource exists. Many resources are on a single array, but
some resources, such as pods, can be shared across multiple arrays.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_fixedReferenceFqdn'
x-readOnly: true
TagBatch:
type: object
properties:
copyable:
description: 'Specifies whether or not to include the tag when copying the parent resource.
If set to `true`, the tag is included in resource copying.
If set to `false`, the tag is not included.
If not specified, defaults to `true`.
'
type: boolean
example: true
key:
description: 'Key of the tag. Supports up to 64 Unicode characters.
'
type: string
example: environment
namespace:
description: 'Optional namespace of the tag.
Namespace identifies the category of the tag. Omitting the namespace
defaults to the namespace `default`. The `pure*` namespaces are
reserved for plugins and integration partners. It is recommended
that customers avoid using reserved namespaces.
'
type: string
example: default
resource:
description: 'A reference to the parent object.
'
title: Reference
allOf:
- $ref: '#/components/schemas/_reference'
value:
description: 'Value of the tag. Supports up to 256 Unicode characters.
'
type: string
example: staging
TagResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Tag'
_arraysBuiltIn:
description: 'A built-in resource that exists on one or multiple arrays.
'
allOf:
- $ref: '#/components/schemas/_builtInAsOf'
- $ref: '#/components/schemas/_arrays'
_fixedReferenceNoId:
type: object
properties:
name:
description: 'The resource name,
such as volume name, pod name, snapshot name, and so on.
'
type: string
readOnly: true
x-readOnly: true
VolumeSnapshotTransferGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/VolumeSnapshotTransferResponse'
- $ref: '#/components/schemas/_errorContextResponse'
- type: object
properties:
total:
description: 'The aggregate value of all items after filtering.
Where it makes more sense, the average value is displayed instead.
The values are displayed for each field where meaningful.
'
type: array
items:
$ref: '#/components/schemas/VolumeSnapshotTransfer'
_fixedReferenceFqdn:
allOf:
- $ref: '#/components/schemas/_fixedReference_2'
- type: object
properties:
fqdn:
description: 'The fully qualified domain name of the appliance when `resource_type` is `arrays`,
`null` otherwise.
'
type: string
readOnly: true
example: example_name.dc1.example.com
_fixedReference_2:
type: object
properties:
id:
description: The opaque and unique id of this resource.
type: string
readOnly: true
example: 2a989a09-c851-4d52-9ec6-ab728b1c04db
name:
description: The name of this resource.
type: string
readOnly: true
example: example_name
resource_type:
description: 'The type of this resource represented by the name of its REST endpoint.
For example, "arrays", "network-interfaces", an
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-volume-snapshots-api-openapi.yml