Pure Storage Volume Groups API

Volume groups organize volumes into logical groupings. If virtual volumes are configured, each volume group on the FlashArray array represents its associated virtual machine, and inside each of those volumes groups are the FlashArray volumes that are assigned to the virtual machine. Volume groups that are associated with virtual machines have names that begin with `vvol-` and end with the virtual machine name.

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-volume-groups-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: FlashArray REST Active Directory Volume Groups 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 Groups
  description: 'Volume groups organize volumes into logical groupings. If virtual volumes are configured, each

    volume group on the FlashArray array represents its associated virtual machine, and inside each

    of those volumes groups are the FlashArray volumes that are assigned to the virtual machine.

    Volume groups that are associated with virtual machines have names that begin with `vvol-` and

    end with the virtual machine name.

    '
paths:
  /api/2.52/volume-groups:
    get:
      tags:
      - Volume Groups
      summary: Pure Storage List Volume Groups
      description: 'Displays a list of volume groups, 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/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGroupGetResponse'
        '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/VolumeGroupGetResponse'
    post:
      tags:
      - Volume Groups
      summary: Pure Storage Create a Volume Group and Upsert Tags.
      description: 'Creates a volume group. The volume group itself does not contain any meaningful

        content; instead, it acts as a container that is used to organize volumes.

        Once a volume group has been created, volumes can be created inside the volume group or moved

        into and out of the volume group.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeGroupPost'
        required: true
        x-codegen-request-body-name: volume-group
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGroupResponse'
      x-codegen-request-body-name: volume-group
    delete:
      tags:
      - Volume Groups
      summary: Pure Storage Delete a Volume Group
      description: 'Deletes a volume group that has been destroyed and is pending eradication.

        Eradicated volume groups cannot be recovered.

        Volume groups are destroyed through 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/Eradicate_contents'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      responses:
        '200':
          description: OK
          content: {}
    patch:
      tags:
      - Volume Groups
      summary: Pure Storage Modify a Volume Group
      description: 'Modifies a volume group. You can rename, destroy, recover, or set QoS limits for a volume group.

        To rename a volume group, set `name` to the new name.

        To destroy a volume group, set `destroyed=true`.

        To recover a volume group that has been destroyed and is pending eradication, set

        `destroyed=false`.

        Sets the bandwidth and IOPS limits of a volume group through the respective `bandwidth_limit`

        and `iops_limit` parameter. The `ids` or `names` parameter is required, but they cannot be set

        together.

        Sets the priority adjustment for a volume group using the `priority_adjustment_operator` and

        `priority_adjustment_value` fields.

        '
      parameters:
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/XRequestId'
      - $ref: '#/components/parameters/Context_names'
      - $ref: '#/components/parameters/Destroy_contents'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Names'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeGroupPatch'
        required: true
        x-codegen-request-body-name: volume-group
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGroupResponse'
      x-codegen-request-body-name: volume-group
  /api/2.52/volume-groups/performance:
    get:
      tags:
      - Volume Groups
      summary: Pure Storage List Volume Group Performance Data
      description: 'Displays real-time and historical performance data, real-time latency data, and average I/O

        sizes for each volume group and and as a total of all volume groups across the entire array.

        '
      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/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcePerformanceGetResponse'
        '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/ResourcePerformanceGetResponse'
  /api/2.52/volume-groups/qos:
    get:
      tags:
      - Volume Groups
      summary: Pure Storage List Volume Group QoS Config
      description: 'Displays real-time and historical QoS configuration data for each volume group.

        '
      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/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeGroupQosGetResponse'
        '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/VolumeGroupQosGetResponse'
  /api/2.52/volume-groups/space:
    get:
      tags:
      - Volume Groups
      summary: Pure Storage List Volume Group Space Information
      description: 'Displays the provisioned size and physical storage consumption data

        for each volume group.

        '
      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/History_end_time'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Ids'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/History_resolution'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/History_start_time'
      - $ref: '#/components/parameters/Total_item_count'
      - $ref: '#/components/parameters/Total_only'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceSpaceGetResponse'
        '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/ResourceSpaceGetResponse'
  /api/2.52/volume-groups/volumes:
    get:
      tags:
      - Volume Groups
      summary: Pure Storage List Volume Groups with Volumes
      description: Displays a list of volume groups that contain volumes.
      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/Group_ids'
      - $ref: '#/components/parameters/Group_names'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Member_ids'
      - $ref: '#/components/parameters/Member_names'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Total_item_count'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberGetResponse'
        '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/MemberGetResponse'
  /api/2.52/volume-groups/tags:
    get:
      tags:
      - Volume Groups
      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 Groups
      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-groups/tags/batch:
    put:
      tags:
      - Volume Groups
      summary: Pure Storage Update Tags
      description: Updates tags for all specified objects.
      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, if one already exists, updated.
        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
