openapi: 3.0.3
info:
  title: OpenStack Block Storage API (Cinder)
  version: "3.71"
  description: >
    The Block Storage API provides volume management services for OpenStack
    deployments.

    This specification covers all the major endpoints for managing volumes,
    snapshots, backups,

    volume types, attachments, and related services.


    Note: The project_id parameter is optional in URLs as of v3.67 microversion.
  contact:
    name: OpenStack
    url: https://docs.openstack.org/api-ref/block-storage/v3/
  x-gitbook-description-document:
    object: document
    data:
      schemaVersion: 8
    nodes:
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: >-
                  The Block Storage API provides volume management services for
                  OpenStack deployments. This specification covers all the major
                  endpoints for managing volumes, snapshots, backups, volume
                  types, attachments, and related services.
                marks: []
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: >-
                  Note: The project_id parameter is optional in URLs as of v3.67
                  microversion.
                marks: []
  x-gitbook-description-html: >-
    <p>The Block Storage API provides volume management services for OpenStack
    deployments. This specification covers all the major endpoints for managing
    volumes, snapshots, backups, volume types, attachments, and related
    services.</p><p>Note: The project_id parameter is optional in URLs as of
    v3.67 microversion.</p>
servers:
  - url: https://{host}/cinder
    description: PCD Block Storage API v3
    variables:
      host:
        default: example.platform9.com
        description: The PCD controlplane hostname
        x-gitbook-description-html: <p>The PCD controlplane hostname</p>
    x-gitbook-description-html: <p>PCD Block Storage API v3</p>
