Pure Storage Policies - Snapshot API

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.

Documentation

Specifications

Code Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-volume-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-host-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-array-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flasharray-rest-api-volume-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-file-system-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-bucket-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flashblade-rest-api-array-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-file-system-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/flashblade-rest-api-bucket-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-metric-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/pure1-cloud-api-alert-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-structure/pure1-cloud-api-array-structure.json

Other Resources

🔗
SDKs
https://pypi.org/project/py-pure-client/
🔗
SDKs
https://github.com/PureStorage-OpenConnect/PureStorage.Pure1
🔗
SDKs
https://github.com/PureStorage-OpenConnect/powershell-toolkit-3
🔗
SDKs
https://github.com/PureStorage-OpenConnect/rest-client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/terraform-provider-flash
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fa-openmetrics-exporter
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flasharray-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-volume-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flasharray-rest-api-array-example.json
🔗
SDKs
https://github.com/PureStorage-OpenConnect/flashblade-powershell
🔗
SDKs
https://github.com/purestorage/purity_fb_python_client
🔗
Integrations
https://github.com/PureStorage-OpenConnect/pure-fb-openmetrics-exporter
🔗
Tools
https://github.com/PureStorage-OpenConnect/flashblade-mcp-server
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-flashblade-rest-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-file-system-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/flashblade-rest-api-bucket-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-ld/pure-storage-pure1-cloud-api-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/examples/pure1-cloud-api-array-example.json

OpenAPI Specification

pure-storage-policies-snapshot-api-openapi.yml Raw ↑
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