openapi: 3.1.0
info:
  description: Data Services API
  license:
    name: HPE End User License Agreement
    url: https://www.hpe.com/us/en/software/licensing.html
  title: Data Services API
  version: 1.3.0
servers:
  - url: https://us-west.api.greenlake.hpe.com
  - url: https://eu-west.api.greenlake.hpe.com
  - url: https://eu-central.api.greenlake.hpe.com
  - url: https://ap-northeast.api.greenlake.hpe.com
security:
  - bearer: []
tags:
  - description: Async Operations API
    name: async-operations
  - description: Dual Authorization API
    name: dual-auth-operations
  - description: Issues API
    name: issues
  - description: Secret Assignment Management APIs
    name: secret-assignments
  - description: Secret Management APIs
    name: secrets
  - description: Settings API
    name: settings
  - description: Software Releases
    name: software-releases
  - description: storage-locations API.
    name: storage-locations
  - description: Tags APIs
    name: tags
paths:
  /data-services/v1beta1/async-operations:
    get:
      description: >
        Returns a list of async-operations that are visible to the user. The
        response can

        be paged by using the limit and offset query parameters and filtered and

        sorted by using the filter and sort query parameters.
      operationId: ListAsyncOperations
      parameters:
        - description: |
            The offset query parameter should be used in conjunction with limit
            for paging, e.g.: offset=30&&limit=10. The offset is the number of
            items from the beginning of the result set to the first item
            included in the response.
          example: 30
          in: query
          name: offset
          schema:
            type: integer
        - description: |
            The limit query parameter should be used in conjunction with offset
            for paging, e.g.: offset=30&&limit=10. The limit is the maximum
            number of items to include in the response.
          example: 10
          in: query
          name: limit
          schema:
            default: 100
            maximum: 1000
            type: integer
        - description: The expression to filter responses.
          example: parent/id eq '73c161c4-4d56-4f31-8dc2-06400a5b36d4'
          in: query
          name: filter
          schema:
            type: string
        - description: >
            A comma separated list of properties to sort by, followed by a
            direction 

            indicator ("asc" or "desc"). If no direction indicator is specified
            the 

            default order is ascending.
          example: id desc,name asc
          in: query
          name: sort
          schema:
            type: string
        - description: A list of properties to include in the response.
          example: id,name
          in: query
          name: select
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationList'
          description: Async Operations list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsBadRequest'
          description: An invalid request was received.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsUnauthenticated'
          description: The request did not provide valid authentication.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsForbidden'
          description: The requesting user was not permitted to access this resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsInternalServerError'
          description: An internal error occurred.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsServiceUnavailable'
          description: Service unavailable.
      summary: Returns a list of async-operations accessible by the user
      tags:
        - async-operations
  /data-services/v1beta1/async-operations/{id}:
    get:
      description: Returns the async-operation with the given id.
      operationId: GetAsyncOperation
      parameters:
        - description: The UUID of the object
          example: c1a0eb78-41a0-4151-93b2-f057ffeca3f3
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - description: A list of properties to include in the response.
          example: id,name
          in: query
          name: select
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
          description: Single Async Operation
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsBadRequest'
          description: An invalid request was received.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsUnauthenticated'
          description: The request did not provide valid authentication.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsForbidden'
          description: The requesting user was not permitted to access this resource.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsNotFound'
          description: A async-operation with the provided ID was not found.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsInternalServerError'
          description: An internal error occurred.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationsServiceUnavailable'
          description: Service unavailable.
      summary: Returns details of a specific async-operation
      tags:
        - async-operations
  /data-services/v1beta1/dual-auth-operations:
    get:
      description: >
        Returns the list of Dual Authorization operations for the current
        account. The list will include only the resource types (Application
        Resource) the user has read permission for. The user must have
        permission to read pending operations.
      operationId: DualAuthOperationsList
      parameters:
        - description: >-
            Use offset in conjunction with limit for paging. The offset is the
            number of items from the beginning of the result set to the first
            item included in the response.
          in: query
          name: offset
          schema:
            type: integer
        - description: >-
            Use limit in conjunction with offset for paging. The limit is the
            maximum number of items to include in the response.
          in: query
          name: limit
          schema:
            default: 10
            maximum: 100
            minimum: 1
            type: integer
        - description: >
            The expression to use for filtering responses. The following
            comparisons are supported:

            “eq” : Valid for number, boolean and string properties.

            “gt” :  Valid for number or string timestamp properties.

            “lt” :  Valid for number or string timestamp properties

            “in” : Valid for an array of strings

            Syntax:

            “eq” : filter=\<property> eq \<value>
            {host:port}/data-services/v1beta1/dual-auth-operations?filter=\<property>
            eq \<value>

            “gt” : filter=\<property> gt \<value>
            {host:port}/data-services/v1beta1/dual-auth-operations?filter=\<property>
            gt \<value>

            “lt” : filter=\<property> lt \<value>
            {host:port}/data-services/v1beta1/dual-auth-operations?filter=\<property>
            lt \<value>

            “in” : filter=\<property> in \<value>
            {host:port}/data-services/v1beta1/dual-auth-operations?filter=\<property>
            in \<value>

            * Use "and" to combine filter inputs
            {host:port}/data-services/v1beta1/dual-auth-operations?filter=\<property1>
            eq \<value1> and \<property2> lt \<value2>

            * To filter multiple values on one property e.g. filter=resourceType
            in ('foo','bar')
            {host:port}/data-services/v1beta1/dual-auth-operations?filter=foo%bar%20in%20resourceType

            Examples:

            GET /data-services/v1beta1/dual-auth-operations?filter=resourceType
            eq 'ISSUE'

            GET /data-services/v1beta1/dual-auth-operations?filter=resourceType
            eq 'ISSUE' and state eq 'CREATED'

            GET
            /data-services/v1beta1/dual-auth-operations?filter=relatedObjectType
            in ('NIMBLE-VOLUME')

            Filters are supported on following attributes:

            resourceUri,

            resourceName,

            resourceType,

            requestedOperation,

            operationDescription,

            requestedByUri,

            requestedByEmail,

            requestedAt,

            customerId,

            checkedByUri,

            checkedByEmail,

            checkedAt,

            sourceServiceExternalName,

            state
          in: query
          name: filter
          schema:
            type: string
        - description: >-
            The property to sort by followed by a direction indicator ("asc" or
            "desc"). If no direction indicator is specified the default order is
            ascending.
          in: query
          name: sort
          schema:
            type: string
        - description: >
            Limits the properties returned with a resource or collection-level
            GET. Specify a comma-separated list of properties. If this is
            omitted, all properties are returned.
          in: query
          name: select
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dual-Auth-OperationList'
          description: Dual Authorization Operation List
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: List Dual Authorization operations
      tags:
        - dual-auth-operations
  /data-services/v1beta1/dual-auth-operations/{id}:
    get:
      description: >
        Returns the Dual Authorization operation for the given Id. The operation
        must belong to the current account and be a resource type the user has
        read permission for.  The user must also have permission to read pending
        operations.
      operationId: DualAuthOperationGet
      parameters:
        - $ref: '#/components/parameters/dualAuthId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dual-Auth-Operation'
          description: Dual Authorization details on an operation
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: Get Dual Authorization operation by Id
      tags:
        - dual-auth-operations
    patch:
      description: |
        Approve/Deny the pending operation by changing its state in DB.
      operationId: DualAuthOperationUpdate
      parameters:
        - $ref: '#/components/parameters/dualAuthId'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Dual-Auth-OperationPatch'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dual-Auth-Operation'
          description: Dual Authorization Detail
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Pre-condition Failed.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: >-
        Changes the value of the given Dual Authorization operation.
        Approve/Deny the pending operation by changing its state in DB
      tags:
        - dual-auth-operations
  /data-services/v1beta1/issues:
    get:
      description: >
        Returns the list of active issues for the account and user obtained from
        the request header. The list includes

        issues only for the resource-types that the user has permissions to
        view. Active issues are issues in the CREATED 

        state. Clients using this API must process the returned issues for any
        desired groupings.
      operationId: ListIssues
      parameters:
        - description: >
            Use offset in conjunction with limit for paging. The offset is the
            number of items from the beginning

            of the result set to the first item included in the response.
          in: query
          name: offset
          schema:
            type: integer
        - description: >-
            Use limit in conjunction with offset for paging. The limit is the
            maximum number of items to include in the response.
          in: query
          name: limit
          schema:
            default: 10
            maximum: 100
            minimum: 1
            type: integer
        - description: >
            The expression used to filter responses. You can filter on the
            following properties: `issueType`, `severity`, `category`, `state`,
            `createdAt`, `services`, 

            `sourceResourceId`, `sourceResourceType`. You can combine multiple
            comparison operators using “and”.

            The returned set of resources must match the criteria in the filter
            query parameter

            A comparison compares a property name to a literal. The comparisons
            supported are the following:

            “eq” : Is a property equal to value. Valid for number, boolean and
            string properties.

            “gt” : Is a property greater than a value. Valid for number or
            string timestamp properties.

            “lt” : Is a property less than a value. Valid for number or string
            timestamp properties

            “in” : Is a value in a property. The property is an array of number,
            boolean or string properties.

            "contains": Is a substring value that is equal to a portion of the
            property value. Valid for strings.

            Syntax: 

            “eq” : filter=\<property> eq \<value>
            {host:port}/data-services/v1beta1/issues?filter=\<property> eq
            \<value>

            “gt” : filter=\<property> gt \<value>
            {host:port}/data-services/v1beta1/issues?filter=\<property> gt
            \<value>

            “lt” : filter=\<property> lt \<value>
            {host:port}/data-services/v1beta1/issues?filter=\<property> lt
            \<value>

            “in” : filter=\<property> in \<value>
            {host:port}/data-services/v1beta1/issues?filter=\<property> in
            \<value>

            “contains” : filter=contains(property,value)
            {host:port}/data-services/v1beta1/issues?filter=contains(property,value)

            * Can use and to add more filter inputs
            {host:port}/data-services/v1beta1/issues?filter=\<property1> eq
            \<value1> and \<property2> lt \<value2> 

            * To filter multiple values on one property e.g. filter=severity in
            ('CRITICAL','WARNING')
            {host:port}/data-services/v1beta1/issues?filter=severity%20in%20CRITICAL%2CWARNING

            Examples:

            GET /data-services/v1beta1/issues?filter=issueType eq 'ISSUE'

            GET /data-services/v1beta1/issues?filter=issueType eq 'ISSUE' &
            state eq 'CREATED'

            GET
            /data-services/v1beta1/issues?filter=contains(sourceResourceType,'orchestrator')

            GET /data-services/v1beta1/issues?filter='data-ops-manager' in
            services

            Filters are supported on following attributes:

            issueType,

            severity,

            category,

            state,

            createdAt,

            services,

            sourceResourceId,

            sourceResourceType
          in: query
          name: filter
          schema:
            type: string
        - description: |
            resource property to sort, with an order appended
            Order may only be either “asc” (ascending) or “desc” (descending)
          example: /issues?sort=id desc
          in: query
          name: sort
          schema:
            type: string
        - description: >
            The select query parameter is used to limit the properties returned
            with a resource or collection-level GET.

            Multiple properties can be listed to be returned. The server must
            only return the set of properties requested by the client.

            The property “select” is the name of the select query parameter; its
            value is the list of properties to return separated by commas.
          in: query
          name: select
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuesList'
          description: Issues list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method not supported
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: List active issues
      tags:
        - issues
  /data-services/v1beta1/issues-metadata:
    get:
      description: >
        Returns the list of values of category, services, and severity supported
        by Issues.

        Functionalities like query parameters, filtering, sorting, grouping, and
        paging are not supported.
      operationId: GetIssuesMetadata
      parameters:
        - description: >-
            The number of items to skip before starting to collect the result
            set
          in: query
          name: offset
          schema:
            type: integer
        - description: The numbers of items to return
          in: query
          name: limit
          schema:
            default: 10
            maximum: 100
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuesMetadataList'
          description: Issues Metadata
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The response value does not exist
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method not supported
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: >-
        Returns all the supported Issues metadata relevant to the UI and API
        clients
      tags:
        - issues
  /data-services/v1beta1/issues/{id}:
    get:
      description: >-
        Returns an active issue with the specified id for the account obtained
        from the request header. The issue must be in the CREATED state
      operationId: GetIssue
      parameters:
        - description: The UUID of the issue
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - description: >
            Limits the properties returned with a resource or collection-level
            GET. Specify a comma-separated list of properties.

            (e.g.:
            "?select=id,type,customerId,services,createdAt,lastOccurredAt,generation,resourceUri")
          in: query
          name: select
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueDetails'
          description: Details of the issue with the given Id
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Issue with the given Id does not exist
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method not supported
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Issue is not active
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: Get a singular issue
      tags:
        - issues
    patch:
      description: >
        To snooze an Issue, this API should get a request with body {snoozedFor:
        timeperiod}. 

        Currently, the allowed time-period for snoozing can be a day, a week, a
        month or infinite.

        Hence, the values for snoozedFor should be from this set {"DAY", "WEEK",
        "MONTH", "INFINITE", "NONE"}.

        "NONE" corresponds to unsnoozing a snoozed issue. When the Issue is
        unsnoozed, the snoozed_until is

        set to zero timestamp. If any other value is received, HTTP 422 may be
        returned. Also, no other parameters

        will be accepted in the body. The caller may get HTTP 422.
      operationId: PatchIssue
      parameters:
        - description: The UUID of the issue
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/IssuePatchSnooze'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueDetails'
          description: Details of the issue with the given Id
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Issue with the given Id does not exist
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method not supported
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Precondition check failed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: Changes the attributes of an existing Issue object
      tags:
        - issues
  /data-services/v1beta1/secret-assignments:
    get:
      description: >-
        Reports the attributes of the assignments owned by the customer. The
        response can be paged by using the limit and offset query parameters and
        filtered and sorted by using the filter and sort query parameters.
      operationId: ReportAssignmentsV1
      parameters:
        - description: >-
            An OData expression to filter responses by attribute. The OData
            logical operator "eq" is case-sensitive and supported for attributes
            "applianceId", "secretId", "goal", "service", or "status". The OData
            function "contains()" is not case-sensitive and supported for
            attribute "applianceId", "secretId", and "service". The OData
            logical operator "and" is supported for all attributes.
          in: query
          name: filter
          required: false
          schema:
            description: >-
              An OData expression to filter responses by attribute. The OData
              logical operator "eq" is case-sensitive and supported for
              attributes "applianceId", "secretId", "goal", "service", or
              "status". The OData function "contains()" is not case-sensitive
              and supported for attribute "applianceId", "secretId", and
              "service". The OData logical operator "and" is supported for all
              attributes.
            title: Filter
            type: string
        - description: >-
            A response attribute to sort by, followed by a direction indicator
            ("asc" or "desc"). The attribute may be one of "applianceId",
            "secretId", "createdAt", "goal", "id", "label", "service", "status"
            or "updatedAt". Default: ascending.
          in: query
          name: sort
          required: false
          schema:
            description: >-
              A response attribute to sort by, followed by a direction indicator
              ("asc" or "desc"). The attribute may be one of "applianceId",
              "secretId", "createdAt", "goal", "id", "label", "service",
              "status" or "updatedAt". Default: ascending.
            title: Sort
            type: string
        - description: >-
            The offset query parameter should be used in conjunction with limit
            for paging within a batched result set. The offset is the number of
            items from the beginning of the batched result set to the first item
            included in the response. Example: offset=30&limit=10
          in: query
          name: offset
          required: false
          schema:
            default: 0
            description: >-
              The offset query parameter should be used in conjunction with
              limit for paging within a batched result set. The offset is the
              number of items from the beginning of the batched result set to
              the first item included in the response. Example:
              offset=30&limit=10
            title: Offset
            type: integer
        - description: >-
            The limit query parameter should be used in conjunction with offset
            for paging within a batched result set. The limit is the maximum
            number of items to include in the response. Example:
            offset=30&limit=10
          in: query
          name: limit
          required: false
          schema:
            default: 20
            description: >-
              The limit query parameter should be used in conjunction with
              offset for paging within a batched result set. The limit is the
              maximum number of items to include in the response. Example:
              offset=30&limit=10
            maximum: 120
            title: Limit
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportAssignmentsResponse'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Reports filtered assignments
      tags:
        - secret-assignments
  /data-services/v1beta1/secret-assignments/{id}:
    get:
      description: Reports the attributes of the specified assignment.
      operationId: ReportAssignmentV1
      parameters:
        - description: UUID of the secret
          in: path
          name: id
          required: true
          schema:
            description: UUID of the secret
            format: uuid
            title: Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentResourceDef'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Reports a specific assignment
      tags:
        - secret-assignments
  /data-services/v1beta1/secrets:
    get:
      description: >-
        Reports the attributes and properties of the secrets owned by the
        customer. The response can be paged by using the limit and offset query
        parameters and filtered and sorted by using the filter and sort query
        parameters.
      operationId: ReportSecretsV1
      parameters:
        - description: >-
            An OData expression to filter responses by attribute. The OData
            logical operator "eq" is case-sensitive and supported for attributes
            "classifier", "label", "name", "service", "status" and
            "subclassifier". The OData function "contains()" is not
            case-sensitive and supported for attributes "label", "name" and
            "service". The OData logical operator "and" is supported for all
            attributes.
          in: query
          name: filter
          required: false
          schema:
            description: >-
              An OData expression to filter responses by attribute. The OData
              logical operator "eq" is case-sensitive and supported for
              attributes "classifier", "label", "name", "service", "status" and
              "subclassifier". The OData function "contains()" is not
              case-sensitive and supported for attributes "label", "name" and
              "service". The OData logical operator "and" is supported for all
              attributes.
            title: Filter
            type: string
        - description: >-
            A response attribute to sort by, followed by a direction indicator
            ("asc" or "desc"). The attribute may be one of "assignmentsCount",
            "classifier", "createdAt", "createdBy", "id", "label",
            "lastUpdatedBy", "name", "service", "status", "subclassifier" or
            "updatedAt". Default: ascending.
          in: query
          name: sort
          required: false
          schema:
            description: >-
              A response attribute to sort by, followed by a direction indicator
              ("asc" or "desc"). The attribute may be one of "assignmentsCount",
              "classifier", "createdAt", "createdBy", "id", "label",
              "lastUpdatedBy", "name", "service", "status", "subclassifier" or
              "updatedAt". Default: ascending.
            title: Sort
            type: string
        - description: >-
            The offset query parameter should be used in conjunction with limit
            for paging within a batched result set. The offset is the number of
            items from the beginning of the batched result set to the first item
            included in the response. Example: offset=30&limit=10
          in: query
          name: offset
          required: false
          schema:
            default: 0
            description: >-
              The offset query parameter should be used in conjunction with
              limit for paging within a batched result set. The offset is the
              number of items from the beginning of the batched result set to
              the first item included in the response. Example:
              offset=30&limit=10
            title: Offset
            type: integer
        - description: >-
            The limit query parameter should be used in conjunction with offset
            for paging within a batched result set. The limit is the maximum
            number of items to include in the response. Example:
            offset=30&limit=10
          in: query
          name: limit
          required: false
          schema:
            default: 20
            description: >-
              The limit query parameter should be used in conjunction with
              offset for paging within a batched result set. The limit is the
              maximum number of items to include in the response. Example:
              offset=30&limit=10
            maximum: 120
            title: Limit
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSecretsResponse'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Reports filtered secrets
      tags:
        - secrets
    post:
      description: Adds a new secret using the provided specification.
      operationId: AddSecretV1
      parameters:
        - in: header
          name: x-envoy-external-address
          required: false
          schema:
            default: ''
            title: X-Envoy-External-Address
            type: string
        - in: header
          name: x-forwarded-for
          required: false
          schema:
            default: ''
            title: X-Forwarded-For
            type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/AssignedSecretSpec'
                - $ref: '#/components/schemas/SecretSpec'
              title: Spec
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResourceDef'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Conflict
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Precondition Failed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Adds a secret
      tags:
        - secrets
  /data-services/v1beta1/secrets/{id}:
    delete:
      description: >-
        Removes the specified secret. All associated assignments will also be
        removed.
      operationId: RemoveSecretV1
      parameters:
        - description: UUID of the secret
          in: path
          name: id
          required: true
          schema:
            description: UUID of the secret
            format: uuid
            title: Id
            type: string
        - description: Enable delete-lock safety checking
          in: query
          name: safe
          required: false
          schema:
            default: false
            description: Enable delete-lock safety checking
            title: Safe
            type: boolean
        - in: header
          name: x-envoy-external-address
          required: false
          schema:
            default: ''
            title: X-Envoy-External-Address
            type: string
        - in: header
          name: x-forwarded-for
          required: false
          schema:
            default: ''
            title: X-Forwarded-For
            type: string
      responses:
        '204':
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Conflict
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Precondition Failed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Removes a secret
      tags:
        - secrets
    get:
      description: Reports the attributes and properties of the specified secret.
      operationId: ReportSecretV1
      parameters:
        - description: UUID of the secret
          in: path
          name: id
          required: true
          schema:
            description: UUID of the secret
            format: uuid
            title: Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResourceDef'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Reports a specific secret
      tags:
        - secrets
    patch:
      description: Changes an existing secret using the provided redefinition.
      operationId: ChangeSecretV1
      parameters:
        - description: UUID of the secret
          in: path
          name: id
          required: true
          schema:
            description: UUID of the secret
            format: uuid
            title: Id
            type: string
        - in: header
          name: x-envoy-external-address
          required: false
          schema:
            default: ''
            title: X-Envoy-External-Address
            type: string
        - in: header
          name: x-forwarded-for
          required: false
          schema:
            default: ''
            title: X-Forwarded-For
            type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/SecretRedef'
                - $ref: '#/components/schemas/SecretResourceRedef'
              title: Redef
          application/merge-patch+json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/SecretRedef'
                - $ref: '#/components/schemas/SecretResourceRedef'
              title: Redef
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecretResourceDef'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Conflict
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Precondition Failed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GLCPErrorResponse'
          description: Service Unavailable
      security:
        - JWTBearer: []
      summary: Changes a secret
      tags:
        - secrets
  /data-services/v1beta1/settings:
    get:
      description: Returns all settings values for the current account
      operationId: SettingsList
      parameters:
        - description: >-
            Use offset in conjunction with limit for paging. The offset is the
            number of items from the beginning of the result set to the first
            item included in the response.
          in: query
          name: offset
          schema:
            type: integer
        - description: >-
            Use limit in conjunction with offset for paging. The limit is the
            maximum number of items to include in the response.
          in: query
          name: limit
          schema:
            default: 10
            maximum: 100
            minimum: 1
            type: integer
        - description: >
            The expression to use for filtering responses. You can filter on the
            following properties: customerId, id, name, possibleValues,
            currentValue, settingDescription, lastUpdatedBy, lastUpdatedAt,
            externalApplicationName. You can combine multiple comparison
            operators using AND. The comparisons supported are the following:

            “eq” : Valid for number, boolean and string properties.

            “gt” : Valid for number or string timestamp properties.

            “lt” :  Valid for number or string timestamp properties

            “in” : Valid for an array of strings

            Syntax:

            “eq” : filter=\<property> eq \<value>
            {host:port}/data-services/v1beta1/settings?filter=\<property> eq
            \<value>

            “gt” : filter=\<property> gt \<value>
            {host:port}/data-services/v1beta1/settings?filter=\<property> gt
            \<value>

            “lt” : filter=\<property> lt \<value>
            {host:port}/data-services/v1beta1/settings?filter=\<property> lt
            \<value>

            “in” : filter=\<property> in \<value>
            {host:port}/data-services/v1beta1/settings?filter=\<property> in
            \<value>

            * Use AND to filter on multiple properties:
            {host:port}/data-services/v1beta1/settings?filter=\<property1> eq
            \<value1> and \<property2> lt \<value2>

            * To filter multiple values on one property e.g. filter=name in
            ('foo','bar')
            {host:port}/data-services/v1beta1/settings?filter=foo%bar%20in%20severity

            Examples:

            GET /data-services/v1beta1/settings?filter=name eq 'SETTINGNAME'

            GET /data-services/v1beta1/settings?filter=name eq 'SETTINGNAME' and
            lastUpdatedBy eq 'CREATED'

            GET /data-services/v1beta1/settings?filter=relatedObjectType in
            ('NIMBLE-VOLUME')

            Filters are supported on following attributes:

            customerId,

            id,

            name,

            possibleValues,

            currentValue,

            settingDescription,

            lastUpdatedBy,

            lastUpdatedAt,

            externalApplicationName
          in: query
          name: filter
          schema:
            type: string
        - description: >-
            The property to sort by followed by a direction indicator ("asc" or
            "desc"). If no direction indicator is specified the default order is
            ascending.
          in: query
          name: sort
          schema:
            type: string
        - description: >
            A comma-separated list of properties to include in response. If this
            is omitted, all properties are returned.
          in: query
          name: select
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingList'
          description: Settings list
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: List settings for the current account.
      tags:
        - settings
  /data-services/v1beta1/settings/{id}:
    get:
      description: >
        Returns the details of the setting with the given ID. If a value does
        not exist for the setting, the API returns the default value.
      operationId: SettingGet
      parameters:
        - $ref: '#/components/parameters/settingId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
          description: Setting Detail
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: Returns setting with given Id
      tags:
        - settings
    patch:
      description: |
        Changes the value of the given setting.
      operationId: SettingUpdate
      parameters:
        - $ref: '#/components/parameters/settingId'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/SettingPatch'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
          description: Patch Setting
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad/Malformed request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthenticated request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The filter attribute's value does not exist
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Pre-condition Failed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable input request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      summary: Update a setting
      tags:
        - settings
  /data-services/v1beta1/software-releases:
    get:
      description: >
        List multiple Software Releases with filtering, sorting and pagination.


        Filtering is supported on the `softwareComponent/id` and `version`
        properties using the

        `eq`, `in`, `and` and `or` operators. Sorting is supported on the `id`
        and `version` properties.
      operationId: SoftwareReleasesList
      parameters:
        - description: >
            An expression to filter list query results. Query result items that
            match the given

            filter are returned.


            Expressions must be in the format `\<property> <operator> \<value>`
            or

            `\<value> <operator> \<property>`. The available operators are:


            - `eq`: Test whether a property's value is equal to a literal.

            - `in`: Test whether a property's value appears in a list of
            literals.


            Literals can be:


            - GUIDs, such as `ae09cc99-57e1-4f82-9d80-e68698da641b`.

            - Strings, such as `'hello'`, `'world'`.


            Expressions can also be joined using the `and` and `or` logical
            operators.
          examples:
            01-eq:
              summary: Use of the eq operator.
              value: softwareComponent/id eq '2f01f86f-4600-4f92-9f72-885b5f7b01c4'
            02-in:
              summary: Use of the in operator.
              value: version in ('1.0.0', '1.1.0', '1.2.0')
            03-or:
              summary: Combine expressions with the or operator.
              value: version eq '1.0.0' or version eq '1.1.0'
            04-and:
              summary: Combine expressions with the and operator.
              value: >-
                softwareComponent/id eq '2f01f86f-4600-4f92-9f72-885b5f7b01c4'
                and version in ('1.0.0', '1.1.0', '1.2.0')
          in: query
          name: filter
          schema:
            type: string
        - description: >
            The number of query results to return. Use limit in conjuction with
            offset for paging. 
          examples:
            01-minimum:
              summary: Minimum limit
              value: 0
            02-maximum:
              summary: Maximum limit
              value: 100
          in: query
          name: limit
          schema:
            default: 100
            maximum: 100
            minimum: 0
            type: integer
        - description: >
            The offset to use for paging through the result set. Use offset in
            conjunction with limit for paging.
          examples:
            01-first-page:
              summary: First page
              value: 0
            02-fifth-page:
              summary: Fifth page (assuming limit=100)
              value: 500
          in: query
          name: offset
          schema:
            default: 0
            minimum: 0
            type: integer
        - description: >
            Comma separated properties to return in the result. If omitted, all
            properties will be returned. This is applied to sub-properties of
            the objects in the items array. Selecting nested properties of an
            object is not supported.
          examples:
            01-single-property:
              summary: Select a single property
              value: id
            02-multiple-properties:
              summary: Select multiple properties
              value: id,name,createdAt,updatedAt,generation
          explode: false
          in: query
          name: select
          schema:
            items:
              type: string
            type: array
          style: form
        - description: >
            One or more properties and directions to sort query results by. A
            direction is optional and can be either `asc` or `desc` for
            ascending and descending order respectively. If the direction is
            omitted it defaults to `asc`.
          examples:
            01-single-ascending:
              summary: Sort by a single property in ascending order
              value: id asc
            02-single-descending:
              summary: Sort by a single property in descending order
              value: version desc
            03-single-default:
              summary: Sort by single property in the default order
              value: version
            04-multiple-ascending:
              summary: Sort by multiple properties in ascending order
              value: id asc,version asc
            05-multiple-mixed:
              summary: Sort by multiple properties in multiple directions
              value: id asc,version desc
          in: query
          name: sort
          schema:
            default: id asc
            type: string
      responses:
        '200':
          $ref: '#/components/responses/SoftwareReleasesList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      summary: List Software Releases
      tags:
        - software-releases
  /data-services/v1beta1/software-releases/{id}:
    get:
      description: Get a single Software Release by its ID.
      operationId: SoftwareReleasesGet
      parameters:
        - $ref: '#/components/parameters/SoftwareReleaseId'
        - description: >
            Comma separated properties to return in the result. If omitted, all
            properties will be returned. Selecting nested properties of an
            object is not supported.
          examples:
            01-single-property:
              summary: Select a single property
              value: id
            02-multiple-properties:
              summary: Select multiple properties
              value: id,name,createdAt,updatedAt,generation
          explode: false
          in: query
          name: select
          schema:
            items:
              type: string
            type: array
          style: form
      responses:
        '200':
          $ref: '#/components/responses/SoftwareRelease'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      summary: Get a Software Release
      tags:
        - software-releases
  /data-services/v1beta1/software-releases/{id}/download:
    post:
      description: Download a file within a Software Release.
      operationId: SoftwareReleasesDownload
      parameters:
        - $ref: '#/components/parameters/SoftwareReleaseId'
      requestBody:
        $ref: '#/components/requestBodies/SoftwareReleasesDownload'
      responses:
        '200':
          $ref: '#/components/responses/SoftwareRelease'
        '303':
          $ref: '#/components/responses/SoftwareReleasesDownload'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ReleaseDenied'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      summary: Download a Software Release file
      tags:
        - software-releases
  /data-services/v1beta1/storage-locations:
    get:
      description: >
        Returns a list of enabled storage locations. The following parameters
        are supported to

        reduce the collection according to the specified criteria:


        - filtering locations by capabilities;
      operationId: ListLocations
      parameters:
        - description: >
            The expression to use for filtering responses.


            The filter expression for this endpoint accepts the following
            operators on the following

            properties:


            - `in` operator on the `capabilities` property;


            For example:


            - `'backup-and-recovery' in capabilities`;


            Grouping of expressions to change the evaluation precedence is NOT
            supported.
          example: |
            'backup-and-recovery' in capabilities
          in: query
          name: filter
          schema:
            maxLength: 1000
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseListStorageLocations'
          description: A list of storage locations.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: An invalid request was received.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The request did not provide valid authentication.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The requesting user was not permitted to access this resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: An internal error occurred.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable.
      summary: List storage locations
      tags:
        - storage-locations
  /data-services/v1beta1/tags:
    get:
      description: >
        Returns a list of all tags when no `select` query parameter is
        provided. 

        When a `select` query parameter is provided, then key or value of the
        tags are returned.
      operationId: ListTags
      parameters:
        - $ref: '#/components/parameters/Select'
        - $ref: '#/components/parameters/Filter'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Offset'
        - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResults'
          description: Successful operation
        '400':
          $ref: '#/components/responses/ResponseBadRequest'
        '401':
          $ref: '#/components/responses/ResponseUnauthorized'
        '403':
          $ref: '#/components/responses/ResponseForbidden'
        '404':
          $ref: '#/components/responses/ResponseNotFound'
        '500':
          $ref: '#/components/responses/ResponseInternalServerError'
        '503':
          $ref: '#/components/responses/ResponseServiceUnavailable'
      summary: GET tags
      tags:
        - tags