paths:
  /v3/extensions:
    get:
      tags:
        - extensions
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Extensions"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List API extensions
      description: Lists Block Storage API extensions
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists Block Storage API extensions
                    marks: []
      x-gitbook-description-html: <p>Lists Block Storage API extensions</p>
  /v3/types:
    get:
      tags:
        - types
      parameters:
        - $ref: "#/components/parameters/IsPublicQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeTypes"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List volume types
      description: Lists volume types
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists volume types
                    marks: []
      x-gitbook-description-html: <p>Lists volume types</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VolumeTypeCreateRequest"
        required: true
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Create volume type
      description: Creates a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a volume type
                    marks: []
      x-gitbook-description-html: <p>Creates a volume type</p>
  /v3/types/default:
    get:
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
        "404":
          $ref: "#/components/responses/NotFound"
        "500":
          $ref: "#/components/responses/InternalServerError"
      summary: Show default volume type
      description: Shows details for the default volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for the default volume type
                    marks: []
      x-gitbook-description-html: <p>Shows details for the default volume type</p>
  /v3/types/{volume_type_id}:
    get:
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volume type details
      description: Shows details for a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a volume type
                    marks: []
      x-gitbook-description-html: <p>Shows details for a volume type</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VolumeTypeUpdateRequest"
        required: true
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update volume type
      description: Updates a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a volume type
                    marks: []
      x-gitbook-description-html: <p>Updates a volume type</p>
    delete:
      tags:
        - types
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete volume type
      description: Deletes a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes a volume type
                    marks: []
      x-gitbook-description-html: <p>Deletes a volume type</p>
    parameters:
      - $ref: "#/components/parameters/VolumeTypeId"
  /v3/types/{volume_type_id}/extra_specs:
    get:
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExtraSpecs"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volume type extra specs
      description: Shows all extra specifications assigned to a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows all extra specifications assigned to a volume type
                    marks: []
      x-gitbook-description-html: <p>Shows all extra specifications assigned to a volume type</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ExtraSpecs"
        required: true
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ExtraSpecs"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Create or update volume type extra specs
      description: Adds new extra specifications to a volume type, or updates existing ones
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Adds new extra specifications to a volume type, or updates
                      existing ones
                    marks: []
      x-gitbook-description-html: >-
        <p>Adds new extra specifications to a volume type, or updates existing
        ones</p>
    parameters:
      - $ref: "#/components/parameters/VolumeTypeId"
  /v3/types/{volume_type_id}/extra_specs/{key}:
    get:
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volume type extra spec
      description: Shows the specific extra specification assigned to a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Shows the specific extra specification assigned to a
                      volume type
                    marks: []
      x-gitbook-description-html: <p>Shows the specific extra specification assigned to a volume type</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update volume type extra spec
      description: Update the specific extra specification assigned to a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Update the specific extra specification assigned to a
                      volume type
                    marks: []
      x-gitbook-description-html: <p>Update the specific extra specification assigned to a volume type</p>
    delete:
      tags:
        - types
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete volume type extra spec
      description: Deletes the specific extra specification assigned to a volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Deletes the specific extra specification assigned to a
                      volume type
                    marks: []
      x-gitbook-description-html: >-
        <p>Deletes the specific extra specification assigned to a volume
        type</p>
    parameters:
      - $ref: "#/components/parameters/VolumeTypeId"
      - $ref: "#/components/parameters/ExtraSpecKey"
  /v3/types/{volume_type}/action:
    post:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/AddProjectAccessRequest"
                - $ref: "#/components/schemas/RemoveProjectAccessRequest"
        required: true
      tags:
        - types
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Add or remove volume type access
      description: Adds or removes private volume type access to/from a project
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Adds or removes private volume type access to/from a
                      project
                    marks: []
      x-gitbook-description-html: <p>Adds or removes private volume type access to/from a project</p>
    parameters:
      - name: volume_type
        description: The UUID for an existing volume type
        schema:
          format: uuid
          type: string
        in: path
        required: true
        x-gitbook-description-html: <p>The UUID for an existing volume type</p>
  /v3/types/{volume_type}/os-volume-type-access:
    get:
      tags:
        - types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeTypeAccess"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List volume type access
      description: Lists project IDs that have access to private volume type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists project IDs that have access to private volume type
                    marks: []
      x-gitbook-description-html: <p>Lists project IDs that have access to private volume type</p>
    parameters:
      - name: volume_type
        description: The UUID for an existing volume type
        schema:
          format: uuid
          type: string
        in: path
        required: true
        x-gitbook-description-html: <p>The UUID for an existing volume type</p>
  /v3/default-types:
    get:
      tags:
        - default-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DefaultTypes"
          description: OK
          x-gitbook-description-html: <p>OK</p>
        "404":
          $ref: "#/components/responses/NotFound"
      summary: List all default volume types
      description: Get a list of all default volume types (microversion 3.62+)
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Get a list of all default volume types (microversion
                      3.62+)
                    marks: []
      x-gitbook-description-html: <p>Get a list of all default volume types (microversion 3.62+)</p>
  /v3/default-types/{project_id}:
    get:
      tags:
        - default-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DefaultTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
        "404":
          $ref: "#/components/responses/NotFound"
      summary: Show default volume type for project
      description: Show the default volume type for a project (microversion 3.62+)
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Show the default volume type for a project (microversion
                      3.62+)
                    marks: []
      x-gitbook-description-html: <p>Show the default volume type for a project (microversion 3.62+)</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DefaultTypeRequest"
        required: true
      tags:
        - default-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DefaultTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
        "400":
          $ref: "#/components/responses/BadRequest"
        "404":
          $ref: "#/components/responses/NotFound"
      summary: Set default volume type for project
      description: >-
        Create or update the default volume type for a project (microversion
        3.62+)
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Create or update the default volume type for a project
                      (microversion 3.62+)
                    marks: []
      x-gitbook-description-html: >-
        <p>Create or update the default volume type for a project (microversion
        3.62+)</p>
    delete:
      tags:
        - default-types
      responses:
        "204":
          description: No Content
          x-gitbook-description-html: <p>No Content</p>
        "404":
          $ref: "#/components/responses/NotFound"
      summary: Unset default volume type for project
      description: Unset the default volume type for a project (microversion 3.62+)
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Unset the default volume type for a project (microversion
                      3.62+)
                    marks: []
      x-gitbook-description-html: <p>Unset the default volume type for a project (microversion 3.62+)</p>
    parameters:
      - name: project_id
        description: The UUID of the project
        schema:
          format: uuid
          type: string
        in: path
        required: true
        x-gitbook-description-html: <p>The UUID of the project</p>
  /v3/volumes:
    get:
      tags:
        - volumes
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/WithCountQuery"
        - $ref: "#/components/parameters/CreatedAtQuery"
        - $ref: "#/components/parameters/UpdatedAtQuery"
        - $ref: "#/components/parameters/ConsumesQuotaQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumesSimple"
          description: OK
          x-gitbook-description-html: <p>OK</p>
        "400":
          $ref: "#/components/responses/BadRequest"
      summary: List volumes
      description: Lists summary information for all Block Storage volumes
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists summary information for all Block Storage volumes
                    marks: []
      x-gitbook-description-html: <p>Lists summary information for all Block Storage volumes</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VolumeCreateRequest"
        required: true
      tags:
        - volumes
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeResponse"
          description: Accepted
          x-gitbook-description-html: <p>Accepted</p>
      summary: Create volume
      description: Creates a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a volume
                    marks: []
      x-gitbook-description-html: <p>Creates a volume</p>
  /v3/volumes/detail:
    get:
      tags:
        - volumes
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/WithCountQuery"
        - $ref: "#/components/parameters/CreatedAtQuery"
        - $ref: "#/components/parameters/UpdatedAtQuery"
        - $ref: "#/components/parameters/ConsumesQuotaQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumesDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
        "400":
          $ref: "#/components/responses/BadRequest"
      summary: List volumes with details
      description: Lists all Block Storage volumes with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all Block Storage volumes with details
                    marks: []
      x-gitbook-description-html: <p>Lists all Block Storage volumes with details</p>
  /v3/volumes/summary:
    get:
      tags:
        - volumes
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumesSummary"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volumes summary
      description: Display volumes summary with total number and size (microversion 3.12+)
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Display volumes summary with total number and size
                      (microversion 3.12+)
                    marks: []
      x-gitbook-description-html: >-
        <p>Display volumes summary with total number and size (microversion
        3.12+)</p>
  /v3/volumes/{volume_id}:
    get:
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volume details
      description: Shows details for a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a volume
                    marks: []
      x-gitbook-description-html: <p>Shows details for a volume</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VolumeUpdateRequest"
        required: true
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VolumeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update volume
      description: Updates a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a volume
                    marks: []
      x-gitbook-description-html: <p>Updates a volume</p>
    delete:
      tags:
        - volumes
      parameters:
        - name: cascade
          description: Remove any snapshots along with the volume
          schema:
            default: false
            type: boolean
          in: query
          x-gitbook-description-html: <p>Remove any snapshots along with the volume</p>
        - name: force
          description: >-
            Force delete even if volume is in deleting or error_deleting state
            (microversion 3.23+)
          schema:
            default: false
            type: boolean
          in: query
          x-gitbook-description-html: >-
            <p>Force delete even if volume is in deleting or error_deleting
            state (microversion 3.23+)</p>
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete volume
      description: Deletes a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes a volume
                    marks: []
      x-gitbook-description-html: <p>Deletes a volume</p>
    parameters:
      - $ref: "#/components/parameters/VolumeId"
  /v3/volumes/{volume_id}/action:
    post:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/ExtendVolumeRequest"
                - $ref: "#/components/schemas/ExtendVolumeCompletionRequest"
                - $ref: "#/components/schemas/ResetStatusRequest"
                - $ref: "#/components/schemas/RevertToSnapshotRequest"
                - $ref: "#/components/schemas/SetImageMetadataRequest"
                - $ref: "#/components/schemas/UnsetImageMetadataRequest"
                - $ref: "#/components/schemas/ShowImageMetadataRequest"
                - $ref: "#/components/schemas/AttachVolumeRequest"
                - $ref: "#/components/schemas/DetachVolumeRequest"
        required: true
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK (for show operations)
          x-gitbook-description-html: <p>OK (for show operations)</p>
        "202":
          $ref: "#/components/responses/Accepted"
        "400":
          $ref: "#/components/responses/BadRequest"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
      summary: Perform volume action
      description: Performs various actions on a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Performs various actions on a volume
                    marks: []
      x-gitbook-description-html: <p>Performs various actions on a volume</p>
    parameters:
      - $ref: "#/components/parameters/VolumeId"
  /v3/volumes/{volume_id}/metadata:
    get:
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Metadata"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volume metadata
      description: Shows metadata for a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows metadata for a volume
                    marks: []
      x-gitbook-description-html: <p>Shows metadata for a volume</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Metadata"
        required: true
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Metadata"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Replace volume metadata
      description: Replaces all the volume's metadata with the provided key-value pairs
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Replaces all the volume's metadata with the provided
                      key-value pairs
                    marks: []
      x-gitbook-description-html: >-
        <p>Replaces all the volume's metadata with the provided key-value
        pairs</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Metadata"
        required: true
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Metadata"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Create or update volume metadata
      description: Creates or replaces metadata for a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates or replaces metadata for a volume
                    marks: []
      x-gitbook-description-html: <p>Creates or replaces metadata for a volume</p>
    parameters:
      - $ref: "#/components/parameters/VolumeId"
  /v3/volumes/{volume_id}/metadata/{key}:
    get:
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetaItem"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show volume metadata item
      description: Shows metadata for a volume for a specific key
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows metadata for a volume for a specific key
                    marks: []
      x-gitbook-description-html: <p>Shows metadata for a volume for a specific key</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MetaItem"
        required: true
      tags:
        - volumes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MetaItem"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update volume metadata item
      description: Update metadata for a volume for a specific key
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Update metadata for a volume for a specific key
                    marks: []
      x-gitbook-description-html: <p>Update metadata for a volume for a specific key</p>
    delete:
      tags:
        - volumes
      responses:
        "200":
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Delete volume metadata item
      description: Deletes metadata for a volume
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes metadata for a volume
                    marks: []
      x-gitbook-description-html: <p>Deletes metadata for a volume</p>
    parameters:
      - $ref: "#/components/parameters/VolumeId"
      - $ref: "#/components/parameters/MetadataKey"
  /v3/snapshots:
    get:
      tags:
        - snapshots
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/WithCountQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SnapshotsSimple"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List snapshots
      description: Lists all Block Storage snapshots
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all Block Storage snapshots
                    marks: []
      x-gitbook-description-html: <p>Lists all Block Storage snapshots</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SnapshotCreateRequest"
        required: true
      tags:
        - snapshots
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SnapshotResponse"
          description: Accepted
          x-gitbook-description-html: <p>Accepted</p>
      summary: Create snapshot
      description: Creates a volume snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a volume snapshot
                    marks: []
      x-gitbook-description-html: <p>Creates a volume snapshot</p>
  /v3/snapshots/detail:
    get:
      tags:
        - snapshots
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/WithCountQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SnapshotsDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List snapshots with details
      description: Lists all Block Storage snapshots with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all Block Storage snapshots with details
                    marks: []
      x-gitbook-description-html: <p>Lists all Block Storage snapshots with details</p>
  /v3/snapshots/{snapshot_id}:
    get:
      tags:
        - snapshots
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SnapshotResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show snapshot details
      description: Shows details for a snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a snapshot
                    marks: []
      x-gitbook-description-html: <p>Shows details for a snapshot</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SnapshotUpdateRequest"
        required: true
      tags:
        - snapshots
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SnapshotResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update snapshot
      description: Updates a snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a snapshot
                    marks: []
      x-gitbook-description-html: <p>Updates a snapshot</p>
    delete:
      tags:
        - snapshots
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete snapshot
      description: Deletes a snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes a snapshot
                    marks: []
      x-gitbook-description-html: <p>Deletes a snapshot</p>
    parameters:
      - $ref: "#/components/parameters/SnapshotId"
  /v3/snapshots/{snapshot_id}/action:
    post:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/ResetSnapshotStatusRequest"
                - $ref: "#/components/schemas/ManageSnapshotRequest"
                - $ref: "#/components/schemas/UnmanageSnapshotRequest"
        required: true
      tags:
        - snapshots
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Perform snapshot action
      description: Performs various actions on a snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Performs various actions on a snapshot
                    marks: []
      x-gitbook-description-html: <p>Performs various actions on a snapshot</p>
    parameters:
      - $ref: "#/components/parameters/SnapshotId"
  /v3/attachments:
    get:
      tags:
        - attachments
      parameters:
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/SortQuery"
        - name: instance_id
          description: Filter by instance ID
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by instance ID</p>
        - name: volume_id
          description: Filter by volume ID
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by volume ID</p>
        - name: status
          description: Filter by attachment status
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by attachment status</p>
        - name: attach_status
          description: Filter by attach status
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by attach status</p>
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Attachments"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List attachments
      description: Lists all volume attachments
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all volume attachments
                    marks: []
      x-gitbook-description-html: <p>Lists all volume attachments</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AttachmentCreateRequest"
        required: true
      tags:
        - attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Create attachment
      description: Creates a volume attachment
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a volume attachment
                    marks: []
      x-gitbook-description-html: <p>Creates a volume attachment</p>
  /v3/attachments/{attachment_id}:
    get:
      tags:
        - attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show attachment details
      description: Shows details for an attachment
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for an attachment
                    marks: []
      x-gitbook-description-html: <p>Shows details for an attachment</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AttachmentUpdateRequest"
        required: true
      tags:
        - attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachmentResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update attachment
      description: Updates an attachment
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates an attachment
                    marks: []
      x-gitbook-description-html: <p>Updates an attachment</p>
    delete:
      tags:
        - attachments
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
                properties:
                  attachment_ids:
                    type: array
                    items:
                      type: string
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Delete attachment
      description: Deletes an attachment
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes an attachment
                    marks: []
      x-gitbook-description-html: <p>Deletes an attachment</p>
    parameters:
      - $ref: "#/components/parameters/AttachmentId"
  /v3/attachments/{attachment_id}/action:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CompleteAttachmentRequest"
        required: true
      tags:
        - attachments
      responses:
        "204":
          description: No Content
          x-gitbook-description-html: <p>No Content</p>
      summary: Complete attachment
      description: Mark a volume attachment process as completed (in-use)
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Mark a volume attachment process as completed (in-use)
                    marks: []
      x-gitbook-description-html: <p>Mark a volume attachment process as completed (in-use)</p>
    parameters:
      - $ref: "#/components/parameters/AttachmentId"
  /v3/os-availability-zone:
    get:
      tags:
        - availability-zones
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AvailabilityZones"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List availability zones
      description: Lists availability zone information
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists availability zone information
                    marks: []
      x-gitbook-description-html: <p>Lists availability zone information</p>
  /v3/scheduler-stats/get_pools:
    get:
      tags:
        - pools
      parameters:
        - name: detail
          description: Show detailed information
          schema:
            default: false
            type: boolean
          in: query
          x-gitbook-description-html: <p>Show detailed information</p>
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StoragePools"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List back-end storage pools
      description: Lists back-end storage pools
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists back-end storage pools
                    marks: []
      x-gitbook-description-html: <p>Lists back-end storage pools</p>
  /v3/backups:
    get:
      tags:
        - backups
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/WithCountQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BackupsSimple"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List backups
      description: Lists all Block Storage backups
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all Block Storage backups
                    marks: []
      x-gitbook-description-html: <p>Lists all Block Storage backups</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BackupCreateRequest"
        required: true
      tags:
        - backups
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BackupResponse"
          description: Accepted
          x-gitbook-description-html: <p>Accepted</p>
      summary: Create backup
      description: Creates a volume backup
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a volume backup
                    marks: []
      x-gitbook-description-html: <p>Creates a volume backup</p>
  /v3/backups/{backup_id}/action:
    post:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/RestoreBackupRequest"
                - $ref: "#/components/schemas/ResetBackupStatusRequest"
                - $ref: "#/components/schemas/ExportBackupRequest"
                - $ref: "#/components/schemas/ImportBackupRequest"
        required: true
      tags:
        - backups
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK (for export operations)
          x-gitbook-description-html: <p>OK (for export operations)</p>
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Perform backup action
      description: Performs various actions on a backup
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Performs various actions on a backup
                    marks: []
      x-gitbook-description-html: <p>Performs various actions on a backup</p>
    parameters:
      - $ref: "#/components/parameters/BackupId"
  /v3/clusters:
    get:
      tags:
        - clusters
      parameters:
        - name: name
          description: Filter by cluster name
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by cluster name</p>
        - name: binary
          description: Filter by binary
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by binary</p>
        - name: disabled
          description: Filter by disabled status
          schema:
            type: boolean
          in: query
          x-gitbook-description-html: <p>Filter by disabled status</p>
        - name: num_hosts
          description: Filter by number of hosts
          schema:
            type: integer
          in: query
          x-gitbook-description-html: <p>Filter by number of hosts</p>
        - name: num_down_hosts
          description: Filter by number of down hosts
          schema:
            type: integer
          in: query
          x-gitbook-description-html: <p>Filter by number of down hosts</p>
        - name: is_up
          description: Filter by up status
          schema:
            type: boolean
          in: query
          x-gitbook-description-html: <p>Filter by up status</p>
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Clusters"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List clusters
      description: Lists all clusters
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all clusters
                    marks: []
      x-gitbook-description-html: <p>Lists all clusters</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ClusterUpdateRequest"
        required: true
      tags:
        - clusters
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update cluster
      description: Updates a cluster
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a cluster
                    marks: []
      x-gitbook-description-html: <p>Updates a cluster</p>
  /v3/clusters/detail:
    get:
      tags:
        - clusters
      parameters:
        - name: name
          description: Filter by cluster name
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by cluster name</p>
        - name: binary
          description: Filter by binary
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by binary</p>
        - name: disabled
          description: Filter by disabled status
          schema:
            type: boolean
          in: query
          x-gitbook-description-html: <p>Filter by disabled status</p>
        - name: num_hosts
          description: Filter by number of hosts
          schema:
            type: integer
          in: query
          x-gitbook-description-html: <p>Filter by number of hosts</p>
        - name: num_down_hosts
          description: Filter by number of down hosts
          schema:
            type: integer
          in: query
          x-gitbook-description-html: <p>Filter by number of down hosts</p>
        - name: is_up
          description: Filter by up status
          schema:
            type: boolean
          in: query
          x-gitbook-description-html: <p>Filter by up status</p>
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClustersDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List clusters with details
      description: Lists all clusters with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all clusters with details
                    marks: []
      x-gitbook-description-html: <p>Lists all clusters with details</p>
  /v3/clusters/{cluster_id}:
    get:
      tags:
        - clusters
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClusterResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show cluster details
      description: Shows details for a cluster
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a cluster
                    marks: []
      x-gitbook-description-html: <p>Shows details for a cluster</p>
    parameters:
      - $ref: "#/components/parameters/ClusterId"
  /v3/os-services:
    get:
      tags:
        - services
      parameters:
        - name: host
          description: Filter by host name
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by host name</p>
        - name: binary
          description: Filter by binary
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by binary</p>
        - name: cluster
          description: Filter by cluster name
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>Filter by cluster name</p>
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Services"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List services
      description: Lists all services
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all services
                    marks: []
      x-gitbook-description-html: <p>Lists all services</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ServiceUpdateRequest"
        required: true
      tags:
        - services
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update service
      description: Updates a service
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a service
                    marks: []
      x-gitbook-description-html: <p>Updates a service</p>
  /v3/groups:
    get:
      tags:
        - groups
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupsSimple"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List groups
      description: Lists all generic volume groups
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all generic volume groups
                    marks: []
      x-gitbook-description-html: <p>Lists all generic volume groups</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupCreateRequest"
        required: true
      tags:
        - groups
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupResponse"
          description: Accepted
          x-gitbook-description-html: <p>Accepted</p>
      summary: Create group
      description: Creates a generic volume group
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a generic volume group
                    marks: []
      x-gitbook-description-html: <p>Creates a generic volume group</p>
  /v3/groups/detail:
    get:
      tags:
        - groups
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupsDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List groups with details
      description: Lists all generic volume groups with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all generic volume groups with details
                    marks: []
      x-gitbook-description-html: <p>Lists all generic volume groups with details</p>
  /v3/groups/{group_id}:
    get:
      tags:
        - groups
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show group details
      description: Shows details for a group
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a group
                    marks: []
      x-gitbook-description-html: <p>Shows details for a group</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupUpdateRequest"
        required: true
      tags:
        - groups
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update group
      description: Updates a group
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a group
                    marks: []
      x-gitbook-description-html: <p>Updates a group</p>
    delete:
      tags:
        - groups
      parameters:
        - name: delete-volumes
          description: Also delete volumes in the group
          schema:
            default: false
            type: boolean
          in: query
          x-gitbook-description-html: <p>Also delete volumes in the group</p>
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete group
      description: Deletes a group
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes a group
                    marks: []
      x-gitbook-description-html: <p>Deletes a group</p>
    parameters:
      - $ref: "#/components/parameters/GroupId"
  /v3/groups/{group_id}/action:
    post:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/CreateGroupSnapshotRequest"
                - $ref: "#/components/schemas/DeleteGroupSnapshotRequest"
                - $ref: "#/components/schemas/ResetGroupStatusRequest"
                - $ref: "#/components/schemas/EnableGroupReplicationRequest"
                - $ref: "#/components/schemas/DisableGroupReplicationRequest"
                - $ref: "#/components/schemas/FailoverGroupReplicationRequest"
                - $ref: "#/components/schemas/ListGroupReplicationTargetsRequest"
        required: true
      tags:
        - groups
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK (for list operations)
          x-gitbook-description-html: <p>OK (for list operations)</p>
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Perform group action
      description: Performs various actions on a group
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Performs various actions on a group
                    marks: []
      x-gitbook-description-html: <p>Performs various actions on a group</p>
    parameters:
      - $ref: "#/components/parameters/GroupId"
  /v3/group_snapshots:
    get:
      tags:
        - group-snapshots
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupSnapshotsSimple"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List group snapshots
      description: Lists all group snapshots
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all group snapshots
                    marks: []
      x-gitbook-description-html: <p>Lists all group snapshots</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupSnapshotCreateRequest"
        required: true
      tags:
        - group-snapshots
      responses:
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupSnapshotResponse"
          description: Accepted
          x-gitbook-description-html: <p>Accepted</p>
      summary: Create group snapshot
      description: Creates a group snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a group snapshot
                    marks: []
      x-gitbook-description-html: <p>Creates a group snapshot</p>
  /v3/group_snapshots/detail:
    get:
      tags:
        - group-snapshots
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupSnapshotsDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List group snapshots with details
      description: Lists all group snapshots with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all group snapshots with details
                    marks: []
      x-gitbook-description-html: <p>Lists all group snapshots with details</p>
  /v3/group_snapshots/{group_snapshot_id}:
    get:
      tags:
        - group-snapshots
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupSnapshotResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show group snapshot details
      description: Shows details for a group snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a group snapshot
                    marks: []
      x-gitbook-description-html: <p>Shows details for a group snapshot</p>
    delete:
      tags:
        - group-snapshots
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete group snapshot
      description: Deletes a group snapshot
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes a group snapshot
                    marks: []
      x-gitbook-description-html: <p>Deletes a group snapshot</p>
    parameters:
      - $ref: "#/components/parameters/GroupSnapshotId"
  /v3/group_types:
    get:
      tags:
        - group-types
      parameters:
        - name: is_public
          description: Filter by public visibility
          schema:
            type: boolean
          in: query
          x-gitbook-description-html: <p>Filter by public visibility</p>
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupTypes"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List group types
      description: Lists all group types
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all group types
                    marks: []
      x-gitbook-description-html: <p>Lists all group types</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupTypeCreateRequest"
        required: true
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Create group type
      description: Creates a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Creates a group type
                    marks: []
      x-gitbook-description-html: <p>Creates a group type</p>
  /v3/group_types/default:
    get:
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show default group type
      description: Shows details for the default group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for the default group type
                    marks: []
      x-gitbook-description-html: <p>Shows details for the default group type</p>
  /v3/group_types/{group_type_id}:
    get:
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show group type details
      description: Shows details for a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a group type
                    marks: []
      x-gitbook-description-html: <p>Shows details for a group type</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupTypeUpdateRequest"
        required: true
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupTypeResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update group type
      description: Updates a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a group type
                    marks: []
      x-gitbook-description-html: <p>Updates a group type</p>
    delete:
      tags:
        - group-types
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete group type
      description: Deletes a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes a group type
                    marks: []
      x-gitbook-description-html: <p>Deletes a group type</p>
    parameters:
      - $ref: "#/components/parameters/GroupTypeId"
  /v3/group_types/{group_type_id}/group_specs:
    get:
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupSpecs"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show group type specs
      description: Shows all group specs assigned to a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows all group specs assigned to a group type
                    marks: []
      x-gitbook-description-html: <p>Shows all group specs assigned to a group type</p>
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupSpecs"
        required: true
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GroupSpecs"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Create or update group type specs
      description: Adds new group specs to a group type, or updates existing ones
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Adds new group specs to a group type, or updates existing
                      ones
                    marks: []
      x-gitbook-description-html: <p>Adds new group specs to a group type, or updates existing ones</p>
    parameters:
      - $ref: "#/components/parameters/GroupTypeId"
  /v3/group_types/{group_type_id}/group_specs/{key}:
    get:
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show group type spec
      description: Shows the specific group spec assigned to a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows the specific group spec assigned to a group type
                    marks: []
      x-gitbook-description-html: <p>Shows the specific group spec assigned to a group type</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      tags:
        - group-types
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update group type spec
      description: Update the specific group spec assigned to a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Update the specific group spec assigned to a group type
                    marks: []
      x-gitbook-description-html: <p>Update the specific group spec assigned to a group type</p>
    delete:
      tags:
        - group-types
      responses:
        "202":
          $ref: "#/components/responses/Accepted"
      summary: Delete group type spec
      description: Deletes the specific group spec assigned to a group type
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deletes the specific group spec assigned to a group type
                    marks: []
      x-gitbook-description-html: <p>Deletes the specific group spec assigned to a group type</p>
    parameters:
      - $ref: "#/components/parameters/GroupTypeId"
      - name: key
        description: The key name of the group spec
        schema:
          type: string
        in: path
        required: true
        x-gitbook-description-html: <p>The key name of the group spec</p>
  /v3/manageable_volumes:
    get:
      tags:
        - manageable-volumes
      parameters:
        - name: host
          description: The host name
          schema:
            type: string
          in: query
          required: true
          x-gitbook-description-html: <p>The host name</p>
        - name: cluster
          description: The cluster name
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>The cluster name</p>
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ManageableVolumes"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List manageable volumes
      description: Lists all manageable volumes
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all manageable volumes
                    marks: []
      x-gitbook-description-html: <p>Lists all manageable volumes</p>
  /v3/manageable_volumes/detail:
    get:
      tags:
        - manageable-volumes
      parameters:
        - name: host
          description: The host name
          schema:
            type: string
          in: query
          required: true
          x-gitbook-description-html: <p>The host name</p>
        - name: cluster
          description: The cluster name
          schema:
            type: string
          in: query
          x-gitbook-description-html: <p>The cluster name</p>
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ManageableVolumesDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List manageable volumes with details
      description: Lists all manageable volumes with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all manageable volumes with details
                    marks: []
      x-gitbook-description-html: <p>Lists all manageable volumes with details</p>
  /v3/backups/detail:
    get:
      tags:
        - backups
      parameters:
        - $ref: "#/components/parameters/AllTenantsQuery"
        - $ref: "#/components/parameters/SortQuery"
        - $ref: "#/components/parameters/SortKeyQuery"
        - $ref: "#/components/parameters/SortDirQuery"
        - $ref: "#/components/parameters/LimitQuery"
        - $ref: "#/components/parameters/OffsetQuery"
        - $ref: "#/components/parameters/MarkerQuery"
        - $ref: "#/components/parameters/WithCountQuery"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BackupsDetail"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: List backups with details
      description: Lists all Block Storage backups with details
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Lists all Block Storage backups with details
                    marks: []
      x-gitbook-description-html: <p>Lists all Block Storage backups with details</p>
  /v3/backups/{backup_id}:
    get:
      tags:
        - backups
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BackupResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Show backup details
      description: Shows details for a backup
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Shows details for a backup
                    marks: []
      x-gitbook-description-html: <p>Shows details for a backup</p>
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BackupUpdateRequest"
        required: true
      tags:
        - backups
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BackupResponse"
          description: OK
          x-gitbook-description-html: <p>OK</p>
      summary: Update backup
      description: Updates a backup
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 8
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Updates a backup
                    marks: []
      x-gitbook-description-html: <p>Updates a backup</p>
    parameters:
      - $ref: "#/components/parameters/BackupId"
