openapi: 3.0.1
info:
title: FlashArray REST Active Directory Policies - Snapshot 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: Policies - Snapshot
description: A snapshot policy manages the creation file system snapshots or it can applied to file system and object replication links for replication. These policies provide the user a way to control the frequency of creating snapshots and objects, and the retention time for each copy. A snapshot policy can be applied to one or more file systems, objects, or replication links.
paths:
/api/2.26/policies:
get:
tags:
- Policies - Snapshot
summary: Pure Storage GET Policies
description: Display snapshot scheduling policies and their attributes.
parameters:
- $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/Ids'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Workload_ids'
- $ref: '#/components/parameters/Workload_names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyGetResponse'
post:
tags:
- Policies - Snapshot
summary: Pure Storage POST Policies
description: Create a new snapshot scheduling policy with rule attributes to capture file system snapshots for a set period of time and frequency, as well as how long snapshots are retained before being destroyed and eradicated.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Names_required'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyPost'
required: false
x-codegen-request-body-name: policy
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyResponse'
x-codegen-request-body-name: policy
delete:
tags:
- Policies - Snapshot
summary: Pure Storage DELETE Policies
description: Delete one or more snapshot scheduling policies.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content: {}
patch:
tags:
- Policies - Snapshot
summary: Pure Storage PATCH Policies
description: Modify a snapshot scheduling policy's attributes for when and how often snapshots are created and how long they are retained.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Destroy_snapshots'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Names'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SnapshotPolicyPatch'
required: true
x-codegen-request-body-name: policy
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyResponse'
x-codegen-request-body-name: policy
/api/2.26/policies/file-systems:
get:
tags:
- Policies - Snapshot
summary: Pure Storage GET Policies/file-systems
description: 'List file systems mapped to a snapshot scheduling policy.
Note: if more than 150,000 items would be returned in the response, an error will be thrown
and query parameters must be used to limit the items queried.
'
parameters:
- $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/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberContextGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberContextGetResponse'
post:
tags:
- Policies - Snapshot
summary: Pure Storage POST Policies/file-systems
description: Map a file system to a snapshot scheduling policy.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberContextResponse'
delete:
tags:
- Policies - Snapshot
summary: Pure Storage DELETE Policies/file-systems
description: Remove the snapshot scheduling policy mapped to a file system.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content: {}
/api/2.26/policies/file-system-snapshots:
get:
tags:
- Policies - Snapshot
summary: Pure Storage GET Policies/file-system-snapshots
description: 'List file system snapshots mapped to a snapshot scheduling policy.
Note: if more than 150,000 items would be returned in the response, an error will be thrown
and query parameters must be used to limit the items queried.
'
parameters:
- $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/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyFileSystemSnapshotGetResponse'
'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/PolicyFileSystemSnapshotGetResponse'
delete:
tags:
- Policies - Snapshot
summary: Pure Storage DELETE Policies/file-system-snapshots
description: Remove the snapshot scheduling policy mapped to a file system.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
responses:
'200':
description: OK
content: {}
/api/2.26/policies/members:
get:
tags:
- Policies - Snapshot
summary: Pure Storage GET Policies/members
description: 'List snapshot scheduling policies mapped to file systems, snapshots, and file system replica links.
Note: if more than 150,000 items would be returned in the response, an error will be thrown
and query parameters must be used to limit the items queried.
'
parameters:
- $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/Local_file_system_ids'
- $ref: '#/components/parameters/Local_file_system_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Member_names'
- $ref: '#/components/parameters/Member_types'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Remote_file_system_ids'
- $ref: '#/components/parameters/Remote_file_system_names'
- $ref: '#/components/parameters/Remote_ids'
- $ref: '#/components/parameters/Remote_names'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberWithRemoteGetResponse'
'207':
description: 'Partial success. Some resources were returned, but there
were also errors possibly preventing some resources from
being returned.
'
headers:
X-Request-ID:
description: Supplied by client during request or generated by server.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberWithRemoteGetResponse'
/api/2.26/policies/file-system-replica-links:
get:
tags:
- Policies - Snapshot
summary: Pure Storage GET Policies/file-system-replica-links
description: 'List snapshot scheduling policies for file system replica links.
Note: if more than 150,000 items would be returned in the response, an error will be thrown
and query parameters must be used to limit the items queried.
'
parameters:
- $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/Local_file_system_ids'
- $ref: '#/components/parameters/Local_file_system_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Remote_file_system_ids'
- $ref: '#/components/parameters/Remote_file_system_names'
- $ref: '#/components/parameters/Remote_ids'
- $ref: '#/components/parameters/Remote_names'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberWithRemoteGetResponse'
'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/PolicyMemberWithRemoteGetResponse'
post:
tags:
- Policies - Snapshot
summary: Pure Storage POST Policies/file-system-replica-links
description: Add a snapshot scheduling policy to a file system replica link.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Local_file_system_ids'
- $ref: '#/components/parameters/Local_file_system_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Remote_ids'
- $ref: '#/components/parameters/Remote_names'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyMemberWithRemoteResponse'
delete:
tags:
- Policies - Snapshot
summary: Pure Storage DELETE Policies/file-system-replica-links
description: Remove a snapshot scheduling policy mapped to a file system replica link.
parameters:
- $ref: '#/components/parameters/XRequestId'
- $ref: '#/components/parameters/Context_names'
- $ref: '#/components/parameters/Local_file_system_ids'
- $ref: '#/components/parameters/Local_file_system_names'
- $ref: '#/components/parameters/Member_ids'
- $ref: '#/components/parameters/Policy_ids'
- $ref: '#/components/parameters/Policy_names'
- $ref: '#/components/parameters/Remote_ids'
- $ref: '#/components/parameters/Remote_names'
responses:
'200':
description: OK
content: {}
components:
schemas:
_memberLink:
type: object
properties:
local_file_system:
description: Reference to a local file system.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
remote:
description: Reference to a remote array or realm.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
remote_file_system:
description: Reference to a remote file system.
title: FixedReferenceNoResourceType
allOf:
- $ref: '#/components/schemas/_fixedReferenceNoResourceType'
_fixedReferenceNoResourceType:
type: object
properties:
id:
description: 'A non-modifiable, globally unique ID chosen by the system.
'
type: string
readOnly: true
name:
type: string
readOnly: true
x-readOnly: true
PolicyFileSystemSnapshotResponse:
type: object
properties:
items:
description: A list of members for policies.
type: array
items:
$ref: '#/components/schemas/PolicyFileSystemSnapshot'
PolicyMember:
type: object
properties:
member:
description: Reference to the resource the policy is applied to.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
policy:
description: Reference to the policy.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
_errorContextResponseErrors:
type: object
properties:
context:
description: 'Contains information relating to the cause of this error,
or the name of the object that was being processed when the error was encountered.
This may be `null` for more general errors.
'
type: string
location_context:
description: 'Contains information relating to the context in which the request was executing
when the error occurred.
For example, this may be the name of an array in the same fleet.
This may be `null` for more general errors, or if no explicit `context` parameter
was provided with the request.
'
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
message:
description: A description of the error which occurred.
type: string
example: Resource does not exist.
_errorContextResponse:
type: object
properties:
errors:
description: The list of errors encountered when attempting to perform an operation.
type: array
readOnly: true
items:
$ref: '#/components/schemas/_errorContextResponseErrors'
_resourceFixed:
description: 'A resource that can be created, named, 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 cannot be modified.
'
type: string
readOnly: true
_locationReference:
allOf:
- $ref: '#/components/schemas/_reference'
- type: object
properties:
display_name:
description: 'Full name of the source with remote array information.
Response will be same as source name for local file systems and policies.
'
type: string
readOnly: true
example: irp624-c02:fs1
is_local:
description: 'Is the location reference to the local array or somewhere remote?
'
type: boolean
readOnly: true
location:
description: 'A reference to the location where the object is defined.
'
title: Reference
allOf:
- $ref: '#/components/schemas/_reference'
PolicyFileSystemSnapshotGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/PolicyFileSystemSnapshotResponse'
- $ref: '#/components/schemas/_errorContextResponse'
PolicyBase:
allOf:
- $ref: '#/components/schemas/PolicyBaseRenameable'
PolicyMemberContextGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/PolicyMemberContextResponse'
- $ref: '#/components/schemas/_errorContextResponse'
PolicyMemberWithRemote:
allOf:
- $ref: '#/components/schemas/_context'
- $ref: '#/components/schemas/PolicyFileSystemSnapshot'
- type: object
properties:
link:
description: 'Only populated if the `member` is a file system replica link. Contains additional
information about the link.
'
title: MemberLink
allOf:
- $ref: '#/components/schemas/_memberLink'
_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
_reference:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
name:
description: 'The resource name,
such as volume name, pod name, snapshot name, and so on.
'
type: string
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are `hosts`, `host-groups`, `network-interfaces`, `pods`,
`ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`,
`volume-groups`, `directories`, `policies/nfs`, `policies/smb`, and
`policies/snapshot`, etc.
'
type: string
readOnly: true
x-aliases:
- _referenceWithFixedType
PolicyMemberWithRemoteResponse:
allOf:
- $ref: '#/components/schemas/_context'
- type: object
properties:
items:
description: A list of members for policies.
type: array
items:
$ref: '#/components/schemas/PolicyMemberWithRemote'
PolicyGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/PolicyResponse'
- $ref: '#/components/schemas/_errorContextResponse'
_fixedReferenceWithoutType:
type: object
properties:
id:
description: 'A globally unique, system-generated ID.
The ID cannot be modified.
'
type: string
readOnly: true
name:
description: 'The resource name, such as volume name, file system name,
snapshot name, and so on.
'
type: string
readOnly: true
x-readOnly: true
_policy_rule:
description: Rule
type: object
properties:
at:
description: 'Time during the day to take the snapshot (using array time zone),
only valid if ''every'' is in days.
'
type: integer
format: int64
every:
description: How often to take snapshots.
type: integer
format: int64
keep_for:
description: The time to keep the snapshots for.
type: integer
format: int64
time_zone:
description: The time zone to use with the `at` time.
type: string
example: America/Los_Angeles
PolicyMemberWithRemoteGetResponse:
allOf:
- $ref: '#/components/schemas/PageInfo'
- $ref: '#/components/schemas/PolicyMemberWithRemoteResponse'
- $ref: '#/components/schemas/_errorContextResponse'
PolicyMemberContextResponse:
type: object
properties:
items:
description: A list of members for policies.
type: array
items:
$ref: '#/components/schemas/PolicyMemberContext'
PolicyResponse:
type: object
properties:
items:
description: A list of policy objects.
type: array
items:
$ref: '#/components/schemas/Policy'
SnapshotWormDataPolicyBase:
allOf:
- $ref: '#/components/schemas/_resourceFixed'
- $ref: '#/components/schemas/_realmsReference'
- type: object
properties:
enabled:
description: 'If `true`, the policy is enabled. If not specified, defaults to `true`.
'
type: boolean
is_local:
description: Whether the policy is defined on the local array.
type: boolean
readOnly: true
location:
description: Reference to the array where the policy is defined.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
policy_type:
description: 'Type of the policy. Valid values include `snapshot` and `worm-data`.
'
type: string
readOnly: true
_context:
type: object
properties:
context:
description: 'The context in which the operation was performed.
Valid values include a reference to any array which is a member of the same fleet
or to the fleet itself.
Other parameters provided with the request, such as names of volumes or snapshots,
are resolved relative to the provided `context`.
'
readOnly: true
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
PolicyBaseRenameable:
allOf:
- $ref: '#/components/schemas/_resource'
- $ref: '#/components/schemas/_realmsReference'
- type: object
properties:
enabled:
description: 'If `true`, the policy is enabled. If not specified, defaults to `true`.
'
type: boolean
is_local:
description: Whether the policy is defined on the local array.
type: boolean
readOnly: true
location:
description: Reference to the array where the policy is defined.
title: FixedReference
allOf:
- $ref: '#/components/schemas/_fixedReference'
policy_type:
description: 'Type of the policy. Valid values include `alert`, `audit`, `bucket-access`,
`cross-origin-resource-sharing`, `network-access`, `nfs`, `object-access`,
`s3-export`, smb-client`, `smb-share`, `ssh-certificate-authority`, and
`telemetry-metrics`.
'
type: string
readOnly: true
PolicyPost:
allOf:
- $ref: '#/components/schemas/PolicyBase'
- type: object
properties:
retention_lock:
description: 'If retention lock is locked, then the the policy can not be removed
from the associated file systems and the rules may not be changed.
Valid values are `locked` and `unlocked`.
Contact Pure Technical Services to change `locked` to `unlocked`.
'
type: string
readOnly: true
rules:
type: array
items:
$ref: '#/components/schemas/_policy_rule'
Policy:
allOf:
- $ref: '#/components/schemas/PolicyBase'
- $ref: '#/components/schemas/_context'
- type: object
properties:
retention_lock:
description: 'If retention lock is locked, then the the policy can not be removed
from the associated file systems and the rules may not be changed.
Valid values are `locked` and `unlocked`.
Contact Pure Technical Services to change `locked` to `unlocked`.
'
type: string
readOnly: true
rules:
type: array
items:
$ref: '#/components/schemas/_policy_rule'
workload:
$ref: '#/components/schemas/_workloadConfigurationFixedReference'
PolicyMemberContext:
allOf:
- $ref: '#/components/schemas/PolicyMember'
- $ref: '#/components/schemas/_context'
_realmsReference:
type: object
properties:
realms:
description: 'Reference to the realms this resource belongs to.
The value is set to empty array when the resource
lives outside of a realm.
'
type: array
readOnly: true
items:
$ref: '#/components/schemas/_fixedReference'
_fixedReference:
allOf:
- $ref: '#/components/schemas/_fixedReferenceWithoutType'
- type: object
properties:
resource_type:
description: 'Type of the object (full name of the endpoint).
Valid values are the unique part of the resource''s REST endpoint.
For example, a reference to a file system would have a
`resource_type` of `file-systems`.
'
type: string
readOnly: true
SnapshotPolicyPatch:
allOf:
- $ref: '#/components/schemas/SnapshotWormDataPolicyBase'
- type: object
properties:
add_rules:
type: array
items:
$ref: '#/components/schemas/_policy_rule'
remove_rules:
type: array
items:
$ref: '#/components/schemas/_policy_rule'
retention_lock:
description: 'If retention lock is locked, then the the policy can not be removed
from the associated file systems and the rules may not be changed.
Valid values are `locked` and `unlocked`.
Contact Pure Technical Services to change `locked` to `unlocked`.
'
type: string
readOnly: true
rules:
type: array
items:
$ref: '#/components/schemas/_polic
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-policies-snapshot-api-openapi.yml