components:
  headers:
    LocationRedirect:
      description: The URI of the redirect target.
      schema:
        format: uri
        type: string
  parameters:
    Filter:
      description: |-
        The set of tags returned in the response.
        The supported comparisons are:
          - “eq” : Valid for number, boolean and string properties.
          - “ne” : Valid for number, boolean and string properties.
          - "contains"

        Syntax:
          - “eq” : filter=\<property\> eq \<value\>
          - “ne” : filter=\<property\> ne \<value\>
          - "startswith" : filter=startswith(key, 'Houston')
          - "startswith" : filter=startswith(value, 'Houston')
        You can use "and" to filter on multiple fields 
          "filter=\<property1\> eq \<value1\> and \<property2\> ne \<value2\>"
        Examples:
          GET /data-services/v1beta1/tags?filter=key eq Houston
          GET /data-services/v1beta1/tags?filter=startswith(key, Houston) and value eq Volume
        Filters are supported on following attributes:
          - key
          - value
      in: query
      name: filter
      schema:
        type: string
    Limit:
      description: The number of results to return.
      example: 1
      in: query
      name: limit
      schema:
        default: 20
        maximum: 1000
        minimum: 1
        type: integer
    Offset:
      description: The number of results to skip. This is used for paging results.
      example: 0
      in: query
      name: offset
      schema:
        default: 0
        minimum: 0
        type: integer
    Select:
      description: |-
        A list of properties to include in the response. Service currently
        only supports specification of all fields.
      in: query
      name: select
      schema:
        type: string
    SoftwareReleaseId:
      description: The ID of a Software Release.
      in: path
      name: id
      required: true
      schema:
        format: uuid
        type: string
    Sort:
      description: >-
        A comma separated list of properties to sort by, followed by a
        direction 

        indicator ("asc" or "desc"). Default order is ascending. 

        Service only supports sorting by 1 property per request. Supported
        fields 

        include:

        - key

        - value - If specified, a secondary sort by "key asc" is included to
        guarantee consistent paging behavior.
      in: query
      name: sort
      schema:
        enum:
          - asc
          - desc
        type: string
    dualAuthId:
      description: the ID of the operation
      example: c1a0eb78-41a0-4151-93b2-f057ffeca3f3
      in: path
      name: id
      required: true
      schema:
        format: uuid
        type: string
    settingId:
      description: The ID of the setting
      example: c1a0eb78-41a0-4151-93b2-f057ffeca3f3
      in: path
      name: id
      required: true
      schema:
        format: uuid
        type: string
  requestBodies:
    SoftwareReleasesDownload:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SoftwareReleaseDownload'
      description: The request body for SoftwareReleasesDownload.
  responses:
    BadRequest:
      content:
        application/json:
          example:
            debugId: 0123456789abcdef0123456789abcdef
            errorCode: HPE_GL_ERROR_BAD_REQUEST
            httpStatusCode: 400
            message: A bad request was received.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Returned when a bad request is provided.
    InternalServerError:
      content:
        application/json:
          example:
            debugId: 0123456789abcdef0123456789abcdef
            errorCode: HPE_GL_ERROR_INTERNAL_SERVER_ERROR
            httpStatusCode: 500
            message: An internal error occurred.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Returned when an unexpected internal error occurred.
    NotFound:
      content:
        application/json:
          example:
            debugId: 0123456789abcdef0123456789abcdef
            errorCode: HPE_GL_ERROR_NOT_FOUND
            httpStatusCode: 404
            message: The requested resource was not found.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Returned when the requested resource was not found.
    ReleaseDenied:
      content:
        application/json:
          example:
            debugId: 0123456789abcdef0123456789abcdef
            errorCode: HPE_GL_DATA_SERVICES_RELEASE_DENIED
            httpStatusCode: 403
            message: The requested release is currently denied.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Returned when a denied release was downloaded.
    ResponseBadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
      description: Bad request error
    ResponseForbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Forbidden'
      description: Authorization error
    ResponseInternalServerError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
      description: Internal server error
    ResponseNotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
      description: Resource not found error
    ResponseServiceUnavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceUnavailable'
      description: Service Unavailable
    ResponseUnauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
      description: Authentication error
    ServiceUnavailable:
      content:
        application/json:
          example:
            debugId: 0123456789abcdef0123456789abcdef
            errorCode: HPE_GL_ERROR_SERVICE_UNAVAILABLE
            httpStatusCode: 503
            message: Service unavailable.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: >-
        Returned when the service was temporarily unavailable to complete the
        request.
    SoftwareRelease:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SoftwareRelease'
      description: A Software Release.
    SoftwareReleasesDownload:
      content:
        application/json:
          schema:
            type: object
      description: The location to download the file from.
      headers:
        Location:
          $ref: '#/components/headers/LocationRedirect'
    SoftwareReleasesList:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SoftwareReleaseList'
      description: A list of Software Releases.
    Unauthorized:
      content:
        application/json:
          example:
            debugId: 0123456789abcdef0123456789abcdef
            errorCode: HPE_GL_ERROR_UNAUTHORIZED
            httpStatusCode: 401
            message: The request did not provide valid authentication.
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Returned when the required authentication was missing or malformed.
  schemas:
    ApplianceIdentity:
      description: Appliance Identity
      properties:
        id:
          description: Identity of the appliance
          title: Id
          type: string
      required:
        - id
      title: ApplianceIdentity
      type: object
    AssignedSecretSpec:
      description: Assigned Secret Specification
      properties:
        assignees:
          items:
            $ref: '#/components/schemas/ApplianceIdentity'
          maxItems: 120
          title: Assignees
          type: array
        description:
          description: Description for the resource
          title: Description
          type: string
        groups:
          description: Groups to be associated with the resource
          items:
            type: string
          title: Groups
          type: array
        label:
          description: Consumer-defined label for the resource
          title: Label
          type: string
        lifecycleEventKey:
          description: Key for resource lifecycle event messages
          title: Lifecycleeventkey
          type: string
        name:
          description: Name of the resource
          title: Name
          type: string
        secret:
          anyOf:
            - $ref: '#/components/schemas/AzureSPClientSecretDef'
            - $ref: '#/components/schemas/BasicAuthSecretDef'
            - $ref: '#/components/schemas/BearerAuthSecretDef'
            - $ref: '#/components/schemas/CertificateSecretDef'
            - $ref: '#/components/schemas/GenericSecretDef'
            - $ref: '#/components/schemas/JsonWebTokenSecretDef'
            - $ref: '#/components/schemas/OAuthClientSecretDef'
            - $ref: '#/components/schemas/PasswordSecretDef'
            - $ref: '#/components/schemas/PrivateKeySecretDef'
            - $ref: '#/components/schemas/SSHKeypairSecretDef'
          description: Secret definition
          title: Secret
        service:
          description: Name of the service originating the resource
          title: Service
          type: string
      required:
        - service
        - name
        - secret
        - assignees
      title: AssignedSecretSpec
      type: object
    AssignmentResourceDef:
      description: Assignment Resource Definition
      properties:
        appliance:
          allOf:
            - $ref: '#/components/schemas/ApplianceIdentity'
          description: Appliance identifier
          title: Appliance
        createdAt:
          description: Timestamp of the resource creation
          format: date-time
          title: Createdat
          type: string
        customerId:
          description: Identifier of the customer owning the resource
          title: Customerid
          type: string
        generation:
          description: Update generation number
          title: Generation
          type: integer
        goal:
          description: Current goal of the assignment
          title: Goal
          type: string
        goalUpdatedAt:
          description: Timestamp of the last goal update
          format: date-time
          title: Goalupdatedat
          type: string
        groups:
          description: Groups associated with the resource
          items:
            $ref: '#/components/schemas/SCGroupIdentity'
          title: Groups
          type: array
        id:
          description: Identifier of the resource
          format: uuid
          title: Id
          type: string
        label:
          description: Consumer-defined label of the assignment
          title: Label
          type: string
        name:
          description: Name of the resource
          title: Name
          type: string
        resourceUri:
          description: URI of the resource
          title: Resourceuri
          type: string
        secret:
          allOf:
            - $ref: '#/components/schemas/SCResourceRef'
          description: Secret resource reference
          title: Secret
        service:
          description: Name of the service originating the resource
          title: Service
          type: string
        status:
          description: Current status of the assignment
          title: Status
          type: string
        statusUpdatedAt:
          description: Timestamp of the last status update
          format: date-time
          title: Statusupdatedat
          type: string
        type:
          description: Type of the resource
          title: Type
          type: string
        updatedAt:
          description: Timestamp of the last resource update
          format: date-time
          title: Updatedat
          type: string
      required:
        - customerId
        - service
        - id
        - name
        - type
        - resourceUri
        - generation
        - updatedAt
        - createdAt
        - status
        - statusUpdatedAt
        - goal
        - goalUpdatedAt
        - secret
        - appliance
      title: AssignmentResourceDef
      type: object
    AssociatedResource:
      properties:
        groups:
          description: Groups this resource is associated with
          items:
            $ref: '#/components/schemas/GroupIDNamePair'
          type: array
        resource:
          allOf:
            - $ref: '#/components/schemas/ResourceReference'
            - properties:
                consoleUri:
                  description: The URI for the console screen that displays this resource
                  type: string
              type: object
          description: Resource associated with this operation
      type: object
    AzureSPClientSecretDef:
      description: Azure Service Principal client secret definition
      properties:
        azureSPClient:
          allOf:
            - $ref: '#/components/schemas/AzureSPClientSecretProps'
          description: Azure Service Principal client secret properties
          title: Azurespclient
      required:
        - azureSPClient
      title: AzureSPClientSecretDef
      type: object
    AzureSPClientSecretProps:
      description: Azure Service Principal client secret properties
      properties:
        clientId:
          description: Azure Service Principal client ID (aka application ID)
          title: Clientid
          type: string
        clientSecret:
          description: Azure Service Principal client secret
          title: Clientsecret
          type: string
        tenantId:
          description: Azure Service Principal tenant ID (aka directory ID)
          title: Tenantid
          type: string
      title: AzureSPClientSecretProps
      type: object
    AzureSPClientSecretRedef:
      description: Azure Service Principal client secret redefinition
      properties:
        azureSPClient:
          allOf:
            - $ref: '#/components/schemas/AzureSPClientSecretProps'
          description: Azure Service Principal client secret properties
          title: Azurespclient
      required:
        - azureSPClient
      title: AzureSPClientSecretRedef
      type: object
    BadRequest:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: >
            A machine-friendly identifier for the error response. The following
            error codes may be

            returned:

            - `HPE_GL_ERROR_BAD_REQUEST`
          example: HPE_GL_ERROR_BAD_REQUEST
    BasicAuthSecretDef:
      description: Basic Access Authentication secret definition
      properties:
        basicAuth:
          allOf:
            - $ref: '#/components/schemas/BasicAuthSecretProps'
          description: Basic Access Authentication secret properties
          title: Basicauth
      required:
        - basicAuth
      title: BasicAuthSecretDef
      type: object
    BasicAuthSecretProps:
      description: Basic Access Authentication secret properties
      properties:
        password:
          description: Password or passphrase
          title: Password
          type: string
        username:
          description: Username or user ID
          title: Username
          type: string
      title: BasicAuthSecretProps
      type: object
    BasicAuthSecretRedef:
      description: Basic Access Authentication secret redefinition
      properties:
        basicAuth:
          allOf:
            - $ref: '#/components/schemas/BasicAuthSecretProps'
          description: Basic Access Authentication secret properties
          title: Basicauth
      required:
        - basicAuth
      title: BasicAuthSecretRedef
      type: object
    BearerAuthSecretDef:
      description: Bearer Token Authentication secret definition
      properties:
        bearerAuth:
          allOf:
            - $ref: '#/components/schemas/BearerAuthSecretProps'
          description: Bearer Token Authentication secret properties
          title: Bearerauth
      required:
        - bearerAuth
      title: BearerAuthSecretDef
      type: object
    BearerAuthSecretProps:
      description: Bearer Token Authentication secret properties
      properties:
        token:
          description: Token (e.g. JWT)
          title: Token
          type: string
      title: BearerAuthSecretProps
      type: object
    BearerAuthSecretRedef:
      description: Bearer Token Authentication secret redefinition
      properties:
        bearerAuth:
          allOf:
            - $ref: '#/components/schemas/BearerAuthSecretProps'
          description: Bearer Token Authentication secret properties
          title: Bearerauth
      required:
        - bearerAuth
      title: BearerAuthSecretRedef
      type: object
    CertificateSecretDef:
      description: Certificate secret definition
      properties:
        certificate:
          allOf:
            - $ref: '#/components/schemas/CertificateSecretProps'
          description: Certificate secret properties
          title: Certificate
      required:
        - certificate
      title: CertificateSecretDef
      type: object
    CertificateSecretProps:
      description: Certificate secret properties
      properties:
        der:
          description: Distinguished Encoding Rules (DER) (BASE64-encoded)
          title: Der
          type: string
        pem:
          description: Privacy-Enhanced Mail (PEM) (BASE64-encoded)
          title: Pem
          type: string
      title: CertificateSecretProps
      type: object
    CertificateSecretRedef:
      description: Certificate secret redefinition
      properties:
        certificate:
          allOf:
            - $ref: '#/components/schemas/CertificateSecretProps'
          description: Certificate secret properties
          title: Certificate
      required:
        - certificate
      title: CertificateSecretRedef
      type: object
    ClassifierDef:
      description: Resource Classifier Definition (e.g. SECRET)
      properties:
        name:
          description: Name of the resource classifier
          title: Name
          type: string
      required:
        - name
      title: ClassifierDef
      type: object
    CommonListResponse:
      properties:
        count:
          description: Number of items in this response.
          type: integer
        offset:
          description: The offset query parameter from the request.
          type: integer
        total:
          description: Total number of items matching the filter parameter in the request.
          type: integer
      required:
        - count
        - offset
    CommonRequiredProperties:
      description: Common properties included in all tag requests.
      properties:
        customerId:
          description: Primary identifier for the customer associated with the tag.
          example: a7d8c2f2e5ab11eb996bd6f781f4ee4e
          type: string
        id:
          description: An identifier for the resource, usually a UUID.
          example: b253093a-a264-4185-b9f9-fc44d66e2841
          format: uuid
          readOnly: true
          type: string
        type:
          description: The type of resource.
          example: data-services/tag
          readOnly: true
          type: string
      required:
        - id
        - type
        - customerId
      type: object
    CommonResourceProperties:
      description: Common properties included in all resource models.
      properties:
        createdAt:
          format: date-time
          type: string
        customerId:
          description: The customer application identifier
          readOnly: true
          type: string
        generation:
          description: >-
            A monotonically increasing value. This value updates when the
            resource is updated and can be used as a short way to determine if a
            resource has changed or which of two different copies of a resource
            is more up to date.
          format: int64
          readOnly: true
          type: integer
        id:
          description: An identifier for the resource, usually a UUID.
          format: uuid
          readOnly: true
          type: string
        name:
          description: A system specified name for the resource.
          type: string
        resourceUri:
          description: The self reference for this resource.
          readOnly: true
          type: string
        type:
          description: The type of resource.
          readOnly: true
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
        - resourceUri
        - customerId
      type: object
    DomainEntityDef:
      description: Resource Domain Entity Definition (e.g. CONFIGURATION)
      properties:
        name:
          description: Name of the resource domain
          title: Name
          type: string
        properties:
          description: Resource domain properties
          title: Properties
          type: object
      required:
        - name
      title: DomainEntityDef
      type: object
    Dual-Auth-Operation:
      allOf:
        - $ref: '#/components/schemas/CommonResourceProperties'
        - properties:
            associatedResources:
              description: Resources associated with this operation
              items:
                $ref: '#/components/schemas/AssociatedResource'
              type: array
            checkedAt:
              description: Time when this operation was checked. RFC 3339 Timestamp
              format: date-time
              type: string
            checkedByEmail:
              description: >-
                Email of the user who checked (second authorization) this
                operation
              type: string
            checkedByUri:
              description: >-
                URI of the user who checked (second authorization) this
                operation
              type: string
            consoleUri:
              deprecated: true
              description: >-
                The URI for console screen that displays this resource.
                Deprecated - use associatedResources instead
              type: string
            description:
              description: Detailed description of the operation
              type: string
            groups:
              deprecated: true
              description: >-
                Groups this operation is associated with. Deprecated - use
                associatedResources instead
              items:
                $ref: '#/components/schemas/GroupIDNamePair'
              type: array
            operationResource:
              allOf:
                - $ref: '#/components/schemas/ResourceReference'
              deprecated: true
              description: >-
                Operation resource on which the operation is taking place.
                Deprecated - use associatedResources instead
            requestedAt:
              description: Time when this operation was requested. RFC 3339 Timestamp
              format: date-time
              type: string
            requestedByEmail:
              description: Email of the user who performed this operation
              type: string
            requestedByUri:
              description: URI of the user who performed this operation
              type: string
            requestedOperation:
              description: One word description of the operation
              type: string
            sourceServiceExternalName:
              description: External Service Name from where this request was sent
              type: string
            state:
              description: state of this operation
              type: string
          required:
            - id
            - type
      type: object
    Dual-Auth-OperationList:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
        - properties:
            items:
              items:
                $ref: '#/components/schemas/Dual-Auth-Operation'
              type: array
          required:
            - items
      type: object
    Dual-Auth-OperationPatch:
      properties:
        state:
          description: new value of the "state" setting
          enum:
            - APPROVED
            - CANCELLED
          type: string
      required:
        - state
      type: object
    ErrorResponse:
      properties:
        debugId:
          description: A unique identifier for the request
          example: f57dcca3345820eb579c9317ce36dd92
          type: string
        errorCode:
          description: A machine friendly identifier for the error response
          type: string
        httpStatusCode:
          description: The HTTP status code of the response
          type: integer
        message:
          description: A user-friendly error message
          example: An example error message
          type: string
      required:
        - httpStatusCode
        - message
        - errorCode
        - debugId
    Forbidden:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: >
            A machine-friendly identifier for the error response. The following
            error codes may be

            returned:

            - `HPE_GL_ERROR_FORBIDDEN`
          example: HPE_GL_ERROR_FORBIDDEN
    GLCPErrorResponse:
      properties:
        debugId:
          description: Debug ID
          title: Debugid
          type: string
        errorCode:
          description: Error code
          title: Errorcode
          type: string
        httpStatusCode:
          description: HTTP status code
          title: Httpstatuscode
          type: integer
        message:
          description: Error message
          title: Message
          type: string
      required:
        - httpStatusCode
        - errorCode
        - message
        - debugId
      title: GLCPErrorResponse
      type: object
    GenericSecretDef:
      description: Generic secret definition
      properties:
        generic:
          allOf:
            - $ref: '#/components/schemas/GenericSecretProps'
          description: Generic secret properties
          title: Generic
      required:
        - generic
      title: GenericSecretDef
      type: object
    GenericSecretProps:
      description: Generic secret properties
      properties:
        secret:
          description: Generic secret value
          title: Secret
          type: string
      title: GenericSecretProps
      type: object
    GenericSecretRedef:
      description: Generic secret redefinition
      properties:
        generic:
          allOf:
            - $ref: '#/components/schemas/GenericSecretProps'
          description: Generic secret properties
          title: Generic
      required:
        - generic
      title: GenericSecretRedef
      type: object
    GroupIDNamePair:
      properties:
        id:
          description: ID of the associated group
          format: uuid
          type: string
        name:
          description: Name of the associated group
          type: string
      required:
        - id
        - name
    InternalServerError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: >
            A machine-friendly identifier for the error response. The following
            error codes may be

            returned:

            - `HPE_GL_ERROR_INTERNAL_SERVER_ERROR`
          example: HPE_GL_ERROR_INTERNAL_SERVER_ERROR
    IssueDetails:
      allOf:
        - $ref: '#/components/schemas/CommonResourceProperties'
        - properties:
            body:
              description: >-
                Long description with more details including possible
                remediations.
              type: string
            category:
              description: Category of the issue. PERFORMANCE, CAPACITY, etc
              type: string
            clearedAt:
              description: Time when the issue was cleared. RFC 3339 timestamp
              format: date-time
              type: string
            groups:
              description: Groups this issue is associated with.
              items:
                $ref: '#/components/schemas/GroupIDNamePair'
              type: array
            issueType:
              description: 'The type of the issue. Eg: ISSUE'
              type: string
            lastOccurredAt:
              description: Time when the issue last occurred. RFC 3339 timestamp
              format: date-time
              type: string
            occurrenceCount:
              description: Indicates the number of occurrences of the issue
              type: integer
            recommendation:
              description: Recommendation to address the underlying issue.
              type: string
            relatedResources:
              description: Details of the resources related to the issue
              items:
                $ref: '#/components/schemas/IssueRelatedResourcesReference'
              type: array
            services:
              description: Details of the services this issue belongs to
              items:
                description: External name of the service
                type: string
              type: array
            severity:
              description: >-
                Severity of the issue. For issue: CRITICAL, WARNING, INFO. For
                reco: HIGH, MEDIUM, LOW
              type: string
            snoozed:
              description: >-
                An auxiliary calculated attribute to help the end-user filter
                snoozed and un-snoozed issues
              type: boolean
            snoozedBy:
              description: The email id of the last user who snoozed this issue.
              type: string
            snoozedFor:
              enum:
                - NONE
                - DAY
                - WEEK
                - MONTH
                - INFINITE
              type: string
            snoozedUntil:
              description: >-
                Date-time until this issue will be considered snoozed/inactive
                until this time. RFC 3339
              format: date-time
              type: string
            sourceResourceId:
              description: >-
                Identifier for the source resource that is contained in
                relatedResources
              type: string
            sourceResourceType:
              description: >-
                Type of the source resource that is contained in the
                relatedResources
              type: string
            state:
              description: >-
                State of the issue. Eg: CREATED, ASSIGNED, CLOSED, SNOOZED,
                DELETED, etc
              type: string
          required:
            - id
            - type
      type: object
    IssuePatchSnooze:
      description: The duration of time to mark an Issue as snoozed.
      properties:
        generation:
          description: >-
            A monotonically increasing value incremented every time the resource
            is updated
          type: string
        snoozedFor:
          enum:
            - NONE
            - DAY
            - WEEK
            - MONTH
            - INFINITE
          type: string
      required:
        - snoozedFor
        - generation
      type: object
    IssueRelatedResourcesReference:
      allOf:
        - $ref: '#/components/schemas/ResourceReference'
        - properties:
            consoleUri:
              description: >-
                console URI of the related object resource that is the source of
                the issue
              type: string
            id:
              format: uuid
              readOnly: true
              type: string
          required:
            - id
      description: |
        Reference to another resource and additional id for use with Issues
      type: object
    IssuesList:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
        - properties:
            items:
              description: The issues returned by the query.
              items:
                $ref: '#/components/schemas/IssueDetails'
              type: array
          required:
            - items
      type: object
    IssuesMetadata:
      allOf:
        - $ref: '#/components/schemas/CommonResourceProperties'
        - properties:
            categories:
              items:
                $ref: '#/components/schemas/IssuesMetadataKeyValuePair'
              type: array
            services:
              items:
                $ref: '#/components/schemas/IssuesMetadataKeyValuePair'
              type: array
            severities:
              items:
                $ref: '#/components/schemas/IssuesMetadataKeyValuePair'
              type: array
          required:
            - id
            - type
      type: object
    IssuesMetadataKeyValuePair:
      properties:
        key:
          description: Key associated with given Metadata
          type: string
        value:
          description: Value of the Metadata
          type: string
      required:
        - key
        - value
      type: object
    IssuesMetadataList:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
        - properties:
            items:
              description: The issues metadata returned by the query.
              items:
                $ref: '#/components/schemas/IssuesMetadata'
              type: array
          required:
            - items
      type: object
    JsonWebTokenSecretDef:
      description: JSON Web Token secret definition
      properties:
        jsonWebToken:
          allOf:
            - $ref: '#/components/schemas/JsonWebTokenSecretProps'
          description: JSON Web Token secret properties
          title: Jsonwebtoken
      required:
        - jsonWebToken
      title: JsonWebTokenSecretDef
      type: object
    JsonWebTokenSecretProps:
      description: JSON Web Token secret properties
      properties:
        token:
          description: JSON Web Token value
          title: Token
          type: string
      title: JsonWebTokenSecretProps
      type: object
    JsonWebTokenSecretRedef:
      description: JSON Web Token secret redefinition
      properties:
        jsonWebToken:
          allOf:
            - $ref: '#/components/schemas/JsonWebTokenSecretProps'
          description: JSON Web Token secret properties
          title: Jsonwebtoken
      required:
        - jsonWebToken
      title: JsonWebTokenSecretRedef
      type: object
    Key:
      description: The tag key.
      type: string
    NotFound:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: >
            A machine-friendly identifier for the error response. The following
            error codes may be

            returned:

            - `HPE_GL_ERROR_NOT_FOUND`
          example: HPE_GL_ERROR_NOT_FOUND
    OAuthClientSecretDef:
      description: OAuth Client secret definition
      properties:
        oauthClient:
          allOf:
            - $ref: '#/components/schemas/OAuthClientSecretProps'
          description: OAuth Client secret properties
          title: Oauthclient
      required:
        - oauthClient
      title: OAuthClientSecretDef
      type: object
    OAuthClientSecretProps:
      description: OAuth Client secret properties
      properties:
        clientId:
          description: OAuth Client ID
          title: Clientid
          type: string
        clientSecret:
          description: OAuth Client secret
          title: Clientsecret
          type: string
      title: OAuthClientSecretProps
      type: object
    OAuthClientSecretRedef:
      description: OAuth Client secret redefinition
      properties:
        oauthClient:
          allOf:
            - $ref: '#/components/schemas/OAuthClientSecretProps'
          description: OAuth Client secret properties
          title: Oauthclient
      required:
        - oauthClient
      title: OAuthClientSecretRedef
      type: object
    Operation:
      allOf:
        - $ref: '#/components/schemas/CommonResourceProperties'
        - $ref: '#/components/schemas/OperationProperties'
      description: >
        The operation resource provides information about progress of
        asynchronous

        request processing and is where associated resources can be found.
    OperationConsoleReference:
      description: References to other UI link include the consoleUri
      properties:
        consoleUri:
          type: string
      required:
        - consoleUri
      type: object
    OperationErrorResponse:
      properties:
        error:
          description: A user friendly error message
          example: An example error message.
          type: string
        errorCode:
          description: A machine-friendly identifier for the error response
          type: string
        traceId:
          description: A unique identifier for the request
          example: f57dcca3345820eb579c9317ce36dd92
          type: string
      required:
        - error
        - errorCode
        - traceId
    OperationList:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
      properties:
        items:
          items:
            $ref: '#/components/schemas/Operation'
          type: array
      required:
        - items
    OperationLogMessage:
      properties:
        message:
          type: string
        timestamp:
          format: date-time
          type: string
      required:
        - timestamp
        - message
    OperationProperties:
      properties:
        additionalDetails:
          allOf:
            - $ref: '#/components/schemas/OperationConsoleReference'
          description: >-
            A link to be displayed in the Operations UI. This can be used when a
            operation is paused to take the user to the console UI page with
            information on how to unpause the operation, or for more general
            information when the operation is in other states.
        associatedResources:
          description: >-
            Resources that are associated with the operation. These may be
            created by the operation or other resources that are involved in the
            operation.
          items:
            $ref: '#/components/schemas/ResourceReference'
          type: array
        createdAt:
          description: The time this operation was created.
          format: date-time
          type: string
        displayName:
          description: The displayed name for the operation.
          type: string
        endedAt:
          description: The time this operation completed.
          format: date-time
          type:
            - string
            - 'null'
        error:
          allOf:
            - $ref: '#/components/schemas/OperationErrorResponse'
          description: The error response status of the operation.
          type:
            - object
            - 'null'
        estimatedRunningDurationMinutes:
          description: An estimate of how long the operation will run before completing.
          type: integer
        groups:
          description: A list of groups associated with this operation.
          items:
            $ref: '#/components/schemas/GroupIDNamePair'
          type: array
        hasChildOperations:
          description: >-
            Indicates this operation possesses child operations. The list of
            child operations for a given operation may be acquired by querying
            /data-services/v1beta1/async-operations?filter=parent/id+eq+'{id}'
            with pagination parameters added as needed to retrieve the full
            list.
          type: boolean
        healthStatus:
          description: >
            The health status indicates if any errors or problems have been
            encountered during the operation. 

            Expected values are OK, ERROR, WARNING, UNKNOWN, and UNSPECIFIED.
          type: string
        logMessages:
          description: >-
            Time stamped messages that record the progress of the operation. The
            number of messages presented is limited in number and only the most
            recent messages are included. Some older log messages may therefore
            be removed to make room for newer messages.
          items:
            $ref: '#/components/schemas/OperationLogMessage'
          type: array
        parent:
          allOf:
            - $ref: '#/components/schemas/ResourceReferenceWithId'
          description: >-
            The parent is the operation that initiated this sub-operation. If
            this operation is not a sub-operation this will be null.
          type:
            - object
            - 'null'
        progressPercent:
          description: A percentage representation of progress to completion.
          maximum: 100
          minimum: 0
          type: integer
        recommendations:
          description: Recommendations on how to fix failing operations.
          items:
            $ref: '#/components/schemas/OperationRecommendations'
          type: array
        rootOperation:
          allOf:
            - $ref: '#/components/schemas/ResourceReferenceWithId'
          description: >-
            The root of the tree of operations. If this operation is not part of
            a tree this will be null.
          type:
            - object
            - 'null'
        services:
          description: >-
            List of services this operation belongs to, can be used to filter to
            specific services in the UI.
          items:
            type: string
          type: array
        sourceResourceUri:
          description: The resource that was used to initiate the operation.
          type:
            - string
            - 'null'
        startedAt:
          description: The time this operation was started.
          format: date-time
          type:
            - string
            - 'null'
        state:
          description: >
            A message to indicate the current state of the operation, for
            example the current step in a workflow.

            Expected values are INITIALIZED, RUNNING, FAILED, SUCCEEDED,
            TIMEDOUT, PAUSED, CANCELLED, and UNSPECIFIED.
          type: string
        subtreeOperationCount:
          description: >-
            The count of the number of child Operations below this one,
            recursively.
          minimum: 0
          type: integer
        suggestedPollingIntervalSeconds:
          description: >-
            This attribute suggests a suitable interval to use when polling for
            progress. Where specified this will be based on the frequency with
            which the operation is likely to be updated.
          type: integer
        updatedAt:
          description: The time this operation was last updated.
          format: date-time
          type: string
        userId:
          description: The ID or email address of the user that initiated the operation.
          type: string
    OperationRecommendations:
      properties:
        message:
          type: string
      required:
        - message
    OperationsBadRequest:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: 'Possible values: BAD_REQUEST, INVALID_PARAMETER'
    OperationsForbidden:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: 'Possible values: FORBIDDEN'
          type: string
    OperationsInternalServerError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: 'Possible values: INTERNAL_ERROR'
          type: string
    OperationsNotFound:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: 'Possible values: NOT_FOUND'
          type: string
    OperationsServiceUnavailable:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: 'Possible values: SERVICE_UNAVAILABLE'
          type: string
    OperationsUnauthenticated:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: 'Possible values: UNAUTHENTICATED'
          type: string
    OptionalSoftwareReleaseFileMetadata:
      anyOf:
        - type: 'null'
        - $ref: '#/components/schemas/SoftwareReleaseFileMetadata'
      description: The metadata for files within a Software Release.
    PasswordSecretDef:
      description: Password secret definition
      properties:
        password:
          allOf:
            - $ref: '#/components/schemas/PasswordSecretProps'
          description: Password secret properties
          title: Password
      required:
        - password
      title: PasswordSecretDef
      type: object
    PasswordSecretProps:
      description: Password secret properties
      properties:
        password:
          description: Password value
          title: Password
          type: string
      title: PasswordSecretProps
      type: object
    PasswordSecretRedef:
      description: Password secret redefinition
      properties:
        password:
          allOf:
            - $ref: '#/components/schemas/PasswordSecretProps'
          description: Password secret properties
          title: Password
      required:
        - password
      title: PasswordSecretRedef
      type: object
    PrivateKeySecretDef:
      description: Private Key secret definition
      properties:
        privateKey:
          allOf:
            - $ref: '#/components/schemas/PrivateKeySecretProps'
          description: Private Key secret properties
          title: Privatekey
      required:
        - privateKey
      title: PrivateKeySecretDef
      type: object
    PrivateKeySecretProps:
      description: Private Key secret properties
      properties:
        privateKey:
          description: Private Key (BASE64-encoded)
          title: Privatekey
          type: string
      title: PrivateKeySecretProps
      type: object
    PrivateKeySecretRedef:
      description: Private Key secret redefinition
      properties:
        privateKey:
          allOf:
            - $ref: '#/components/schemas/PrivateKeySecretProps'
          description: Private Key secret properties
          title: Privatekey
      required:
        - privateKey
      title: PrivateKeySecretRedef
      type: object
    ReportAssignmentsResponse:
      description: Report Assignments Response
      properties:
        count:
          description: Current results page count
          title: Count
          type: integer
        items:
          description: Assignment resource definitions
          items:
            $ref: '#/components/schemas/AssignmentResourceDef'
          title: Items
          type: array
        next:
          description: Cursor for next results page
          title: Next
          type: string
        offset:
          description: Offset of current results page
          title: Offset
          type: integer
        total:
          description: Total results count
          title: Total
          type: integer
      required:
        - count
        - items
      title: ReportAssignmentsResponse
      type: object
    ReportSecretsResponse:
      description: Report Secrets Response
      properties:
        count:
          description: Current results page count
          title: Count
          type: integer
        items:
          description: Secret resource definitions
          items:
            $ref: '#/components/schemas/SecretResourceDef'
          title: Items
          type: array
        next:
          description: Cursor for next results page
          title: Next
          type: string
        offset:
          description: Offset of current results page
          title: Offset
          type: integer
        total:
          description: Total results count
          title: Total
          type: integer
      required:
        - count
        - items
      title: ReportSecretsResponse
      type: object
    ResourceReference:
      description: >-
        References to other resources include the name, type and URI of the
        other resource.
      properties:
        name:
          readOnly: true
          type: string
        resourceUri:
          readOnly: true
          type: string
        type:
          readOnly: true
          type: string
      required:
        - type
        - resourceUri
      type: object
    ResourceReferenceWithId:
      allOf:
        - $ref: '#/components/schemas/ResourceReference'
        - properties:
            id:
              format: uuid
              readOnly: true
              type: string
          type: object
      description: >-
        References to other resources include the name, type, URI and Id of the
        other resource.
    ResponseListStorageLocations:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
        - properties:
            items:
              description: The storage locations returned by the query.
              items:
                $ref: '#/components/schemas/StorageLocation'
              type: array
          required:
            - items
    SCGroupIdentity:
      description: Storage Cloud Group Identity
      properties:
        id:
          description: Identifier of the associated group
          title: Id
          type: string
        name:
          description: Name of the associated group
          title: Name
          type: string
        resourceUri:
          description: URI of the associated group
          title: Resourceuri
          type: string
      required:
        - id
      title: SCGroupIdentity
      type: object
    SCResourceRef:
      description: Storage Cloud Resource Reference
      properties:
        id:
          description: Identifier of the resource
          format: uuid
          title: Id
          type: string
        name:
          description: Name of the resource
          title: Name
          type: string
        resourceUri:
          description: URI of the resource
          title: Resourceuri
          type: string
        type:
          description: Type of the resource
          title: Type
          type: string
      required:
        - id
        - name
        - type
        - resourceUri
      title: SCResourceRef
      type: object
    SHA256Checksum:
      description: The SHA-256 checksum of a file in a Software Release in hexadecimal.
      maxLength: 64
      minLength: 64
      pattern: ^[a-f0-9]+$
      type: string
    SSHKeypairSecretDef:
      description: SSH Key Pair secret definition
      properties:
        sshKeypair:
          allOf:
            - $ref: '#/components/schemas/SSHKeypairSecretProps'
          description: SSH Key Pair secret properties
          title: Sshkeypair
      required:
        - sshKeypair
      title: SSHKeypairSecretDef
      type: object
    SSHKeypairSecretProps:
      description: SSH Key Pair secret properties
      properties:
        privateKey:
          description: Private Key (BASE64-encoded)
          title: Privatekey
          type: string
        publicKey:
          description: Public Key (BASE64-encoded)
          title: Publickey
          type: string
      title: SSHKeypairSecretProps
      type: object
    SSHKeypairSecretRedef:
      description: SSH Key Pair secret redefinition
      properties:
        sshKeypair:
          allOf:
            - $ref: '#/components/schemas/SSHKeypairSecretProps'
          description: SSH Key Pair secret properties
          title: Sshkeypair
      required:
        - sshKeypair
      title: SSHKeypairSecretRedef
      type: object
    SecretRedef:
      description: Secret Redefinition
      properties:
        description:
          description: Description for the resource
          title: Description
          type: string
        groups:
          description: Groups to be associated with the resource
          items:
            type: string
          title: Groups
          type: array
        secret:
          anyOf:
            - $ref: '#/components/schemas/AzureSPClientSecretRedef'
            - $ref: '#/components/schemas/BasicAuthSecretRedef'
            - $ref: '#/components/schemas/BearerAuthSecretRedef'
            - $ref: '#/components/schemas/CertificateSecretRedef'
            - $ref: '#/components/schemas/GenericSecretRedef'
            - $ref: '#/components/schemas/JsonWebTokenSecretRedef'
            - $ref: '#/components/schemas/OAuthClientSecretRedef'
            - $ref: '#/components/schemas/PasswordSecretRedef'
            - $ref: '#/components/schemas/PrivateKeySecretRedef'
            - $ref: '#/components/schemas/SSHKeypairSecretRedef'
          description: Secret redefinition
          title: Secret
      required:
        - secret
      title: SecretRedef
      type: object
    SecretResourceDef:
      description: Secret Resource Definition
      properties:
        assignmentsCount:
          default: 0
          description: Count of associated assignment resources
          title: Assignmentscount
          type: integer
        classifier:
          allOf:
            - $ref: '#/components/schemas/ClassifierDef'
          description: Resource classifier definition
          title: Classifier
        createdAt:
          description: Timestamp of the resource creation
          format: date-time
          title: Createdat
          type: string
        customerId:
          description: Identifier of the customer owning the resource
          title: Customerid
          type: string
        domain:
          allOf:
            - $ref: '#/components/schemas/DomainEntityDef'
          description: Resource domain definition
          title: Domain
        generation:
          description: Update generation number
          title: Generation
          type: integer
        groups:
          description: Groups associated with the resource
          items:
            $ref: '#/components/schemas/SCGroupIdentity'
          title: Groups
          type: array
        id:
          description: Identifier of the resource
          format: uuid
          title: Id
          type: string
        label:
          description: Consumer-defined label of the resource
          title: Label
          type: string
        name:
          description: Name of the resource
          title: Name
          type: string
        resourceUri:
          description: URI of the resource
          title: Resourceuri
          type: string
        service:
          description: Name of the service originating the resource
          title: Service
          type: string
        status:
          description: Status of the resource
          title: Status
          type: string
        statusUpdatedAt:
          description: Timestamp of the last status update
          format: date-time
          title: Statusupdatedat
          type: string
        subclassifier:
          allOf:
            - $ref: '#/components/schemas/SubclassifierDef'
          description: Resource subclassifier definition
          title: Subclassifier
        type:
          description: Type of the resource
          title: Type
          type: string
        updatedAt:
          description: Timestamp of the last resource update
          format: date-time
          title: Updatedat
          type: string
      required:
        - customerId
        - service
        - id
        - name
        - type
        - resourceUri
        - generation
        - updatedAt
        - createdAt
        - domain
        - classifier
        - subclassifier
        - status
        - statusUpdatedAt
      title: SecretResourceDef
      type: object
    SecretResourceRedef:
      description: Secret Resource Redefinition
      properties:
        description:
          description: Description for the resource
          title: Description
          type: string
        groups:
          description: Groups to be associated with the resource
          items:
            type: string
          title: Groups
          type: array
      title: SecretResourceRedef
      type: object
    SecretSpec:
      description: Secret Specification
      properties:
        description:
          description: Description for the resource
          title: Description
          type: string
        groups:
          description: Groups to be associated with the resource
          items:
            type: string
          title: Groups
          type: array
        label:
          description: Consumer-defined label for the resource
          title: Label
          type: string
        lifecycleEventKey:
          description: Key for resource lifecycle event messages
          title: Lifecycleeventkey
          type: string
        name:
          description: Name of the resource
          title: Name
          type: string
        secret:
          anyOf:
            - $ref: '#/components/schemas/AzureSPClientSecretDef'
            - $ref: '#/components/schemas/BasicAuthSecretDef'
            - $ref: '#/components/schemas/BearerAuthSecretDef'
            - $ref: '#/components/schemas/CertificateSecretDef'
            - $ref: '#/components/schemas/GenericSecretDef'
            - $ref: '#/components/schemas/JsonWebTokenSecretDef'
            - $ref: '#/components/schemas/OAuthClientSecretDef'
            - $ref: '#/components/schemas/PasswordSecretDef'
            - $ref: '#/components/schemas/PrivateKeySecretDef'
            - $ref: '#/components/schemas/SSHKeypairSecretDef'
          description: Secret definition
          title: Secret
        service:
          description: Name of the service originating the resource
          title: Service
          type: string
      required:
        - service
        - name
        - secret
      title: SecretSpec
      type: object
    ServiceUnavailable:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: >
            A machine-friendly identifier for the error response. The following
            error codes may be

            returned:

            - `HPE_GL_ERROR_SERVICE_UNAVAILABLE`
          example: HPE_GL_ERROR_SERVICE_UNAVAILABLE
    Setting:
      allOf:
        - $ref: '#/components/schemas/CommonResourceProperties'
        - properties:
            consoleUri:
              description: The URI for console screen that displays this resource
              type: string
            currentValue:
              description: Value of the setting
              type: string
            description:
              description: Description of the setting
              type: string
            externalApplicationName:
              description: Name of the application to be displayed in UI
              type: string
            lastUpdatedAt:
              description: >-
                Time when this setting was last updated for this account. RFC
                3339
              format: '-time'
              type: string
            lastUpdatedBy:
              description: >-
                UserId of the user who last updated this setting for this
                account
              type: string
            nextValue:
              description: >-
                Next possible value of the setting, which is updated by the
                workflow
              type: string
            possibleValues:
              description: >-
                A JSON array (stored as string) containing possible values of
                this setting
              type: string
          required:
            - id
            - type
      type: object
    SettingList:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
        - properties:
            items:
              items:
                $ref: '#/components/schemas/Setting'
              type: array
          required:
            - items
      type: object
    SettingPatch:
      properties:
        currentValue:
          description: New value of the Value setting
          type: string
      required:
        - currentValue
      type: object
    SoftwareComponentReference:
      description: The Software Component a Software Release belongs to.
      properties:
        id:
          description: The ID of the resource.
          format: uuid
          type: string
        name:
          $ref: '#/components/schemas/ResourceReference/properties/name'
        type:
          $ref: '#/components/schemas/ResourceReference/properties/type'
    SoftwareFilename:
      description: The name of a file in a Software Release.
      maxLength: 256
      minLength: 1
      pattern: ^[A-Za-z0-9_\-.]+$
      type: string
    SoftwareRelease:
      allOf:
        - $ref: '#/components/schemas/CommonResourceProperties'
        - properties:
            downloadable:
              description: Whether the files within the Software Release can be downloaded.
              type: boolean
            signature:
              $ref: '#/components/schemas/OptionalSoftwareReleaseFileMetadata'
            software:
              $ref: '#/components/schemas/SoftwareReleaseFileMetadata'
            softwareComponent:
              $ref: '#/components/schemas/SoftwareComponentReference'
            stability:
              $ref: '#/components/schemas/SoftwareReleaseStability'
            usage:
              $ref: '#/components/schemas/SoftwareReleaseUsage'
            version:
              $ref: '#/components/schemas/SoftwareReleaseVersion'
      description: A release of software.
      example:
        createdAt: '2019-08-24T14:15:22Z'
        customerId: '00000000000000000000000000000000'
        downloadable: true
        generation: 1
        id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        name: Example v1.0.0
        resourceUri: >-
          /data-services/v1beta1/software-releases/497f6eca-6276-4993-bfeb-53cbbbba6f08
        signature:
          filename: example.ova.sig
          sha256Checksum: c6a73c39b2c0d1f91594f81d01f0b79f40f6cd7a939cb3b6f1775fcf939ab3e6
          sizeInBytes: 1000
        software:
          filename": example.ova
          sha256Checksum": d63c742ff2c761619914400c18f34d2368ae84babc7eac9ffcaea8f40b68b505
          sizeInBytes": 10000
        softwareComponent:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          name: Example
          type: data-services/software-component
        stability: GENERAL_AVAILABILITY
        type: data-services/software-release
        updatedAt: '2019-08-24T14:15:22Z'
        usage: INSTALL
        version: 1.0.0
    SoftwareReleaseDownload:
      description: The values needed to download a file within a Software Release.
      properties:
        file:
          $ref: '#/components/schemas/SoftwareReleaseFile'
      required:
        - file
    SoftwareReleaseFile:
      description: The files within a Software Release.
      enum:
        - SOFTWARE
        - SIGNATURE
      type: string
    SoftwareReleaseFileMetadata:
      description: The metadata for files within a Software Release.
      properties:
        filename:
          $ref: '#/components/schemas/SoftwareFilename'
        sha256Checksum:
          $ref: '#/components/schemas/SHA256Checksum'
        sizeInBytes:
          format: int64
          minimum: 0
          type: integer
      type: object
    SoftwareReleaseList:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
        - properties:
            items:
              description: The software releases returned by the query.
              items:
                $ref: '#/components/schemas/SoftwareRelease'
              type: array
          required:
            - items
      description: A list of Software Releases from a list query.
      example:
        count: 1
        items:
          - createdAt: '2019-08-24T14:15:22Z'
            customerId: '00000000000000000000000000000000'
            downloadable: true
            generation: 1
            id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            name: Example v1.0.0
            resourceUri: >-
              /data-services/v1beta1/software-releases/497f6eca-6276-4993-bfeb-53cbbbba6f08
            signature:
              filename: example.ova.sig
              sha256Checksum: c6a73c39b2c0d1f91594f81d01f0b79f40f6cd7a939cb3b6f1775fcf939ab3e6
              sizeInBytes: 1000
            software:
              filename": example.ova
              sha256Checksum": d63c742ff2c761619914400c18f34d2368ae84babc7eac9ffcaea8f40b68b505
              sizeInBytes": 10000
            softwareComponent:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              name: Example
              type: data-services/software-component
            stability: GENERAL_AVAILABILITY
            type: data-services/software-release
            updatedAt: '2019-08-24T14:15:22Z'
            usage: INSTALL
            version: 1.0.0
        offset: 0
        total: 1
    SoftwareReleaseStability:
      description: The stabilities that can be assigned to a Software Release.
      enum:
        - GENERAL_AVAILABILITY
      type: string
    SoftwareReleaseUsage:
      description: >
        An indicator of how a Software Release should be used:


        - `INSTALL`: Used for an initial install, such as the OVA for a virtual
        machine.

        - `UPGRADE`: Upgrades an existing release.

        - `UNIVERSAL`: Acts as both an install and upgrade media.
      enum:
        - INSTALL
        - UPGRADE
        - UNIVERSAL
      type: string
    SoftwareReleaseVersion:
      description: The version of a Software Release.
      maxLength: 32
      minLength: 1
      pattern: ^(0|[1-9]\d*)(\.(0|[1-9]\d*))*(-(0|[1-9]\d*)(\.(0|[1-9]\d*))*)?$
      type: string
    StorageLocation:
      description: Required properties of a storage location.
      properties:
        capabilities:
          description: The list of features that support the storage location.
          items:
            type: string
          type: array
        city:
          description: The city the storage location is in.
          type: string
        cloudServiceProvider:
          description: The Cloud Service Provider (CSP) of the location.
          enum:
            - AWS
            - AZURE
            - GCP
          type: string
        cloudServiceProviderId:
          description: The Cloud Service Provider (CSP) ID.
          type: string
        createdAt:
          format: date-time
          type: string
        generation:
          description: >-
            A monotonically increasing value. This value updates when the
            resource is updated and can be used as a short way to determine if a
            resource has changed or which of two different copies of a resource
            is more up to date.
          format: int64
          type: integer
        geography:
          description: The geographical location of the storage location.
          enum:
            - North America
            - Europe
            - Asia Pacific
          type: string
        id:
          description: An identifier for the resource.
          type: string
        name:
          description: A system specified name for the resource.
          type: string
        resourceUri:
          description: The 'self' reference for this resource.
          type: string
        timezone:
          description: >-
            The Timezone of the location as defined by the local standard time
            (non summer time) offset from UTC.
          type: string
        type:
          description: The type of resource.
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - id
        - name
        - cloudServiceProvider
        - cloudServiceProviderId
        - geography
        - city
        - timezone
        - capabilities
        - type
        - generation
        - createdAt
        - updatedAt
        - resourceUri
      type: object
    SubclassifierDef:
      description: Resource Subclassifier Definition (e.g. BASIC_AUTH)
      properties:
        name:
          description: Name of the resource subclassifier
          title: Name
          type: string
        properties:
          description: Resource subclassifier properties
          title: Properties
          type: object
      required:
        - name
      title: SubclassifierDef
      type: object
    Tag:
      allOf:
        - $ref: '#/components/schemas/CommonRequiredProperties'
        - description: The properties of a tag.
          properties:
            key:
              $ref: '#/components/schemas/Key'
            value:
              $ref: '#/components/schemas/Value'
          type: object
      description: Tag properties.
      type: object
    TagResults:
      allOf:
        - $ref: '#/components/schemas/CommonListResponse'
      properties:
        items:
          description: The tags returned by the query.
          items:
            $ref: '#/components/schemas/Tag'
          type: array
      required:
        - items
    Unauthorized:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      properties:
        errorCode:
          description: >
            A machine-friendly identifier for the error response. The following
            error codes may be

            returned:

            - `HPE_GL_ERROR_UNAUTHORIZED`
          example: HPE_GL_ERROR_UNAUTHORIZED
    Value:
      description: The tag value.
      type: string
  securitySchemes:
    bearer:
      bearerFormat: JWT
      description: >
        The Data Service Cloud Console API uses a JWT bearer token for
        authentication.

        An authentication token can be obtained from the HPE GreenLake console.
      scheme: bearer
      type: http