components:
  schemas:
    TagGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/TagResponse'
      - $ref: '#/components/schemas/_errorContextResponse'
    _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'
    MemberResponse:
      type: object
      properties:
        items:
          description: 'Displays a list of all items after filtering.

            The values are displayed for each name where meaningful.

            If `total_only=true`, the `items` list will be empty.

            '
          type: array
          items:
            $ref: '#/components/schemas/Member'
    Member:
      allOf:
      - $ref: '#/components/schemas/_context'
      - type: object
        properties:
          group:
            $ref: '#/components/schemas/_reference'
          member:
            $ref: '#/components/schemas/_reference'
    VolumeGroupGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/VolumeGroupResponse'
      - $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/VolumeGroup'
    _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
      x-aliases:
      - _referenceWithoutType
    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
    _containerQosCeilings:
      type: object
      properties:
        bandwidth_limit:
          description: 'The maximum QoS bandwidth limit for the container.

            Whenever throughput exceeds the bandwidth limit, throttling occurs.

            Measured in bytes per second. Maximum limit is 512 GB/s.

            '
          title: Qos_bw_limit_type
          allOf:
          - $ref: '#/components/schemas/_qos_bw_limit_type'
        iops_limit:
          description: 'The QoS IOPs limit for the container.

            '
          title: Qos_iops_limit_type
          allOf:
          - $ref: '#/components/schemas/_qos_iops_limit_type'
    _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: FixedReferenceWithType
          allOf:
          - $ref: '#/components/schemas/_fixedReferenceWithType'
        message:
          description: A description of the error which occurred.
          type: string
          example: Resource does not exist.
      x-aliases:
      - _errorContextResponseErrors
    TagResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    ResourcePerformanceGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/_errorContextResponse'
      - type: object
        properties:
          items:
            description: 'Performance data.

              If `total_only=true`, the `items` list will be empty.

              '
            type: array
            items:
              $ref: '#/components/schemas/ResourcePerformance'
          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/ResourcePerformance'
    _qos_bw_limit_type:
      type: integer
      format: int64
      minimum: 1048576
      maximum: 549755813888
    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
    _performance_others:
      type: object
      properties:
        mirrored_others_per_sec:
          description: The number of mirrored other requests processed per second.
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        others_per_sec:
          description: The number of other requests processed per second.
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        usec_per_mirrored_other_op:
          description: 'The average time it takes the array to process a mirrored I/O other request, measured in

            microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
        usec_per_other_op:
          description: 'The average time it takes the array to process an I/O other request, measured in

            microseconds.

            '
          type: integer
          format: int64
          minimum: 0
          readOnly: true
      x-readOnly: true
    QosMetricsCeilings:
      allOf:
      - $ref: '#/components/schemas/_builtIn'
      - $ref: '#/components/schemas/_containerQosCeilings'
      - $ref: '#/components/schemas/_context'
      - type: object
        properties:
          time:
            description: 'The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch.

              '
            type: integer
            format: int64
            readOnly: true
        x-readOnly: true
    _fixedReferenceWithType:
      allOf:
      - $ref: '#/components/schemas/_fixedReference'
      - 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
      x-aliases:
      - _fixedReference
    VolumeGroup:
      allOf:
      - $ref: '#/components/schemas/_context'
      - $ref: '#/components/schemas/_resource'
      - description: 'Volume groups organize FlashArray volumes into logical groupings.

          '
        type: object
        properties:
          destroyed:
            description: 'Returns a value of `true` if the volume group has been destroyed and is pending eradication.

              Before the `time_remaining` period has elapsed, the destroyed volume group can be recovered

              by setting `destroyed=false`.

              After the `time_remaining` period has elapsed, the volume group is permanently eradicated

              and cannot be recovered.

              '
            type: boolean
          pod:
            description: 'A reference to the pod.

              '
            title: Reference
            allOf:
            - $ref: '#/components/schemas/_reference'
          priority_adjustment:
            $ref: '#/components/schemas/_priorityAdjustment'
          qos:
            $ref: '#/components/schemas/_qos'
          space:
            title: Space
            allOf:
            - $ref: '#/components/schemas/_space'
          time_remaining:
            description: 'The amount of time left until the destroyed volume group is permanently eradicated, measured

              in milliseconds.

              '
            type: integer
            format: int64
            readOnly: true
          volume_count:
            description: The number of volumes in the volume group.
            type: integer
            format: int64
            readOnly: true
            example: 3
          workload:
            $ref: '#/components/schemas/_workloadConfigurationFixedReference'
    VolumeGroupPatch:
      allOf:
      - $ref: '#/components/schemas/_resource'
      - description: 'Volume groups organize FlashArray volumes into logical groupings.

          '
        type: object
        properties:
          destroyed:
            description: 'Returns a value of `true` if the volume group has been destroyed and is pending eradication.

              Before the `time_remaining` period has elapsed, the destroyed volume group can be recovered

              by setting `destroyed=false`.

              After the `time_remaining` period has elapsed, the volume group is permanently eradicated

              and cannot be recovered.

              '
            type: boolean
          priority_adjustment:
            $ref: '#/components/schemas/_priorityAdjustment'
          qos:
            $ref: '#/components/schemas/_qos_patch'
          space:
            title: Space
            allOf:
            - $ref: '#/components/schemas/_space'
    VolumeGroupPost:
      allOf:
      - $ref: '#/components/schemas/_builtIn'
      - $ref: '#/components/schemas/_resource'
      - description: 'Volume groups organize FlashArray volumes into logical groupings.

          '
        type: object
        properties:
          destroyed:
            description: 'If set to `true`, destroys a volume group.

              If set to `false`, recovers a destroyed volume group. If not specified, defaults to `false`.

              '
            type: boolean
            readOnly: true
          priority_adjustment:
            $ref: '#/components/schemas/_priorityAdjustment'
          qos:
            $ref: '#/components/schemas/_qos'
          space:
            title: Space
            allOf:
            - $ref: '#/components/schemas/_space'
          tags:
            description: 'The list of tags to be upserted with the object.

              '
            type: array
            items:
              $ref: '#/components/schemas/Tag'
          time_remaining:
            description: 'The amount of time left until the destroyed volume group is permanently eradicated,

              measured in milliseconds.

              '
            type: integer
            format: int64
            readOnly: true
          volume_count:
            description: 'The number of volumes in the volume group.

              '
            type: integer
            format: int64
            readOnly: true
            example: 3
    MemberGetResponse:
      allOf:
      - $ref: '#/components/schemas/PageInfo'
      - $ref: '#/components/schemas/MemberResponse'
      - $ref: '#/components/schemas/_errorContextResponse'
    _builtIn:
      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).

        '
      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 locally unique, system-generated name. The name cannot be modified.

            '
          type: string
          readOnly: true
    _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
          mi

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/openapi/pure-storage-volume-groups-api-openapi.yml