components:
  schemas:
    ApiVersions:
      type: object
      properties:
        versions:
          type: array
          items:
            $ref: "#/components/schemas/ApiVersion"
    ApiVersion:
      type: object
      properties:
        id:
          description: A common name for the version
          type: string
          x-gitbook-description-html: <p>A common name for the version</p>
        status:
          enum:
            - CURRENT
            - SUPPORTED
            - DEPRECATED
          type: string
        updated:
          format: date-time
          type: string
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        media-types:
          type: array
          items:
            $ref: "#/components/schemas/MediaType"
        min_version:
          description: The minimum microversion supported
          type: string
          x-gitbook-description-html: <p>The minimum microversion supported</p>
        version:
          description: The maximum microversion supported
          type: string
          x-gitbook-description-html: <p>The maximum microversion supported</p>
    ApiVersionDetails:
      type: object
      properties:
        versions:
          type: array
          items:
            $ref: "#/components/schemas/ApiVersion"
    Link:
      type: object
      properties:
        href:
          format: uri
          type: string
        rel:
          type: string
        type:
          type: string
    MediaType:
      type: object
      properties:
        base:
          type: string
        type:
          type: string
    Extensions:
      type: object
      properties:
        extensions:
          type: array
          items:
            $ref: "#/components/schemas/Extension"
    Extension:
      type: object
      properties:
        alias:
          description: The alias for the extension
          type: string
          x-gitbook-description-html: <p>The alias for the extension</p>
        description:
          description: The extension description
          type: string
          x-gitbook-description-html: <p>The extension description</p>
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        name:
          description: The name of the extension
          type: string
          x-gitbook-description-html: <p>The name of the extension</p>
        updated:
          format: date-time
          type: string
    VolumeTypes:
      type: object
      properties:
        volume_types:
          type: array
          items:
            $ref: "#/components/schemas/VolumeType"
    VolumeType:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the volume type
          type: string
          x-gitbook-description-html: <p>The UUID of the volume type</p>
        name:
          description: The name of the volume type
          type: string
          x-gitbook-description-html: <p>The name of the volume type</p>
        description:
          description: The volume type description
          type: string
          x-gitbook-description-html: <p>The volume type description</p>
        is_public:
          description: Whether the volume type is publicly visible
          type: boolean
          x-gitbook-description-html: <p>Whether the volume type is publicly visible</p>
        os-volume-type-access:is_public:
          description: Whether the volume type is publicly visible
          type: boolean
          x-gitbook-description-html: <p>Whether the volume type is publicly visible</p>
        extra_specs:
          description: Additional specifications for the volume type
          type: object
          additionalProperties:
            type: string
          x-gitbook-description-html: <p>Additional specifications for the volume type</p>
        qos_specs_id:
          nullable: true
          format: uuid
          description: The QoS specifications ID
          type: string
          x-gitbook-description-html: <p>The QoS specifications ID</p>
    VolumesDetail:
      type: object
      properties:
        volumes:
          type: array
          items:
            $ref: "#/components/schemas/Volume"
        volumes_links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        count:
          description: Total count of volumes (microversion 3.45+)
          type: integer
          x-gitbook-description-html: <p>Total count of volumes (microversion 3.45+)</p>
    Volume:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the volume
          type: string
          x-gitbook-description-html: <p>The UUID of the volume</p>
        name:
          nullable: true
          description: The volume name
          type: string
          x-gitbook-description-html: <p>The volume name</p>
        description:
          nullable: true
          description: The volume description
          type: string
          x-gitbook-description-html: <p>The volume description</p>
        size:
          description: The size of the volume, in gibibytes (GiB)
          type: integer
          x-gitbook-description-html: <p>The size of the volume, in gibibytes (GiB)</p>
        status:
          description: The volume status
          type: string
          x-gitbook-description-html: <p>The volume status</p>
        volume_type:
          description: The associated volume type name for the volume
          type: string
          x-gitbook-description-html: <p>The associated volume type name for the volume</p>
        volume_type_id:
          format: uuid
          description: The associated volume type ID for the volume
          type: string
          x-gitbook-description-html: <p>The associated volume type ID for the volume</p>
        availability_zone:
          nullable: true
          description: The name of the availability zone
          type: string
          x-gitbook-description-html: <p>The name of the availability zone</p>
        bootable:
          description: Enables or disables the bootable attribute
          type: string
          x-gitbook-description-html: <p>Enables or disables the bootable attribute</p>
        encrypted:
          description: If true, this volume is encrypted
          type: boolean
          x-gitbook-description-html: <p>If true, this volume is encrypted</p>
        encryption_key_id:
          nullable: true
          format: uuid
          description: The UUID of the encryption key (microversion 3.64+)
          type: string
          x-gitbook-description-html: <p>The UUID of the encryption key (microversion 3.64+)</p>
        multiattach:
          description: If true, this volume can attach to more than one instance
          type: boolean
          x-gitbook-description-html: <p>If true, this volume can attach to more than one instance</p>
        attachments:
          description: Instance attachment information
          type: array
          items:
            $ref: "#/components/schemas/VolumeAttachment"
          x-gitbook-description-html: <p>Instance attachment information</p>
        metadata:
          description: Metadata key and value pairs
          type: object
          additionalProperties:
            type: string
          x-gitbook-description-html: <p>Metadata key and value pairs</p>
        created_at:
          format: date-time
          description: The date and time when the resource was created
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was created</p>
        updated_at:
          nullable: true
          format: date-time
          description: The date and time when the resource was updated
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was updated</p>
        user_id:
          format: uuid
          description: The UUID of the user
          type: string
          x-gitbook-description-html: <p>The UUID of the user</p>
        consistencygroup_id:
          nullable: true
          format: uuid
          description: The UUID of the consistency group
          type: string
          x-gitbook-description-html: <p>The UUID of the consistency group</p>
        group_id:
          nullable: true
          format: uuid
          description: The ID of the group (microversion 3.13+)
          type: string
          x-gitbook-description-html: <p>The ID of the group (microversion 3.13+)</p>
        snapshot_id:
          nullable: true
          format: uuid
          description: The UUID of the source snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the source snapshot</p>
        source_volid:
          nullable: true
          format: uuid
          description: The UUID of the source volume
          type: string
          x-gitbook-description-html: <p>The UUID of the source volume</p>
        replication_status:
          nullable: true
          description: The volume replication status
          type: string
          x-gitbook-description-html: <p>The volume replication status</p>
        migration_status:
          nullable: true
          description: The volume migration status
          type: string
          x-gitbook-description-html: <p>The volume migration status</p>
        os-vol-host-attr:host:
          nullable: true
          description: Current back-end of the volume
          type: string
          x-gitbook-description-html: <p>Current back-end of the volume</p>
        os-vol-tenant-attr:tenant_id:
          format: uuid
          description: The project ID which the volume belongs to
          type: string
          x-gitbook-description-html: <p>The project ID which the volume belongs to</p>
        os-vol-mig-status-attr:migstat:
          nullable: true
          description: The status of this volume migration
          type: string
          x-gitbook-description-html: <p>The status of this volume migration</p>
        os-vol-mig-status-attr:name_id:
          nullable: true
          description: The volume ID that this volume name on the back-end is based on
          type: string
          x-gitbook-description-html: >-
            <p>The volume ID that this volume name on the back-end is based
            on</p>
        volume_image_metadata:
          description: Image metadata entries
          type: object
          additionalProperties:
            type: string
          x-gitbook-description-html: <p>Image metadata entries</p>
        provider_id:
          nullable: true
          description: The provider ID for the volume (microversion 3.21+)
          type: string
          x-gitbook-description-html: <p>The provider ID for the volume (microversion 3.21+)</p>
        service_uuid:
          nullable: true
          format: uuid
          description: Service UUID (microversion 3.48+)
          type: string
          x-gitbook-description-html: <p>Service UUID (microversion 3.48+)</p>
        shared_targets:
          description: Shared targets indicator (microversion 3.48+)
          type: boolean
          x-gitbook-description-html: <p>Shared targets indicator (microversion 3.48+)</p>
        cluster_name:
          nullable: true
          description: The cluster name of volume backend (microversion 3.61+)
          type: string
          x-gitbook-description-html: <p>The cluster name of volume backend (microversion 3.61+)</p>
        consumes_quota:
          description: Whether this resource consumes quota (microversion 3.65+)
          type: boolean
          x-gitbook-description-html: <p>Whether this resource consumes quota (microversion 3.65+)</p>
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
    VolumeAttachment:
      type: object
      properties:
        server_id:
          format: uuid
          description: The UUID of the attached server
          type: string
          x-gitbook-description-html: <p>The UUID of the attached server</p>
        attachment_id:
          format: uuid
          description: The attachment UUID
          type: string
          x-gitbook-description-html: <p>The attachment UUID</p>
        attached_at:
          format: date-time
          description: The date and time when attached
          type: string
          x-gitbook-description-html: <p>The date and time when attached</p>
        host_name:
          nullable: true
          description: The name of the attached host
          type: string
          x-gitbook-description-html: <p>The name of the attached host</p>
        volume_id:
          format: uuid
          description: The volume UUID
          type: string
          x-gitbook-description-html: <p>The volume UUID</p>
        device:
          description: The device path
          type: string
          x-gitbook-description-html: <p>The device path</p>
        id:
          format: uuid
          description: The attachment ID
          type: string
          x-gitbook-description-html: <p>The attachment ID</p>
    VolumeResponse:
      type: object
      properties:
        volume:
          $ref: "#/components/schemas/Volume"
    VolumeCreateRequest:
      type: object
      properties:
        volume:
          required:
            - size
          type: object
          properties:
            size:
              description: The size of the volume, in gibibytes (GiB)
              type: integer
              x-gitbook-description-html: <p>The size of the volume, in gibibytes (GiB)</p>
            name:
              description: The volume name
              type: string
              x-gitbook-description-html: <p>The volume name</p>
            description:
              description: The volume description
              type: string
              x-gitbook-description-html: <p>The volume description</p>
            availability_zone:
              description: The name of the availability zone
              type: string
              x-gitbook-description-html: <p>The name of the availability zone</p>
            volume_type:
              description: The volume type (either name or ID)
              type: string
              x-gitbook-description-html: <p>The volume type (either name or ID)</p>
            source_volid:
              format: uuid
              description: The UUID of the source volume
              type: string
              x-gitbook-description-html: <p>The UUID of the source volume</p>
            snapshot_id:
              format: uuid
              description: The UUID of the source snapshot
              type: string
              x-gitbook-description-html: <p>The UUID of the source snapshot</p>
            backup_id:
              format: uuid
              description: The UUID of the backup (microversion 3.47+)
              type: string
              x-gitbook-description-html: <p>The UUID of the backup (microversion 3.47+)</p>
            imageRef:
              format: uuid
              description: The UUID of the image to create bootable volume
              type: string
              x-gitbook-description-html: <p>The UUID of the image to create bootable volume</p>
            metadata:
              description: Metadata key and value pairs
              type: object
              additionalProperties:
                type: string
              x-gitbook-description-html: <p>Metadata key and value pairs</p>
            consistencygroup_id:
              format: uuid
              description: The UUID of the consistency group
              type: string
              x-gitbook-description-html: <p>The UUID of the consistency group</p>
            multiattach:
              description: Enable multiattach capability
              type: boolean
              x-gitbook-description-html: <p>Enable multiattach capability</p>
        OS-SCH-HNT:scheduler_hints:
          description: Scheduler hints
          type: object
          x-gitbook-description-html: <p>Scheduler hints</p>
    VolumeUpdateRequest:
      type: object
      properties:
        volume:
          type: object
          properties:
            name:
              description: The volume name
              type: string
              x-gitbook-description-html: <p>The volume name</p>
            description:
              description: The volume description
              type: string
              x-gitbook-description-html: <p>The volume description</p>
            metadata:
              description: Metadata key and value pairs
              type: object
              additionalProperties:
                type: string
              x-gitbook-description-html: <p>Metadata key and value pairs</p>
    VolumesSummary:
      type: object
      properties:
        volume-summary:
          type: object
          properties:
            total_size:
              description: Total size of volumes in GB
              type: integer
              x-gitbook-description-html: <p>Total size of volumes in GB</p>
            total_count:
              description: Total number of volumes
              type: integer
              x-gitbook-description-html: <p>Total number of volumes</p>
            metadata:
              description: >-
                Dictionary of lists containing all volumes' metadata
                (microversion 3.36+)
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
              x-gitbook-description-html: >-
                <p>Dictionary of lists containing all volumes' metadata
                (microversion 3.36+)</p>
    Metadata:
      type: object
      properties:
        metadata:
          type: object
          additionalProperties:
            type: string
    MetaItem:
      type: object
      properties:
        meta:
          type: object
          additionalProperties:
            type: string
    ExtendVolumeRequest:
      type: object
      properties:
        os-extend:
          required:
            - new_size
          type: object
          properties:
            new_size:
              description: The new size of the volume, in gibibytes (GiB)
              type: integer
              x-gitbook-description-html: <p>The new size of the volume, in gibibytes (GiB)</p>
    ExtendVolumeCompletionRequest:
      type: object
      properties:
        os-extend_volume_completion:
          type: object
          properties:
            error:
              description: Used to indicate that the extend operation has failed
              type: boolean
              x-gitbook-description-html: <p>Used to indicate that the extend operation has failed</p>
    ResetStatusRequest:
      type: object
      properties:
        os-reset_status:
          required:
            - status
          type: object
          properties:
            status:
              description: The volume status
              type: string
              x-gitbook-description-html: <p>The volume status</p>
            migration_status:
              description: The volume migration status
              type: string
              x-gitbook-description-html: <p>The volume migration status</p>
            attach_status:
              description: The volume attach status
              type: string
              x-gitbook-description-html: <p>The volume attach status</p>
    RevertToSnapshotRequest:
      type: object
      properties:
        revert:
          required:
            - snapshot_id
          type: object
          properties:
            snapshot_id:
              format: uuid
              description: The UUID of the snapshot
              type: string
              x-gitbook-description-html: <p>The UUID of the snapshot</p>
    SetImageMetadataRequest:
      type: object
      properties:
        os-set_image_metadata:
          required:
            - metadata
          type: object
          properties:
            metadata:
              description: Image metadata key and value pairs
              type: object
              additionalProperties:
                type: string
              x-gitbook-description-html: <p>Image metadata key and value pairs</p>
    UnsetImageMetadataRequest:
      type: object
      properties:
        os-unset_image_metadata:
          required:
            - key
          type: object
          properties:
            key:
              description: The metadata key name to remove
              type: string
              x-gitbook-description-html: <p>The metadata key name to remove</p>
    ShowImageMetadataRequest:
      type: object
      properties:
        os-show_image_metadata:
          type: object
    AttachVolumeRequest:
      type: object
      properties:
        os-attach:
          required:
            - mountpoint
          type: object
          properties:
            instance_uuid:
              format: uuid
              description: The UUID of the attaching instance
              type: string
              x-gitbook-description-html: <p>The UUID of the attaching instance</p>
            host_name:
              description: The name of the attaching host
              type: string
              x-gitbook-description-html: <p>The name of the attaching host</p>
            mountpoint:
              description: The attaching mount point
              type: string
              x-gitbook-description-html: <p>The attaching mount point</p>
    DetachVolumeRequest:
      type: object
      properties:
        os-detach:
          type: object
    SnapshotsSimple:
      type: object
      properties:
        snapshots:
          type: array
          items:
            $ref: "#/components/schemas/SnapshotSimple"
        snapshots_links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        count:
          description: Total count of snapshots (microversion 3.45+)
          type: integer
          x-gitbook-description-html: <p>Total count of snapshots (microversion 3.45+)</p>
    SnapshotSimple:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the snapshot</p>
        name:
          nullable: true
          description: The snapshot name
          type: string
          x-gitbook-description-html: <p>The snapshot name</p>
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
    SnapshotsDetail:
      type: object
      properties:
        snapshots:
          type: array
          items:
            $ref: "#/components/schemas/Snapshot"
        snapshots_links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        count:
          description: Total count of snapshots (microversion 3.45+)
          type: integer
          x-gitbook-description-html: <p>Total count of snapshots (microversion 3.45+)</p>
    Snapshot:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the snapshot</p>
        name:
          nullable: true
          description: The snapshot name
          type: string
          x-gitbook-description-html: <p>The snapshot name</p>
        description:
          nullable: true
          description: The snapshot description
          type: string
          x-gitbook-description-html: <p>The snapshot description</p>
        size:
          description: The size of the snapshot, in gibibytes (GiB)
          type: integer
          x-gitbook-description-html: <p>The size of the snapshot, in gibibytes (GiB)</p>
        status:
          description: The snapshot status
          type: string
          x-gitbook-description-html: <p>The snapshot status</p>
        volume_id:
          format: uuid
          description: The UUID of the source volume
          type: string
          x-gitbook-description-html: <p>The UUID of the source volume</p>
        metadata:
          description: Metadata key and value pairs
          type: object
          additionalProperties:
            type: string
          x-gitbook-description-html: <p>Metadata key and value pairs</p>
        created_at:
          format: date-time
          description: The date and time when the resource was created
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was created</p>
        updated_at:
          nullable: true
          format: date-time
          description: The date and time when the resource was updated
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was updated</p>
        user_id:
          format: uuid
          description: The UUID of the user
          type: string
          x-gitbook-description-html: <p>The UUID of the user</p>
        os-extended-snapshot-attributes:project_id:
          format: uuid
          description: The project ID
          type: string
          x-gitbook-description-html: <p>The project ID</p>
        os-extended-snapshot-attributes:progress:
          description: The snapshot progress
          type: string
          x-gitbook-description-html: <p>The snapshot progress</p>
        group_snapshot_id:
          nullable: true
          format: uuid
          description: The UUID of the group snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the group snapshot</p>
        consumes_quota:
          description: Whether this resource consumes quota (microversion 3.65+)
          type: boolean
          x-gitbook-description-html: <p>Whether this resource consumes quota (microversion 3.65+)</p>
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
    SnapshotResponse:
      type: object
      properties:
        snapshot:
          $ref: "#/components/schemas/Snapshot"
    SnapshotCreateRequest:
      type: object
      properties:
        snapshot:
          required:
            - volume_id
          type: object
          properties:
            volume_id:
              format: uuid
              description: The UUID of the source volume
              type: string
              x-gitbook-description-html: <p>The UUID of the source volume</p>
            name:
              description: The snapshot name
              type: string
              x-gitbook-description-html: <p>The snapshot name</p>
            description:
              description: The snapshot description
              type: string
              x-gitbook-description-html: <p>The snapshot description</p>
            force:
              description: Create snapshot even if volume is in-use
              type: boolean
              x-gitbook-description-html: <p>Create snapshot even if volume is in-use</p>
            metadata:
              description: Metadata key and value pairs
              type: object
              additionalProperties:
                type: string
              x-gitbook-description-html: <p>Metadata key and value pairs</p>
    SnapshotUpdateRequest:
      type: object
      properties:
        snapshot:
          type: object
          properties:
            name:
              description: The snapshot name
              type: string
              x-gitbook-description-html: <p>The snapshot name</p>
            description:
              description: The snapshot description
              type: string
              x-gitbook-description-html: <p>The snapshot description</p>
    ResetSnapshotStatusRequest:
      type: object
      properties:
        os-reset_status:
          required:
            - status
          type: object
          properties:
            status:
              description: The snapshot status
              type: string
              x-gitbook-description-html: <p>The snapshot status</p>
    ManageSnapshotRequest:
      type: object
      properties:
        snapshot:
          required:
            - volume_id
          type: object
          properties:
            volume_id:
              format: uuid
              description: The UUID of the volume
              type: string
              x-gitbook-description-html: <p>The UUID of the volume</p>
            ref:
              description: Driver-specific reference object
              type: object
              x-gitbook-description-html: <p>Driver-specific reference object</p>
    UnmanageSnapshotRequest:
      type: object
      properties:
        os-unmanage:
          type: object
    Attachments:
      type: object
      properties:
        attachments:
          type: array
          items:
            $ref: "#/components/schemas/Attachment"
    Attachment:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the attachment
          type: string
          x-gitbook-description-html: <p>The UUID of the attachment</p>
        volume_id:
          format: uuid
          description: The UUID of the volume
          type: string
          x-gitbook-description-html: <p>The UUID of the volume</p>
        instance:
          nullable: true
          format: uuid
          description: The UUID of the instance
          type: string
          x-gitbook-description-html: <p>The UUID of the instance</p>
        status:
          description: The attachment status
          type: string
          x-gitbook-description-html: <p>The attachment status</p>
        attach_mode:
          description: The attachment mode
          type: string
          x-gitbook-description-html: <p>The attachment mode</p>
        attached_at:
          nullable: true
          format: date-time
          description: The date and time when attached
          type: string
          x-gitbook-description-html: <p>The date and time when attached</p>
        detached_at:
          nullable: true
          format: date-time
          description: The date and time when detached
          type: string
          x-gitbook-description-html: <p>The date and time when detached</p>
        connector:
          nullable: true
          description: Connector information
          type: object
          x-gitbook-description-html: <p>Connector information</p>
        connection_info:
          nullable: true
          description: Connection information
          type: object
          x-gitbook-description-html: <p>Connection information</p>
    AttachmentResponse:
      type: object
      properties:
        attachment:
          $ref: "#/components/schemas/Attachment"
    AttachmentCreateRequest:
      type: object
      properties:
        attachment:
          required:
            - volume_uuid
          type: object
          properties:
            volume_uuid:
              format: uuid
              description: The UUID of the volume
              type: string
              x-gitbook-description-html: <p>The UUID of the volume</p>
            instance_uuid:
              format: uuid
              description: The UUID of the instance
              type: string
              x-gitbook-description-html: <p>The UUID of the instance</p>
            connector:
              description: Connector information
              type: object
              x-gitbook-description-html: <p>Connector information</p>
            mode:
              description: Attachment mode (microversion 3.54+)
              enum:
                - rw
                - ro
              type: string
              x-gitbook-description-html: <p>Attachment mode (microversion 3.54+)</p>
    AttachmentUpdateRequest:
      type: object
      properties:
        attachment:
          type: object
          properties:
            connector:
              description: Connector information
              type: object
              x-gitbook-description-html: <p>Connector information</p>
    CompleteAttachmentRequest:
      type: object
      properties:
        os-complete:
          type: object
    AvailabilityZones:
      type: object
      properties:
        availabilityZoneInfo:
          type: array
          items:
            $ref: "#/components/schemas/AvailabilityZone"
    AvailabilityZone:
      type: object
      properties:
        zoneName:
          description: The availability zone name
          type: string
          x-gitbook-description-html: <p>The availability zone name</p>
        zoneState:
          type: object
          properties:
            available:
              description: Whether the zone is available
              type: boolean
              x-gitbook-description-html: <p>Whether the zone is available</p>
    StoragePools:
      type: object
      properties:
        pools:
          type: array
          items:
            $ref: "#/components/schemas/StoragePool"
    StoragePool:
      type: object
      properties:
        name:
          description: The pool name
          type: string
          x-gitbook-description-html: <p>The pool name</p>
        capabilities:
          description: Pool capabilities
          type: object
          x-gitbook-description-html: <p>Pool capabilities</p>
        total_capacity_gb:
          description: Total capacity in GB
          type: number
          x-gitbook-description-html: <p>Total capacity in GB</p>
        free_capacity_gb:
          description: Free capacity in GB
          type: number
          x-gitbook-description-html: <p>Free capacity in GB</p>
        allocated_capacity_gb:
          description: Allocated capacity in GB
          type: number
          x-gitbook-description-html: <p>Allocated capacity in GB</p>
        QoS_support:
          description: Whether QoS is supported
          type: boolean
          x-gitbook-description-html: <p>Whether QoS is supported</p>
        reserved_percentage:
          description: Reserved percentage
          type: integer
          x-gitbook-description-html: <p>Reserved percentage</p>
        driver_version:
          description: Driver version
          type: string
          x-gitbook-description-html: <p>Driver version</p>
        storage_protocol:
          description: Storage protocol
          type: string
          x-gitbook-description-html: <p>Storage protocol</p>
        vendor_name:
          description: Vendor name
          type: string
          x-gitbook-description-html: <p>Vendor name</p>
        volume_backend_name:
          description: Volume backend name
          type: string
          x-gitbook-description-html: <p>Volume backend name</p>
        location_info:
          description: Location information
          type: string
          x-gitbook-description-html: <p>Location information</p>
    BackupsSimple:
      type: object
      properties:
        backups:
          type: array
          items:
            $ref: "#/components/schemas/BackupSimple"
        backups_links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        count:
          description: Total count of backups (microversion 3.45+)
          type: integer
          x-gitbook-description-html: <p>Total count of backups (microversion 3.45+)</p>
    BackupSimple:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the backup
          type: string
          x-gitbook-description-html: <p>The UUID of the backup</p>
        name:
          nullable: true
          description: The backup name
          type: string
          x-gitbook-description-html: <p>The backup name</p>
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
    BackupsDetail:
      type: object
      properties:
        backups:
          type: array
          items:
            $ref: "#/components/schemas/Backup"
        backups_links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        count:
          description: Total count of backups (microversion 3.45+)
          type: integer
          x-gitbook-description-html: <p>Total count of backups (microversion 3.45+)</p>
    Backup:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the backup
          type: string
          x-gitbook-description-html: <p>The UUID of the backup</p>
        name:
          nullable: true
          description: The backup name
          type: string
          x-gitbook-description-html: <p>The backup name</p>
        description:
          nullable: true
          description: The backup description
          type: string
          x-gitbook-description-html: <p>The backup description</p>
        volume_id:
          format: uuid
          description: The UUID of the source volume
          type: string
          x-gitbook-description-html: <p>The UUID of the source volume</p>
        snapshot_id:
          nullable: true
          format: uuid
          description: The UUID of the source snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the source snapshot</p>
        status:
          description: The backup status
          type: string
          x-gitbook-description-html: <p>The backup status</p>
        size:
          description: The size of the backup, in gibibytes (GiB)
          type: integer
          x-gitbook-description-html: <p>The size of the backup, in gibibytes (GiB)</p>
        object_count:
          description: Number of objects in the backup
          type: integer
          x-gitbook-description-html: <p>Number of objects in the backup</p>
        container:
          nullable: true
          description: Backup container
          type: string
          x-gitbook-description-html: <p>Backup container</p>
        availability_zone:
          nullable: true
          description: The availability zone of the backup
          type: string
          x-gitbook-description-html: <p>The availability zone of the backup</p>
        created_at:
          format: date-time
          description: The date and time when the resource was created
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was created</p>
        updated_at:
          nullable: true
          format: date-time
          description: The date and time when the resource was updated
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was updated</p>
        data_timestamp:
          format: date-time
          description: The data timestamp
          type: string
          x-gitbook-description-html: <p>The data timestamp</p>
        has_dependent_backups:
          description: Whether the backup has dependent backups
          type: boolean
          x-gitbook-description-html: <p>Whether the backup has dependent backups</p>
        is_incremental:
          description: Whether the backup is incremental
          type: boolean
          x-gitbook-description-html: <p>Whether the backup is incremental</p>
        user_id:
          format: uuid
          description: The UUID of the user
          type: string
          x-gitbook-description-html: <p>The UUID of the user</p>
        project_id:
          format: uuid
          description: The UUID of the project
          type: string
          x-gitbook-description-html: <p>The UUID of the project</p>
        encryption_key_id:
          nullable: true
          format: uuid
          description: The UUID of the encryption key (microversion 3.64+)
          type: string
          x-gitbook-description-html: <p>The UUID of the encryption key (microversion 3.64+)</p>
        links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
    BackupResponse:
      type: object
      properties:
        backup:
          $ref: "#/components/schemas/Backup"
    BackupCreateRequest:
      type: object
      properties:
        backup:
          required:
            - volume_id
          type: object
          properties:
            volume_id:
              format: uuid
              description: The UUID of the source volume
              type: string
              x-gitbook-description-html: <p>The UUID of the source volume</p>
            name:
              description: The backup name
              type: string
              x-gitbook-description-html: <p>The backup name</p>
            description:
              description: The backup description
              type: string
              x-gitbook-description-html: <p>The backup description</p>
            container:
              description: Backup container
              type: string
              x-gitbook-description-html: <p>Backup container</p>
            incremental:
              description: Create incremental backup
              type: boolean
              x-gitbook-description-html: <p>Create incremental backup</p>
            force:
              description: Create backup even if volume is in-use
              type: boolean
              x-gitbook-description-html: <p>Create backup even if volume is in-use</p>
            snapshot_id:
              format: uuid
              description: The UUID of the source snapshot
              type: string
              x-gitbook-description-html: <p>The UUID of the source snapshot</p>
            availability_zone:
              description: The availability zone for the backup
              type: string
              x-gitbook-description-html: <p>The availability zone for the backup</p>
    BackupUpdateRequest:
      type: object
      properties:
        backup:
          type: object
          properties:
            name:
              description: The backup name
              type: string
              x-gitbook-description-html: <p>The backup name</p>
            description:
              description: The backup description
              type: string
              x-gitbook-description-html: <p>The backup description</p>
    RestoreBackupRequest:
      type: object
      properties:
        restore:
          type: object
          properties:
            volume_id:
              format: uuid
              description: The UUID of the target volume
              type: string
              x-gitbook-description-html: <p>The UUID of the target volume</p>
            name:
              description: Name for new volume if creating
              type: string
              x-gitbook-description-html: <p>Name for new volume if creating</p>
    ResetBackupStatusRequest:
      type: object
      properties:
        os-reset_status:
          required:
            - status
          type: object
          properties:
            status:
              description: The backup status
              type: string
              x-gitbook-description-html: <p>The backup status</p>
    ExportBackupRequest:
      type: object
      properties:
        backup-export:
          type: object
    ImportBackupRequest:
      type: object
      properties:
        backup-import:
          required:
            - backup_service
            - backup_url
          type: object
          properties:
            backup_service:
              description: Backup service name
              type: string
              x-gitbook-description-html: <p>Backup service name</p>
            backup_url:
              description: Backup URL
              type: string
              x-gitbook-description-html: <p>Backup URL</p>
    Clusters:
      type: object
      properties:
        clusters:
          type: array
          items:
            $ref: "#/components/schemas/ClusterSimple"
    ClustersDetail:
      type: object
      properties:
        clusters:
          type: array
          items:
            $ref: "#/components/schemas/Cluster"
    ClusterSimple:
      type: object
      properties:
        name:
          description: The cluster name
          type: string
          x-gitbook-description-html: <p>The cluster name</p>
        binary:
          description: The binary name
          type: string
          x-gitbook-description-html: <p>The binary name</p>
        state:
          description: The cluster state
          type: string
          x-gitbook-description-html: <p>The cluster state</p>
        status:
          description: The cluster status
          type: string
          x-gitbook-description-html: <p>The cluster status</p>
    Cluster:
      type: object
      properties:
        name:
          description: The cluster name
          type: string
          x-gitbook-description-html: <p>The cluster name</p>
        binary:
          description: The binary name
          type: string
          x-gitbook-description-html: <p>The binary name</p>
        state:
          description: The cluster state
          type: string
          x-gitbook-description-html: <p>The cluster state</p>
        status:
          description: The cluster status
          type: string
          x-gitbook-description-html: <p>The cluster status</p>
        num_hosts:
          description: Number of hosts in the cluster
          type: integer
          x-gitbook-description-html: <p>Number of hosts in the cluster</p>
        num_down_hosts:
          description: Number of down hosts in the cluster
          type: integer
          x-gitbook-description-html: <p>Number of down hosts in the cluster</p>
        last_heartbeat:
          nullable: true
          format: date-time
          description: Last heartbeat timestamp
          type: string
          x-gitbook-description-html: <p>Last heartbeat timestamp</p>
        disabled_reason:
          nullable: true
          description: Reason for disabling cluster
          type: string
          x-gitbook-description-html: <p>Reason for disabling cluster</p>
        created_at:
          format: date-time
          description: The date and time when the resource was created
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was created</p>
        updated_at:
          nullable: true
          format: date-time
          description: The date and time when the resource was updated
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was updated</p>
    ClusterResponse:
      type: object
      properties:
        cluster:
          $ref: "#/components/schemas/Cluster"
    ClusterUpdateRequest:
      type: object
      properties:
        cluster:
          type: object
          properties:
            disabled:
              description: Whether to disable the cluster
              type: boolean
              x-gitbook-description-html: <p>Whether to disable the cluster</p>
            disabled_reason:
              description: Reason for disabling
              type: string
              x-gitbook-description-html: <p>Reason for disabling</p>
    Services:
      type: object
      properties:
        services:
          type: array
          items:
            $ref: "#/components/schemas/Service"
    Service:
      type: object
      properties:
        binary:
          description: The service binary name
          type: string
          x-gitbook-description-html: <p>The service binary name</p>
        host:
          description: The host name
          type: string
          x-gitbook-description-html: <p>The host name</p>
        zone:
          description: The availability zone
          type: string
          x-gitbook-description-html: <p>The availability zone</p>
        status:
          description: The service status
          type: string
          x-gitbook-description-html: <p>The service status</p>
        state:
          description: The service state
          type: string
          x-gitbook-description-html: <p>The service state</p>
        updated_at:
          nullable: true
          format: date-time
          description: The date and time when the resource was updated
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was updated</p>
        disabled_reason:
          nullable: true
          description: Reason for disabling service
          type: string
          x-gitbook-description-html: <p>Reason for disabling service</p>
        cluster:
          nullable: true
          description: The cluster name
          type: string
          x-gitbook-description-html: <p>The cluster name</p>
        frozen:
          description: Whether the service is frozen
          type: boolean
          x-gitbook-description-html: <p>Whether the service is frozen</p>
        replication_status:
          nullable: true
          description: Replication status
          type: string
          x-gitbook-description-html: <p>Replication status</p>
        active_backend_id:
          nullable: true
          description: Active backend ID
          type: string
          x-gitbook-description-html: <p>Active backend ID</p>
    ServiceResponse:
      type: object
      properties:
        service:
          $ref: "#/components/schemas/Service"
    ServiceUpdateRequest:
      type: object
      properties:
        body:
          type: object
          properties:
            disabled:
              description: Whether to disable the service
              type: boolean
              x-gitbook-description-html: <p>Whether to disable the service</p>
            disabled_reason:
              description: Reason for disabling
              type: string
              x-gitbook-description-html: <p>Reason for disabling</p>
    GroupsSimple:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: "#/components/schemas/GroupSimple"
    GroupSimple:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the group
          type: string
          x-gitbook-description-html: <p>The UUID of the group</p>
        name:
          nullable: true
          description: The group name
          type: string
          x-gitbook-description-html: <p>The group name</p>
    GroupsDetail:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: "#/components/schemas/Group"
    Group:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the group
          type: string
          x-gitbook-description-html: <p>The UUID of the group</p>
        name:
          nullable: true
          description: The group name
          type: string
          x-gitbook-description-html: <p>The group name</p>
        description:
          nullable: true
          description: The group description
          type: string
          x-gitbook-description-html: <p>The group description</p>
        status:
          description: The group status
          type: string
          x-gitbook-description-html: <p>The group status</p>
        availability_zone:
          nullable: true
          description: The availability zone
          type: string
          x-gitbook-description-html: <p>The availability zone</p>
        group_type:
          description: The group type
          type: string
          x-gitbook-description-html: <p>The group type</p>
        group_snapshot_id:
          nullable: true
          format: uuid
          description: The UUID of the source group snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the source group snapshot</p>
        source_group_id:
          nullable: true
          format: uuid
          description: The UUID of the source group
          type: string
          x-gitbook-description-html: <p>The UUID of the source group</p>
        volume_types:
          description: List of volume type IDs
          type: array
          items:
            type: string
          x-gitbook-description-html: <p>List of volume type IDs</p>
        volumes:
          description: List of volume UUIDs
          type: array
          items:
            format: uuid
            type: string
          x-gitbook-description-html: <p>List of volume UUIDs</p>
        created_at:
          format: date-time
          description: The date and time when the resource was created
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was created</p>
        user_id:
          format: uuid
          description: The UUID of the user
          type: string
          x-gitbook-description-html: <p>The UUID of the user</p>
        project_id:
          format: uuid
          description: The UUID of the project
          type: string
          x-gitbook-description-html: <p>The UUID of the project</p>
    GroupResponse:
      type: object
      properties:
        group:
          $ref: "#/components/schemas/Group"
    GroupCreateRequest:
      type: object
      properties:
        group:
          required:
            - group_type
            - volume_types
          type: object
          properties:
            name:
              description: The group name
              type: string
              x-gitbook-description-html: <p>The group name</p>
            description:
              description: The group description
              type: string
              x-gitbook-description-html: <p>The group description</p>
            group_type:
              description: The group type
              type: string
              x-gitbook-description-html: <p>The group type</p>
            volume_types:
              description: List of volume type names or IDs
              type: array
              items:
                type: string
              x-gitbook-description-html: <p>List of volume type names or IDs</p>
            availability_zone:
              description: The availability zone
              type: string
              x-gitbook-description-html: <p>The availability zone</p>
    GroupUpdateRequest:
      type: object
      properties:
        group:
          type: object
          properties:
            name:
              description: The group name
              type: string
              x-gitbook-description-html: <p>The group name</p>
            description:
              description: The group description
              type: string
              x-gitbook-description-html: <p>The group description</p>
            add_volumes:
              description: Comma-separated list of volume UUIDs to add
              type: string
              x-gitbook-description-html: <p>Comma-separated list of volume UUIDs to add</p>
            remove_volumes:
              description: Comma-separated list of volume UUIDs to remove
              type: string
              x-gitbook-description-html: <p>Comma-separated list of volume UUIDs to remove</p>
    CreateGroupSnapshotRequest:
      type: object
      properties:
        create-group-snapshot:
          type: object
          properties:
            name:
              description: The group snapshot name
              type: string
              x-gitbook-description-html: <p>The group snapshot name</p>
            description:
              description: The group snapshot description
              type: string
              x-gitbook-description-html: <p>The group snapshot description</p>
    DeleteGroupSnapshotRequest:
      type: object
      properties:
        delete-group-snapshot:
          required:
            - group_snapshot
          type: object
          properties:
            group_snapshot:
              format: uuid
              description: The UUID of the group snapshot
              type: string
              x-gitbook-description-html: <p>The UUID of the group snapshot</p>
    ResetGroupStatusRequest:
      type: object
      properties:
        reset_status:
          required:
            - status
          type: object
          properties:
            status:
              description: The group status
              type: string
              x-gitbook-description-html: <p>The group status</p>
    EnableGroupReplicationRequest:
      type: object
      properties:
        enable_replication:
          type: object
    DisableGroupReplicationRequest:
      type: object
      properties:
        disable_replication:
          type: object
    FailoverGroupReplicationRequest:
      type: object
      properties:
        failover_replication:
          type: object
          properties:
            allow_attached_volume:
              description: Allow attached volumes to be failed over
              type: boolean
              x-gitbook-description-html: <p>Allow attached volumes to be failed over</p>
            secondary_backend_id:
              description: Secondary backend ID
              type: string
              x-gitbook-description-html: <p>Secondary backend ID</p>
    ListGroupReplicationTargetsRequest:
      type: object
      properties:
        list_replication_targets:
          type: object
    GroupSnapshotsSimple:
      type: object
      properties:
        group_snapshots:
          type: array
          items:
            $ref: "#/components/schemas/GroupSnapshotSimple"
    GroupSnapshotSimple:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the group snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the group snapshot</p>
        name:
          nullable: true
          description: The group snapshot name
          type: string
          x-gitbook-description-html: <p>The group snapshot name</p>
    GroupSnapshotsDetail:
      type: object
      properties:
        group_snapshots:
          type: array
          items:
            $ref: "#/components/schemas/GroupSnapshot"
    GroupSnapshot:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the group snapshot
          type: string
          x-gitbook-description-html: <p>The UUID of the group snapshot</p>
        name:
          nullable: true
          description: The group snapshot name
          type: string
          x-gitbook-description-html: <p>The group snapshot name</p>
        description:
          nullable: true
          description: The group snapshot description
          type: string
          x-gitbook-description-html: <p>The group snapshot description</p>
        status:
          description: The group snapshot status
          type: string
          x-gitbook-description-html: <p>The group snapshot status</p>
        group_id:
          format: uuid
          description: The UUID of the source group
          type: string
          x-gitbook-description-html: <p>The UUID of the source group</p>
        group_type_id:
          format: uuid
          description: The UUID of the group type
          type: string
          x-gitbook-description-html: <p>The UUID of the group type</p>
        created_at:
          format: date-time
          description: The date and time when the resource was created
          type: string
          x-gitbook-description-html: <p>The date and time when the resource was created</p>
        user_id:
          format: uuid
          description: The UUID of the user
          type: string
          x-gitbook-description-html: <p>The UUID of the user</p>
        project_id:
          format: uuid
          description: The UUID of the project
          type: string
          x-gitbook-description-html: <p>The UUID of the project</p>
    GroupSnapshotResponse:
      type: object
      properties:
        group_snapshot:
          $ref: "#/components/schemas/GroupSnapshot"
    GroupSnapshotCreateRequest:
      type: object
      properties:
        group_snapshot:
          required:
            - group_id
          type: object
          properties:
            group_id:
              format: uuid
              description: The UUID of the source group
              type: string
              x-gitbook-description-html: <p>The UUID of the source group</p>
            name:
              description: The group snapshot name
              type: string
              x-gitbook-description-html: <p>The group snapshot name</p>
            description:
              description: The group snapshot description
              type: string
              x-gitbook-description-html: <p>The group snapshot description</p>
    GroupTypes:
      type: object
      properties:
        group_types:
          type: array
          items:
            $ref: "#/components/schemas/GroupType"
    GroupType:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the group type
          type: string
          x-gitbook-description-html: <p>The UUID of the group type</p>
        name:
          description: The name of the group type
          type: string
          x-gitbook-description-html: <p>The name of the group type</p>
        description:
          nullable: true
          description: The group type description
          type: string
          x-gitbook-description-html: <p>The group type description</p>
        is_public:
          description: Whether the group type is publicly visible
          type: boolean
          x-gitbook-description-html: <p>Whether the group type is publicly visible</p>
        group_specs:
          description: Group specifications
          type: object
          additionalProperties:
            type: string
          x-gitbook-description-html: <p>Group specifications</p>
    GroupTypeResponse:
      type: object
      properties:
        group_type:
          $ref: "#/components/schemas/GroupType"
    GroupTypeCreateRequest:
      type: object
      properties:
        group_type:
          required:
            - name
          type: object
          properties:
            name:
              description: The name of the group type
              type: string
              x-gitbook-description-html: <p>The name of the group type</p>
            description:
              description: The group type description
              type: string
              x-gitbook-description-html: <p>The group type description</p>
            is_public:
              description: Whether the group type is publicly visible
              type: boolean
              x-gitbook-description-html: <p>Whether the group type is publicly visible</p>
            group_specs:
              description: Group specifications
              type: object
              additionalProperties:
                type: string
              x-gitbook-description-html: <p>Group specifications</p>
    GroupTypeUpdateRequest:
      type: object
      properties:
        group_type:
          type: object
          properties:
            name:
              description: The name of the group type
              type: string
              x-gitbook-description-html: <p>The name of the group type</p>
            description:
              description: The group type description
              type: string
              x-gitbook-description-html: <p>The group type description</p>
            is_public:
              description: Whether the group type is publicly visible
              type: boolean
              x-gitbook-description-html: <p>Whether the group type is publicly visible</p>
    GroupSpecs:
      type: object
      properties:
        group_specs:
          type: object
          additionalProperties:
            type: string
    ManageableVolumes:
      type: object
      properties:
        manageable-volumes:
          type: array
          items:
            $ref: "#/components/schemas/ManageableVolumeSimple"
    ManageableVolumeSimple:
      type: object
      properties:
        reference:
          description: Driver-specific reference object
          type: object
          x-gitbook-description-html: <p>Driver-specific reference object</p>
        size:
          description: Size of the volume in GB
          type: integer
          x-gitbook-description-html: <p>Size of the volume in GB</p>
        safe_to_manage:
          description: Whether the volume is safe to manage
          type: boolean
          x-gitbook-description-html: <p>Whether the volume is safe to manage</p>
        reason_not_safe:
          nullable: true
          description: Reason why volume is not safe to manage
          type: string
          x-gitbook-description-html: <p>Reason why volume is not safe to manage</p>
        cinder_id:
          nullable: true
          format: uuid
          description: Cinder volume UUID if already managed
          type: string
          x-gitbook-description-html: <p>Cinder volume UUID if already managed</p>
        extra_info:
          nullable: true
          description: Additional information
          type: string
          x-gitbook-description-html: <p>Additional information</p>
    ManageableVolumesDetail:
      type: object
      properties:
        manageable-volumes:
          type: array
          items:
            $ref: "#/components/schemas/ManageableVolume"
    ManageableVolume:
      type: object
      properties:
        reference:
          description: Driver-specific reference object
          type: object
          x-gitbook-description-html: <p>Driver-specific reference object</p>
        size:
          description: Size of the volume in GB
          type: integer
          x-gitbook-description-html: <p>Size of the volume in GB</p>
        safe_to_manage:
          description: Whether the volume is safe to manage
          type: boolean
          x-gitbook-description-html: <p>Whether the volume is safe to manage</p>
        reason_not_safe:
          nullable: true
          description: Reason why volume is not safe to manage
          type: string
          x-gitbook-description-html: <p>Reason why volume is not safe to manage</p>
        cinder_id:
          nullable: true
          format: uuid
          description: Cinder volume UUID if already managed
          type: string
          x-gitbook-description-html: <p>Cinder volume UUID if already managed</p>
        extra_info:
          nullable: true
          description: Additional information
          type: string
          x-gitbook-description-html: <p>Additional information</p>
    VolumeTypeResponse:
      type: object
      properties:
        volume_type:
          $ref: "#/components/schemas/VolumeType"
    VolumeTypeCreateRequest:
      type: object
      properties:
        volume_type:
          required:
            - name
          type: object
          properties:
            name:
              description: The name of the volume type
              type: string
              x-gitbook-description-html: <p>The name of the volume type</p>
            description:
              description: The volume type description
              type: string
              x-gitbook-description-html: <p>The volume type description</p>
            os-volume-type-access:is_public:
              description: Whether the volume type is publicly visible
              type: boolean
              x-gitbook-description-html: <p>Whether the volume type is publicly visible</p>
            extra_specs:
              description: Additional specifications for the volume type
              type: object
              additionalProperties:
                type: string
              x-gitbook-description-html: <p>Additional specifications for the volume type</p>
    VolumeTypeUpdateRequest:
      type: object
      properties:
        volume_type:
          type: object
          properties:
            name:
              description: The name of the volume type
              type: string
              x-gitbook-description-html: <p>The name of the volume type</p>
            description:
              description: The volume type description
              type: string
              x-gitbook-description-html: <p>The volume type description</p>
            is_public:
              description: Whether the volume type is publicly visible
              type: boolean
              x-gitbook-description-html: <p>Whether the volume type is publicly visible</p>
    ExtraSpecs:
      type: object
      properties:
        extra_specs:
          type: object
          additionalProperties:
            type: string
    VolumeTypeAccess:
      type: object
      properties:
        volume_type_access:
          type: array
          items:
            type: object
            properties:
              project_id:
                format: uuid
                description: The UUID of the project
                type: string
                x-gitbook-description-html: <p>The UUID of the project</p>
              volume_type_id:
                format: uuid
                description: The UUID of the volume type
                type: string
                x-gitbook-description-html: <p>The UUID of the volume type</p>
    AddProjectAccessRequest:
      type: object
      properties:
        addProjectAccess:
          required:
            - project
          type: object
          properties:
            project:
              description: The ID of the project
              type: string
              x-gitbook-description-html: <p>The ID of the project</p>
    RemoveProjectAccessRequest:
      type: object
      properties:
        removeProjectAccess:
          required:
            - project
          type: object
          properties:
            project:
              description: The ID of the project
              type: string
              x-gitbook-description-html: <p>The ID of the project</p>
    DefaultTypes:
      type: object
      properties:
        default_types:
          type: array
          items:
            $ref: "#/components/schemas/DefaultType"
    DefaultType:
      type: object
      properties:
        project_id:
          format: uuid
          description: The UUID of the project
          type: string
          x-gitbook-description-html: <p>The UUID of the project</p>
        volume_type_id:
          format: uuid
          description: The UUID of the volume type
          type: string
          x-gitbook-description-html: <p>The UUID of the volume type</p>
    DefaultTypeResponse:
      type: object
      properties:
        default_type:
          $ref: "#/components/schemas/DefaultType"
    DefaultTypeRequest:
      type: object
      properties:
        default_type:
          required:
            - volume_type
          type: object
          properties:
            volume_type:
              description: The name or UUID for an existing volume type
              type: string
              x-gitbook-description-html: <p>The name or UUID for an existing volume type</p>
    VolumesSimple:
      type: object
      properties:
        volumes:
          type: array
          items:
            $ref: "#/components/schemas/VolumeSimple"
        volumes_links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        count:
          description: Total count of volumes (microversion 3.45+)
          type: integer
          x-gitbook-description-html: <p>Total count of volumes (microversion 3.45+)</p>
    VolumeSimple:
      type: object
      properties:
        id:
          format: uuid
          description: The UUID of the volume
          type: string
          x-gitbook-description-html: <p>The UUID of the volume</p>
        name:
          type: string
  responses:
    Accepted:
      description: Request is accepted, but processing may take some time
      x-gitbook-description-html: <p>Request is accepted, but processing may take some time</p>
    BadRequest:
      description: Some content in the request was invalid
      x-gitbook-description-html: <p>Some content in the request was invalid</p>
    Unauthorized:
      description: User must authenticate before making a request
      x-gitbook-description-html: <p>User must authenticate before making a request</p>
    Forbidden:
      description: Policy does not allow current user to do this operation
      x-gitbook-description-html: <p>Policy does not allow current user to do this operation</p>
    NotFound:
      description: The requested resource could not be found
      x-gitbook-description-html: <p>The requested resource could not be found</p>
    Conflict:
      description: >-
        This resource has an action in progress that would conflict with this
        request
      x-gitbook-description-html: >-
        <p>This resource has an action in progress that would conflict with this
        request</p>
    InternalServerError:
      description: >-
        Something went wrong with the service which prevents it from fulfilling
        the request
      x-gitbook-description-html: >-
        <p>Something went wrong with the service which prevents it from
        fulfilling the request</p>
  parameters:
    VolumeTypeId:
      name: volume_type_id
      description: The UUID for an existing volume type
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID for an existing volume type</p>
    VolumeId:
      name: volume_id
      description: The UUID of the volume
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the volume</p>
    SnapshotId:
      name: snapshot_id
      description: The UUID of the snapshot
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the snapshot</p>
    AttachmentId:
      name: attachment_id
      description: The UUID of the attachment
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the attachment</p>
    BackupId:
      name: backup_id
      description: The UUID of the backup
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the backup</p>
    ClusterId:
      name: cluster_id
      description: The UUID of the cluster
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the cluster</p>
    GroupId:
      name: group_id
      description: The UUID of the group
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the group</p>
    GroupSnapshotId:
      name: group_snapshot_id
      description: The UUID of the group snapshot
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the group snapshot</p>
    GroupTypeId:
      name: group_type_id
      description: The UUID of the group type
      schema:
        format: uuid
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The UUID of the group type</p>
    ExtraSpecKey:
      name: key
      description: The key name of the extra spec for a volume type
      schema:
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The key name of the extra spec for a volume type</p>
    MetadataKey:
      name: key
      description: The metadata key name
      schema:
        type: string
      in: path
      required: true
      x-gitbook-description-html: <p>The metadata key name</p>
    IsPublicQuery:
      name: is_public
      description: Filter the volume type by public visibility
      schema:
        type: boolean
      in: query
      x-gitbook-description-html: <p>Filter the volume type by public visibility</p>
    AllTenantsQuery:
      name: all_tenants
      description: Shows details for all project. Admin only.
      schema:
        type: string
      in: query
      x-gitbook-description-html: <p>Shows details for all project. Admin only.</p>
    SortQuery:
      name: sort
      description: Comma-separated list of sort keys and optional sort directions
      schema:
        type: string
      in: query
      x-gitbook-description-html: <p>Comma-separated list of sort keys and optional sort directions</p>
    SortKeyQuery:
      name: sort_key
      description: Sorts by an attribute
      schema:
        type: string
      in: query
      x-gitbook-description-html: <p>Sorts by an attribute</p>
    SortDirQuery:
      name: sort_dir
      description: Sorts by direction (asc or desc)
      schema:
        enum:
          - asc
          - desc
        type: string
      in: query
      x-gitbook-description-html: <p>Sorts by direction (asc or desc)</p>
    LimitQuery:
      name: limit
      description: Requests a page size of items
      schema:
        minimum: 1
        type: integer
      in: query
      x-gitbook-description-html: <p>Requests a page size of items</p>
    OffsetQuery:
      name: offset
      description: >-
        Used in conjunction with limit to return items starting from the offset
        position
      schema:
        minimum: 0
        type: integer
      in: query
      x-gitbook-description-html: >-
        <p>Used in conjunction with limit to return items starting from the
        offset position</p>
    MarkerQuery:
      name: marker
      description: The ID of the last-seen item
      schema:
        type: string
      in: query
      x-gitbook-description-html: <p>The ID of the last-seen item</p>
    WithCountQuery:
      name: with_count
      description: Whether to show count in response (microversion 3.45+)
      schema:
        type: boolean
      in: query
      x-gitbook-description-html: <p>Whether to show count in response (microversion 3.45+)</p>
    CreatedAtQuery:
      name: created_at
      description: Filters results by creation time with comparison operators
      schema:
        type: string
      in: query
      x-gitbook-description-html: <p>Filters results by creation time with comparison operators</p>
    UpdatedAtQuery:
      name: updated_at
      description: Filters results by update time with comparison operators
      schema:
        type: string
      in: query
      x-gitbook-description-html: <p>Filters results by update time with comparison operators</p>
    ConsumesQuotaQuery:
      name: consumes_quota
      description: Filters results by whether resource consumes quota (microversion 3.65+)
      schema:
        type: boolean
      in: query
      x-gitbook-description-html: >-
        <p>Filters results by whether resource consumes quota (microversion
        3.65+)</p>
  securitySchemes:
    pcdAuth:
      name: X-Auth-Token
      type: apiKey
      in: header
      description: PCD Identity Service token authentication
      x-gitbook-description-html: <p>PCD Identity Service token authentication</p>
security:
  - pcdAuth: []
tags:
  - name: versions
    description: API version information
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: API version information
                  marks: []
    x-gitbook-description-html: <p>API version information</p>
  - name: extensions
    description: API extensions management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: API extensions management
                  marks: []
    x-gitbook-description-html: <p>API extensions management</p>
  - name: types
    description: Volume type management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume type management
                  marks: []
    x-gitbook-description-html: <p>Volume type management</p>
  - name: default-types
    description: Default volume type management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Default volume type management
                  marks: []
    x-gitbook-description-html: <p>Default volume type management</p>
  - name: volumes
    description: Volume management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume management
                  marks: []
    x-gitbook-description-html: <p>Volume management</p>
  - name: snapshots
    description: Volume snapshot management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume snapshot management
                  marks: []
    x-gitbook-description-html: <p>Volume snapshot management</p>
  - name: transfers
    description: Volume transfer operations
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume transfer operations
                  marks: []
    x-gitbook-description-html: <p>Volume transfer operations</p>
  - name: attachments
    description: Volume attachment management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume attachment management
                  marks: []
    x-gitbook-description-html: <p>Volume attachment management</p>
  - name: availability-zones
    description: Availability zone information
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Availability zone information
                  marks: []
    x-gitbook-description-html: <p>Availability zone information</p>
  - name: pools
    description: Back-end storage pool information
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Back-end storage pool information
                  marks: []
    x-gitbook-description-html: <p>Back-end storage pool information</p>
  - name: backups
    description: Volume backup management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume backup management
                  marks: []
    x-gitbook-description-html: <p>Volume backup management</p>
  - name: clusters
    description: Cluster management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Cluster management
                  marks: []
    x-gitbook-description-html: <p>Cluster management</p>
  - name: services
    description: Service management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Service management
                  marks: []
    x-gitbook-description-html: <p>Service management</p>
  - name: groups
    description: Generic volume group management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Generic volume group management
                  marks: []
    x-gitbook-description-html: <p>Generic volume group management</p>
  - name: group-snapshots
    description: Group snapshot management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Group snapshot management
                  marks: []
    x-gitbook-description-html: <p>Group snapshot management</p>
  - name: group-types
    description: Group type management
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Group type management
                  marks: []
    x-gitbook-description-html: <p>Group type management</p>
  - name: manageable-volumes
    description: Volume manage extension
    x-gitbook-description-document:
      object: document
      data:
        schemaVersion: 8
      nodes:
        - object: block
          type: paragraph
          isVoid: false
          data: {}
          nodes:
            - object: text
              leaves:
                - object: leaf
                  text: Volume manage extension
                  marks: []
    x-gitbook-description-html: <p>Volume manage extension</p>
