openapi: 3.1.0
info:
  title: HPE Compute Ops Management API
  description: >-
    HPE Compute Operations Management provides a Restful API to

    customers who want to manage their devices programmatically or through

    a command line. The API enables customers to invoke operations or tasks

    such as list devices, see device details, device health, and manage their

    device's firmware.


    <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
    margin: 10px 0px; border-radius: 8px; font-size: 16px;">

    <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px; text-transform:
    uppercase; font-size: 16px;">UPDATED API ENDPOINTS</h5>


    Compute Ops Management now supports the HPE GreenLake API endpoints
    (`<region>.api.greenlake.hpe.com`).

    The
    [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)
    contains more information

    about this change.

    </div>
  license:
    name: HPE End User License Agreement
    url: https://www.hpe.com/us/en/software/licensing.html
  version: latest
servers:
  - url: https://us-west.api.greenlake.hpe.com
    description: API endpoint for US West
  - url: https://eu-central.api.greenlake.hpe.com
    description: API endpoint for EU Central
  - url: https://ap-northeast.api.greenlake.hpe.com
    description: API endpoint for AP Northeast
security:
  - Bearer: []
paths:
  /compute-ops-mgmt/v1beta1/accounts/{id}:
    get:
      summary: Get account details
      description: |
        Retrieve account details by ID.
      tags:
        - accounts - v1beta1
      operationId: get_accounts
      parameters:
        - name: id
          in: path
          description: Application Customer ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/accounts/{id}/tenants:
    get:
      summary: Get list of tenant accounts
      description: Get list of tenant accounts for an MSP account
      operationId: get_uidoorway_v1_tenant_details_by_id
      tags:
        - accounts - v1beta1
      parameters:
        - required: true
          schema:
            type: string
          name: id
          in: path
          description: Application customer ID
        - name: fields[]
          in: query
          description: >-
            Names of fields within the customers. Returns details of all
            customers for the application customer ID
          required: false
          style: form
          explode: true
          schema:
            type: array
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tenantCollection-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/activation-keys:
    post:
      summary: Generate an activation key to onboard a device or appliance
      description: >
        **Note:** This API only works with iLO 6 1.62 and later or with iLO 5
        3.09 and later

        Generates a new activation key for onboarding iLO for direct management
        or secure gateway management, or secure gateway appliances
      operationId: create_activation-keys_v1_beta1
      tags:
        - activation-keys - v1beta1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/activationKeysRequest-v1beta1'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/activationKeysResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    get:
      summary: Retrieve all activation keys to onboard a device or appliance
      description: >
        Retrieve a paginated collection of activation keys for onboarding iLO
        for direct management or secure gateway management, or secure gateway
        appliances.
      operationId: get_activation-keys_v1_beta1
      tags:
        - activation-keys - v1beta1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/activationKeys-filterParam-v1beta1'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/activationKeysCollectionResponse-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/activation-keys/{activation_key}:
    delete:
      summary: Delete an activation key by activation key
      description: >
        This API deletes an activation key generated to onboard iLO for direct
        management or secure gateway management.
      operationId: delete_activation-keys_v1_beta1_by_id
      tags:
        - activation-keys - v1beta1
      parameters:
        - name: activation_key
          in: path
          description: Unique activation key identifier
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful Response
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/activation-tokens:
    post:
      deprecated: true
      summary: Generate an activation token to onboard servers
      description: >
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 07 March 2025 23:59:59 GMT`

        - Sunset at: `Mon, 07 April 2025 23:59:59 GMT`

        - Successor version: `compute-ops-mgmt/v1beta1/activation-keys`


        This API generates a new activation token, valid for a specified
        duration. 

        Once created, the activation token cannot be retrieved. If needed, a new

        activation token can be generated.
      operationId: create_activation-tokens_v1_beta1
      tags:
        - activation-tokens - v1beta1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/activationTokenRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/activationTokenResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/activities:
    get:
      summary: List all activities
      description: >-
        Retrieve the list of activities


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_activities
      tags:
        - activities - v1beta2
      parameters:
        - name: groups
          in: query
          description: >-
            Specify the number of _groups of activities_ that should be
            returned. A _group of activities_ is a single activity item that
            corresponds to one or more activities with the same activity `key`
            that occurred back-to-back. A group of activities might be "5
            servers assigned to Compute Ops Management" or "12 servers firmware
            update successful".

            This parameter has no relation to the groups resource.
          schema:
            type: integer
            minimum: 1
            maximum: 10
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/lime-limitParam-v1beta2'
        - $ref: '#/components/parameters/activities-filterParam-v1beta2'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/acceptLanguageHeader'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/activityCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/ahs-files:
    post:
      summary: Create AHS file upload
      description: >-
        A pre-signed URL can be created by issuing this POST call with correct
        payload for the task.

        The pre-signed URL allows the user to upload the selected file directly
        and securely to the 

        Compute Ops Management data store provided by Amazon Web Services (AWS)
        Simple Storage Service (S3).


        The pre-signed URL is valid for a maximum of 10 minutes. The user must
        upload the file within this 

        time period, or the link will expire, and the upload will fail.


        <b>Note:</b> Use the “parameters” list to create a pre-signed URL
        response to fill all the values in <>. 

        It will form the upload command.


        <b>An example curl command to upload an AHS file is shown below:</b>

        ```

        curl -i -F
        key=AHS_DISCONNECTED/427275fcddef29436/c924e770-...-9219276d2a5f/upload_file_presigned_post.ahs 

        -F x-amz-algorithm=AWS4-HMAC-SHA256 -F
        x-amz-credential=example_credential -F x-amz-date=20250213T000000Z 

        -F x-amz-security-token=example_token 

        -F policy=example_policy 

        -F x-amz-signature=example_signature -F
        file=@P05172-B21+2M2D110304_FWUFailure.ahs 

        'https://dev-hpecomputesupport-us-west-2.s3.amazonaws.com/'

        ```

        <b>Sample Success Response:</b>

        ```

        HTTP/1.1 200 Connection Established

        Proxy-Agent: Zscaler/6.2

        HTTP/1.1 100 Continue

        HTTP/1.1 204 No Content

        x-amz-id-2:
        LYH6S+m7DrtihxwwXGNm8l7DFsJNwlBS5ps0+vOuucVy2dzDd9OMBZLeund2vJvUUtBWiQETYn0=

        x-amz-request-id: 3RNFF7X985Y2M0WV

        Date: Mon, 16 Dec 2024 14:17:04 GMT

        x-amz-server-side-encryption: aws:kms

        x-amz-server-side-encryption-aws-kms-key-id:
        arn:aws:kms:us-west-2:647619633241:key/ebcad3a6-b6e2-4314-acf1-447f9f38f9bc

        x-amz-server-side-encryption-bucket-key-enabled: true

        ETag: "6e215e86cc62e52ad1ff5f184edd483d"

        Location:
        https://dev-hpecomputesupport-us-west-2.s3.amazonaws.com/AHS_DISCONNECTED%2F427275fcddef11ebaeaea25b204e9436%2F72684583-59cf-4a81-b4c4-c4e586c8b0c1%2FP05172-B21+2M2D110304_FWUFailure.ahs

        Server: AmazonS3

        ```
      operationId: post_ahs_file_upload_request_v1beta1
      tags:
        - ahs-files - v1beta1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ahsfilesUploadRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ahsfilesUploadResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '429':
          $ref: '#/components/responses/429-tooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    get:
      summary: List of all AHS files
      description: |
        Retrieves the status of the AHS file parsing request.
      operationId: get_ahs_files_parse_request_v1beta1
      tags:
        - ahs-files - v1beta1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ahsfilesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/ahs-files/{id}:
    get:
      summary: Get AHS file by id
      description: |
        Retrieves the status of the AHS file parsing request by its id.
      operationId: get_ahs_file_parse_request_v1beta1_by_id
      tags:
        - ahs-files - v1beta1
      parameters:
        - name: id
          in: path
          description: Unique File Identifier (File UUID)
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ahsfileResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Update the parsing status of an AHS file
      description: >-
        This API triggers a patch request to update the parsing status of an AHS
        file.

        The patch request allows updating the existing parsing status of an AHS
        file from ANALYSIS_PENDING or ANALYSIS_IN_PROGRESS to ANALYSIS_FAILED.
      operationId: patch_ahs_file_parse_status_request_v1beta1_by_id
      tags:
        - ahs-files - v1beta1
      parameters:
        - name: id
          in: path
          description: Unique File Identifier (File UUID)
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ahsfilesPatchRequest-v1beta1'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ahsfilePatchResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/ahs-files/{id}/parse:
    post:
      summary: Parse uploaded AHS file
      description: This API triggers a post request to parse an AHS file.
      operationId: post_ahs_file_parse_request_v1beta1_by_id
      tags:
        - ahs-files - v1beta1
      parameters:
        - name: id
          in: path
          description: Unique File Identifier (File UUID)
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ahsfilesParseRequest-v1beta1'
        required: true
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/ahs-files/{id}/download:
    get:
      summary: Download parsed AHS file contents
      description: >-
        This API triggers a get request to download parsed (CSV/JSON) AHS file
        contents.
      operationId: get_ahs_file_download_request_v1beta1
      tags:
        - ahs-files - v1beta1
      parameters:
        - name: id
          in: path
          description: Unique File Identifier (File UUID)
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/filenameParam'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ahsfilesDownloadResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '429':
          $ref: '#/components/responses/429-tooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/appliances:
    get:
      summary: List all secure gateway appliances
      description: Retrieve data for all secure gateway appliances.
      operationId: get_v1beta2_appliances
      tags:
        - secure-gateway-appliances - v1beta2
      parameters:
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/filterParam'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applianceCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/appliances/{device_id}:
    get:
      summary: Get a secure gateway appliance by id
      description: Get a specific secure gateway appliance by id.
      operationId: get_v1beta2_appliances_by_id
      tags:
        - secure-gateway-appliances - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          description: >-
            Unique identifier of the appliance for which information is
            retrieved
          name: device_id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appliance-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a secure gateway appliance by id
      description: Delete a specific secure gateway appliance by id.
      operationId: delete_v1beta2_appliances_by_id
      tags:
        - secure-gateway-appliances - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          description: Unique identifier of the appliance to be deleted
          name: device_id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/appliances/{device_id}/certificate:
    get:
      summary: Get secure gateway appliance certificate by id
      description: Get specific secure gateway appliance certificate by id.
      operationId: get_v1beta2_appliances_certificate_by_id
      tags:
        - secure-gateway-appliances - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          description: >-
            Unique identifier of the appliance for which information is
            retrieved
          name: device_id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          headers:
            Content-Disposition:
              description: >
                The Content-Disposition header is used to indicate that the
                response body

                contains a file attachment, and it specifies the filename of the
                attachment.

                If the appliance hostname is available, the filename will be
                `<appliance-hostname>.pem`

                Otherwise, it will be `certificate.pem`
              schema:
                type: string
                example: attachment; filename="certificate.pem"
          content:
            application/x-pem-file:
              schema:
                type: object
                description: PEM formatted certificate file
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/appliance-firmware-bundles:
    get:
      summary: List all appliance firmware bundles
      description: Retrieve the list of appliance firmware bundles
      operationId: get_v1_appliance_firmware_bundles
      tags:
        - appliance-firmware-bundles - v1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/applianceFirmwareUpdate-filterParam-v1'
        - name: displayAppliances
          in: query
          description: >-
            Populate the applicableAppliances list in the response with all
            appliances which are eligible to be upgraded to that appliance
            firmware. This behavior is supported only when the request is
            provided with applianceType filter and limited to one appliance
            firmware bundle.
          schema:
            type: boolean
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applianceFirmwareBundleCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/appliance-firmware-bundles/{id}:
    get:
      summary: Get an appliance firmware bundle by ID
      description: Retrieve the appliance firmware bundle details by its `id`
      operationId: get_v1_appliance_firmware_bundle_by_id
      tags:
        - appliance-firmware-bundles - v1
      parameters:
        - name: id
          in: path
          description: Unique Appliance firmware bundle identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applianceFirmwareBundle-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/appliance-firmware-bundles:
    get:
      summary: List all appliance firmware bundles
      description: Retrieve the list of appliance firmware bundles
      operationId: get_v1beta1_appliance_firmware_bundles
      tags:
        - appliance-firmware-bundles - v1beta1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/applianceFirmwareUpdate-filterParam-v1beta1'
        - name: displayAppliances
          in: query
          description: >-
            Populate the applicableAppliances list in the response with all
            appliances which are eligible to be upgraded to that appliance
            firmware. This behavior is supported only when the request is
            provided with applianceType filter and limited to one appliance
            firmware bundle.
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applianceFirmwareBundleCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/appliance-firmware-bundles/{id}:
    get:
      summary: Get an appliance firmware bundle by ID
      description: Retrieve the appliance firmware bundle details by its `id`
      operationId: get_v1beta1_appliance_firmware_bundle_by_id
      tags:
        - appliance-firmware-bundles - v1beta1
      parameters:
        - name: id
          in: path
          description: Unique Appliance firmware bundle identifier
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applianceFirmwareBundle-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/approval-policies:
    post:
      summary: Create an approval policy
      description: Creates an approval policy
      operationId: post_create_approval_policy_v1beta2
      tags:
        - approval-policy - v1beta2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/approvalPolicyCreateRequest-v1beta2'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta2/approval-policies/4c102e14-87cd-4c00-8f5a-73073f85c9az
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalPolicyResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    get:
      summary: List all approval policies
      description: Retrieves all active approval policies
      operationId: get_v1beta2_approval_policies
      tags:
        - approval-policy - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 50
            minimum: 0
            maximum: 10000
        - $ref: '#/components/parameters/approvalPolicies-filterParam-v1beta2'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/approvalPoliciesResponseCollection-v1beta2
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/approval-policies/{policy_id}:
    get:
      summary: Get approval policy by id
      description: Retrieves approval policy by id
      operationId: get_v1beta2_approval_policy_by_id
      tags:
        - approval-policy - v1beta2
      parameters:
        - name: policy_id
          in: path
          description: Unique Policy Identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalPolicyResponse-v1beta2'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Update the policy by id
      description: Updates an approval policy
      operationId: patch_v1beta2_approval_policy_by_id
      tags:
        - approval-policy - v1beta2
      parameters:
        - name: policy_id
          in: path
          description: Unique Policy Identifier
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/approvalPolicyPatchRequest-v1beta2'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalPolicyResponse-v1beta2'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete an approval policy
      description: Deletes an approval policy
      operationId: delete_v1beta1_approval_policy_by_id
      tags:
        - approval-policy - v1beta2
      parameters:
        - name: policy_id
          in: path
          description: Unique Policy Identifier
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successful Response
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/approval-requests:
    get:
      summary: List all approval requests
      description: Retrieves all active approval requests
      operationId: get_v1beta1_approval_requests
      tags:
        - approval-request - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 50
            minimum: 0
            maximum: 10000
        - $ref: '#/components/parameters/approvalRequests-filterParam-v1beta2'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalRequestResponseCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/approval-requests/{request_id}:
    get:
      summary: Get approval request by id
      description: Retrieves an approval request by id
      operationId: get_v1beta1_approval_request_by_id
      tags:
        - approval-request - v1beta2
      parameters:
        - name: request_id
          in: path
          description: Unique Request Identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalRequestResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Update the request by id
      description: Updates an approval request
      operationId: patch_v1beta1_approval_request_by_id
      tags:
        - approval-request - v1beta2
      parameters:
        - name: request_id
          in: path
          description: Unique Request Identifier
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/approvalRequestPatchRequest-v1beta2'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalRequestResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/approval-requests/{request_id}/approve:
    post:
      summary: Approve request
      description: Approves or declines an approval request
      operationId: post_create_approval_request_v1beta2
      tags:
        - approval-request - v1beta2
      parameters:
        - name: request_id
          in: path
          description: Unique Request Identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approvalRequestsApprove-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '422':
          $ref: '#/components/responses/422-unprocessbleEntityResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/async-operations:
    get:
      summary: List all async operations
      description: Retrieve a list of async operations for the last 7 days
      operationId: get_v1_async_operations
      tags:
        - async-operations - v1
      parameters:
        - $ref: '#/components/parameters/asyncOperations-limitParam'
        - $ref: '#/components/parameters/nextParam'
        - $ref: '#/components/parameters/asyncOperations-filterParam-v1'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asyncOperationCollection-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/async-operations/{id}:
    get:
      summary: Retrieve an async operation by ID
      description: Retrieve a specific async operation by ID for the last 7 days
      operationId: get_v1_async_operations_by_id
      tags:
        - async-operations - v1
      parameters:
        - name: id
          in: path
          description: The ID of the async operation
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asyncOperation-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/async-operations:
    get:
      summary: List all async operations
      description: Retrieve a list of async operations for the last 7 days
      operationId: get_v1beta1_async_operations
      tags:
        - async-operations - v1beta1
      parameters:
        - $ref: '#/components/parameters/asyncOperations-limitParam'
        - $ref: '#/components/parameters/nextParam'
        - $ref: '#/components/parameters/asyncOperations-filterParam-v1beta1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asyncOperationCollection-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/async-operations/{id}:
    get:
      summary: Retrieve an async operation by ID
      description: Retrieve a specific async operation by ID for the last 7 days
      operationId: get_v1beta1_async_operations_by_id
      tags:
        - async-operations - v1beta1
      parameters:
        - name: id
          in: path
          description: The ID of the async operation
          schema:
            type: string
            format: uuid
          required: true
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asyncOperation-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/energy-over-time:
    get:
      summary: Retrieve energy usage over time
      description: >-
        Retrieve energy consumption, carbon emissions and cost statistics over a
        time interval.
      tags:
        - energy-over-time - v1beta1
      operationId: get_energy_over_time
      parameters:
        - $ref: '#/components/parameters/startDate'
        - $ref: '#/components/parameters/endDate'
        - $ref: '#/components/parameters/projectionDays'
        - $ref: '#/components/parameters/resourceUri'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/energy-over-time-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/energy-by-entity:
    get:
      summary: Retrieve energy usage by entity
      description: Retrieve energy consumption, CO2 emissions and cost details per entity.
      tags:
        - energy-by-entity - v1beta1
      operationId: get_energy_by_entity
      parameters:
        - $ref: '#/components/parameters/startDate'
        - $ref: '#/components/parameters/endDate'
        - $ref: '#/components/parameters/projectionDays'
        - $ref: '#/components/parameters/aggregateBy'
        - $ref: '#/components/parameters/excludedServers'
        - $ref: '#/components/parameters/resourceUri'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 10
            minimum: 1
            maximum: 100
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/energy-by-entity-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/external-services:
    get:
      summary: List all external services
      description: >-
        Get the list of external services configured


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta1_external_services
      tags:
        - external-services - v1beta1
      parameters:
        - $ref: '#/components/parameters/externalServices-filterParam-v1beta1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalServicesCollection-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create external services
      description: >
        Create configuration for external service


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
            
        ### Purpose

        When an external configuration is configured on Compute Ops Management,
        these attributes will be used to set the

        scope of events for which incidents will be created on the external
        service.


        Incident scope selections are made such that each selection increases
        the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `serviceEventIssues` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalEventIssues` - Events that are not service events but have
          a severity level of 'critical'
          * `warningEventIssues` - Events that are not service events but have a
          severity level of 'warning'

        Below software events are independent of above events, but either one of
        the above or below option must be selected. 
          * `utilizationAlerts` - Events that are generated for breaching configured 
          power utilization threshold.

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | serviceEventIssues    | criticalEventIssues       |
        warningEventIssues   | utilizationAlerts   |  

        |:---------------------:|:-------------------------:|:--------------------:|:-------------------:|

        | False                 | False                     |
        False                | True                |

        | True                  | False                     |
        False                | True                |

        | True                  | False                     |
        False                | False               |

        | True                  | True                      |
        False                | True                |

        | True                  | True                      |
        False                | False               |

        | True                  | True                      |
        True                 | True                |

        | True                  | True                      |
        True                 | False               |


        ### Initial values

        All values are initially false except serviceEventIssues with the result
        being that incidents will be created only for service events.
      operationId: create_external_services
      tags:
        - external-services - v1beta1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/externalServicesCreateRequest-v1beta1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta1/external-services/b870f080-6448-48c5-b23a-d04f2d489174
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalServicesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/external-services/{id}:
    get:
      summary: Get an external-services item by ID
      description: >-
        Get a specific external-services item by external-services id.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta1_external_services_by_id
      tags:
        - external-services - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalServicesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete an external-services item
      description: >-
        Delete an external-services item.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: delete_v1beta1_external_services_by_id
      tags:
        - external-services - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch an external-services item
      description: >
        Partially update an external-services item


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
            
        ### Purpose

        When an external configuration is configured on Compute Ops Management,
        these attributes will be used to set the

        scope of events for which incidents will be created on the external
        service.


        Incident scope selections are made such that each selection increases
        the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `serviceEventIssues` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalEventIssues` - Events that are not service events but have
          a severity level of 'critical'
          * `warningEventIssues` - Events that are not service events but have a
          severity level of 'warning'

        Below software events are independent of above events, but either one of
        the above or below option must be selected. 
          * `utilizationAlerts` - Events that are generated for breaching configured 
          power utilization threshold

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | serviceEventIssues    | criticalEventIssues       |
        warningEventIssues   | utilizationAlerts   |  

        |:---------------------:|:-------------------------:|:--------------------:|:-------------------:|

        | False                 | False                     |
        False                | True                |

        | True                  | False                     |
        False                | True                |

        | True                  | False                     |
        False                | False               |

        | True                  | True                      |
        False                | True                |

        | True                  | True                      |
        False                | False               |

        | True                  | True                      |
        True                 | True                |

        | True                  | True                      |
        True                 | False               |


        ### Initial values

        All values are initially false except serviceEventIssues with the result
        being that incidents will be created only for service events.
      operationId: patch_v1beta1_external_services_by_id
      tags:
        - external-services - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/externalServicesUpdateRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalServicesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/external-services/{id}/test:
    post:
      summary: Perform a test with a configured external service
      description: >
        Used for performing a test to verify the integration of the configured
        external service.  An activity will be generated as a result of this
        test and indicates the success or failure of this test.

        * For external service with serviceType as SERVICE_NOW, this endpoint
        will generate a test incident for ServiceNow.


        * For external service with serviceType as DSCC, this endpoint will test
        the integration connection to Data Services Cloud Console.  This
        endpoint is available even if the configured Data Services Cloud Console
        integration is disabled.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: test_external_services
      tags:
        - external-services - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '202':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/filters:
    get:
      summary: List all saved filters
      description: >-
        Retrieve a paginated collection of saved filter resources.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: get_filters
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 50
            minimum: 0
            maximum: 10000
        - $ref: '#/components/parameters/filters-filterParam-v1beta1'
        - $ref: '#/components/parameters/sortParam'
          schema:
            type: string
            default: createdAt asc
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/filterCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Save a filter
      description: >-
        Create a new saved filter resource.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: create_filter
      parameters:
        - $ref: '#/components/parameters/idempotencyKeyHeader'
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - in: query
          name: dry-run
          description: >-
            If `true`, do not create the saved filter - instead, perform
            validation of the filter name and syntax as if creating the filter.
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/filter-v1beta1'
              oneOf:
                - required:
                    - name
                    - filter
                - required:
                    - name
                    - filterTags
        required: true
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta1/filters/b870f080-6448-48c5-b23a-d04f2d489174
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/filter-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/filters/properties:
    get:
      summary: Get filterable properties
      description: >-
        Retrieve information about resource properties usable in saved filters.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: get_filter_properties
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/filterProperties-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
  /compute-ops-mgmt/v1beta1/filters/{id}:
    get:
      summary: Get a saved filter
      description: >-
        Retrieve a single saved filter resource by ID.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: get_filter
      parameters:
        - name: id
          in: path
          description: Filter ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/filter-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a saved filter
      description: >-
        Delete a saved filter resource.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: delete_filter
      parameters:
        - name: id
          in: path
          description: Filter ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Update a saved filter
      description: >-
        Update a saved filter resource by using the [RFC
        7396](https://datatracker.ietf.org/doc/html/rfc7396) (JSON Merge Patch)
        format.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: patch_filter
      parameters:
        - name: id
          in: path
          description: Filter ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/ifMatchHeader'
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/filter-v1beta1'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/filter-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/filters/{id}/matches:
    get:
      summary: List resources matching a filter
      description: >-
        Retrieve a paginated collection of match entries that indicate which
        resources match a saved filter.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - filters - v1beta1
      operationId: get_filter_matches
      parameters:
        - name: id
          in: path
          description: Filter ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 50
            minimum: 0
            maximum: 10000
        - $ref: '#/components/parameters/sortParam'
          schema:
            type: string
            default: id asc
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/filterMatchCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/firmware-bundles:
    get:
      summary: List all firmware bundles
      description: Retrieve the list of firmware bundles
      operationId: get_v1_firmware_bundles
      tags:
        - firmware-bundles - v1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/customLimitParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firmwareBundleCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/firmware-bundles/{id}:
    get:
      summary: Get a firmware bundle by ID
      description: Retrieve the firmware bundle details by its `id`
      operationId: get_v1_firmware_bundle_by_id
      tags:
        - firmware-bundles - v1
      parameters:
        - name: id
          in: path
          description: Unique Firmware bundle identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firmwareBundle-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/firmware-bundles:
    get:
      summary: List all firmware bundles
      description: >-
        Retrieve the list of firmware bundles


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_firmware_bundles
      tags:
        - firmware-bundles - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firmwareBundleCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/firmware-bundles/{id}:
    get:
      summary: Get a firmware bundle by ID
      description: >-
        Retrieve the firmware bundle details by its `id`


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_firmware_bundle_by_id
      tags:
        - firmware-bundles - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Firmware bundle identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firmwareBundle-v1beta2'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups:
    get:
      summary: List all groups
      description: Get the list of a user's groups.
      operationId: get_v1_groups
      tags:
        - groups - v1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/groups-filterParam-v1'
        - $ref: '#/components/parameters/sortParam'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a group
      description: Create a group for a specific user.
      operationId: create_v1_group
      tags:
        - groups - v1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupCreateRequest-v1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the group that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups/{group-id}:
    get:
      summary: Get a group by ID
      description: Get a specific group by group id.
      operationId: get_v1_group_by_id
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a group
      description: Delete a group.
      operationId: delete_v1_group_by_id
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          description: >-
            If you would like to remove all devices and delete the group,
            provide the query parameter force=true.
          in: query
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a group
      description: Partially update a group.
      operationId: patch_v1_group_by_id
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/groupUpdateRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups/{group-id}/compliance:
    get:
      summary: List all devices compliance in a group
      description: List all the device's compliance detail
      operationId: get_v1_group_devices_compliance
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/groupCompliance-filterParam-v1'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceComplianceCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups/{group-id}/compliance/{compliance-id}:
    get:
      summary: Get a device compliance by compliance Id
      description: >-
        Get a specific device compliance detail of the group by passing group id
        and compliance id.
      operationId: get_v1_compliance_by_compliance_id
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: compliance-id
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceCompliance-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups/{group-id}/devices:
    get:
      summary: List all devices in a group
      description: List all devices in a group
      operationId: get_v1_group_devices
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/groupDevices-filterParam-v1'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceResponseCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Assign device(s) to a group
      description: >
        Assign device(s) to a group using an asynchronous operation. On a
        successful request this endpoint will return a `202 Accepted` response
        with a `Location` header that contains the resource URI of the
        operation. That resource URI can then be used to monitor the
        asynchronous operation's status.
      operationId: assign_v1_group_devices
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupAssignRequest-v1'
        required: true
      responses:
        '202':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1/async-operations/3921751d-1949-11ef-a4f9-20155d97c234
              schema:
                type: string
                format: uri-reference
              required: true
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups/{group-id}/devices/unassign:
    post:
      summary: Unassign device(s) from a group
      description: >
        Unassign device(s) from a group using an asynchronous operation. On a
        successful request this endpoint will return a `202 Accepted` response
        with a `Location` header that contains the resource URI of the
        operation. That resource URI can then be used to monitor the
        asynchronous operation's status.
      operationId: unassign_v1_group_devices
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          description: >-
            If set to `true`, all devices will be unassigned from the group
            specified by the `group-id`. When this is `true`, do not provide a
            request body.
          in: query
        - required: false
          schema:
            type: array
            items:
              type: string
              examples:
                - BIOS
            default: []
          style: form
          explode: true
          name: reset-subsystems
          description: >-
            After the device is removed from its group, this option initiates a
            job to factory reset the specified Redfish subsystem(s).  This
            option is only valid for DIRECT_CONNECT_SERVER devices and "BIOS" is
            the only supported subsystem.
          in: query
      requestBody:
        description: >-
          A request body containing `devices` is required if the `force` query
          parameter is not set to `true`. If `force` is `true`, then no body
          should be provided.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupRemoveRequest-v1'
        required: false
      responses:
        '202':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1/async-operations/3921751d-1949-11ef-a4f9-20155d97c234
              schema:
                type: string
                format: uri-reference
              required: true
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/groups/{group-id}/external-storage-compliance:
    get:
      summary: Get external storage compliance
      description: List all the external storage's compliance detail
      operationId: get_v1_group_external_storage_compliance
      tags:
        - groups - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
      responses:
        '200':
          description: Success (Group's external storage compliance)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalStorageComplianceResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups:
    get:
      summary: List all groups
      description: Get the list of a user's groups.
      operationId: get_v1beta3_groups
      tags:
        - groups - v1beta3
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/groups-filterParam-v1beta3'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupCollection-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a group
      description: Create a group for a specific user.
      operationId: create_v1beta3_group
      tags:
        - groups - v1beta3
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupCreateRequest-v1beta3'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the group that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1beta3/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}:
    get:
      summary: Get a group by ID
      description: Get a specific group by group id.
      operationId: get_v1beta3_group_by_id
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a group
      description: Delete a group.
      operationId: delete_v1beta3_group_by_id
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          description: >-
            If you would like to remove all devices and delete the group,
            provide the query parameter force=true.
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a group
      description: Partially update a group.
      operationId: patch_v1beta3_group_by_id
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/groupUpdateRequest-v1beta3'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/compliance:
    get:
      summary: List all devices compliance in a group
      description: List all the device's compliance detail
      operationId: get_v1beta3_group_devices_compliance
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/groupCompliance-filterParam-v1beta3'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceComplianceCollection-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/compliance/{compliance-id}:
    get:
      summary: Get a device compliance by compliance Id
      description: >-
        Get a specific device compliance detail of the group by passing group id
        and compliance id.
      operationId: get_v1beta3_compliance_by_compliance_id
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: compliance-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceCompliance-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/devices:
    get:
      summary: List all devices in a group
      description: List all devices in a group
      operationId: get_v1beta3_group_devices
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/groupDevices-filterParam-v1beta3'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceResponseCollection-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Assign device(s) to a group
      description: >
        Assign device(s) to a group using an asynchronous operation. On a
        successful request this endpoint will return a `202 Accepted` response
        with a `Location` header that contains the resource URI of the
        operation. That resource URI can then be used to monitor the
        asynchronous operation's status.
      operationId: assign_v1beta3_group_devices
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupAssignRequest-v1beta3'
        required: true
      responses:
        '202':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta1/async-operations/3921751d-1949-11ef-a4f9-20155d97c234
              schema:
                type: string
                format: uri-reference
              required: true
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/devices/unassign:
    post:
      summary: Unassign device(s) from a group
      description: >
        Unassign device(s) from a group using an asynchronous operation. On a
        successful request this endpoint will return a `202 Accepted` response
        with a `Location` header that contains the resource URI of the
        operation. That resource URI can then be used to monitor the
        asynchronous operation's status.
      operationId: unassign_v1beta3_group_devices
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          description: >-
            If set to `true`, all devices will be unassigned from the group
            specified by the `group-id`. When this is `true`, do not provide a
            request body.
          in: query
        - required: false
          schema:
            type: array
            items:
              type: string
              examples:
                - BIOS
            default: []
          style: form
          explode: true
          name: reset-subsystems
          description: >-
            After the device is removed from its group, this option initiates a
            job to factory reset the specified Redfish subsystem(s).  This
            option is only valid for DIRECT_CONNECT_SERVER devices and "BIOS" is
            the only supported subsystem.
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: >-
          A request body containing `devices` is required if the `force` query
          parameter is not set to `true`. If `force` is `true`, then no body
          should be provided.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupRemoveRequest-v1beta3'
        required: false
      responses:
        '202':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta1/async-operations/3921751d-1949-11ef-a4f9-20155d97c234
              schema:
                type: string
                format: uri-reference
              required: true
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/external-storage-compliance:
    get:
      summary: Get external storage compliance
      description: List all the external storage's compliance detail
      operationId: get_v1beta3_group_external_storage_compliance
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Success (Group's external storage compliance)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalStorageComplianceResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/ilo-settings-compliance:
    get:
      summary: List all devices iLO Settings compliance in a group
      description: List all the device's iLO Settings compliance detail
      operationId: get_v1beta3_group_ilo_settings_compliance
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
      responses:
        '200':
          description: Successful Response (Group's iLO Settings compliance)
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/deviceiLOSettingsComplianceCollection-v1beta3
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/groups/{group-id}/ilo-settings-compliance/{ilo-settings-compliance-id}:
    get:
      summary: Get a device compliance by iLO Settings compliance Id
      description: >-
        Get a specific device compliance detail of the group by passing group id
        and iLO Settings compliance id.
      operationId: get_v1beta3_ilo_settings_compliance_by_compliance_id
      tags:
        - groups - v1beta3
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: ilo-settings-compliance-id
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceiLOSettingsCompliance-v1beta3'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups:
    get:
      summary: List all groups
      description: Get the list of a user's groups.
      operationId: get_v1beta2_groups
      tags:
        - groups - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/groups-filterParam-v1beta2'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a group
      description: |
        Create a group for a specific user.

        To create a OneView appliance group, please use the v1beta3 API.
      operationId: create_v1beta2_group
      tags:
        - groups - v1beta2
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupCreateRequest-v1beta2'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the group that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1beta2/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}:
    get:
      summary: Get a group by ID
      description: Get a specific group by group id.
      operationId: get_v1beta2_group_by_id
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a group
      description: Delete a group.
      operationId: delete_v1beta2_group_by_id
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a group
      description: Partially update a group.
      operationId: patch_v1beta2_group_by_id
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/groupUpdateRequest-v1beta2'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/groupResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/compliance:
    get:
      summary: List all devices compliance in a group
      description: List all the device's compliance detail
      operationId: get_v1beta2_group_devices_compliance
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/groups-filterParam-v1beta2'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceComplianceCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/compliance/{compliance-id}:
    get:
      summary: Get a device compliance by compliance Id
      description: >-
        Get a specific device compliance detail of the group by passing group id
        and compliance id.
      operationId: get_v1beta2_compliance_by_compliance_id
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: compliance-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceCompliance-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/devices:
    get:
      summary: List all devices in a group
      description: List all devices in a group
      operationId: get_v1beta2_group_devices
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/groups-filterParam-v1beta2'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceResponseCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Assign a device to a group
      description: Assign a device to a group
      operationId: assign_v1beta2_group_devices
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: dry-run
          in: query
          description: >
            When set to `false`, servers will be assigned or moved to the group
            specified by `group-id` barring any errors.


            When set to `true`, servers will not be assigned or moved to the
            specified group. This `dry-run` request will return useful
            information about the servers involved in the request, such as the
            latest eTags.
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/groupAssignRequest-v1beta2'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceResponseCollectionNew-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Bulk unassign devices from a group
      description: Bulk unassign devices from a group
      operationId: unassign_v1beta2_group_devices
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: false
          schema:
            type: array
            items:
              type: string
            default: []
          style: form
          explode: true
          name: id
          in: query
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          in: query
        - required: false
          schema:
            type: array
            items:
              type: string
              examples:
                - BIOS
            default: []
          style: form
          explode: true
          name: reset-subsystems
          description: >-
            After the device is removed from its group, this option initiates a
            job to factory reset the specified Redfish subsystem(s).  This
            option is only valid for servers and "BIOS" is the only supported
            subsystem.
          in: query
        - $ref: '#/components/parameters/groups-filterParam-v1beta2'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/devices/{device-id}:
    delete:
      summary: Unassign a device from a group
      description: Unassign a device from a group
      operationId: unassign_v1beta2_group_device_by_id
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: true
          schema:
            type: string
          name: device-id
          in: path
        - required: false
          schema:
            type: array
            items:
              type: string
              examples:
                - BIOS
            default: []
          style: form
          explode: true
          name: reset-subsystems
          description: >-
            After the device is removed from its group, this option initiates a
            job to factory reset the specified Redfish subsystem(s).  This
            option is only valid for servers and "BIOS" is the only supported
            subsystem.
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/external-storage-compliance:
    get:
      summary: Get external storage compliance
      description: List all the external storage's compliance detail
      operationId: get_v1beta2_group_external_storage_compliance
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Success (Group's external storage compliance)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/externalStorageComplianceResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/ilo-settings-compliance:
    get:
      summary: Get iLO Settings compliance
      description: List all the iLO Settings compliance detail
      operationId: get_v1beta2_group_ilo_settings_compliance
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
      responses:
        '200':
          description: Success (Group's iLO Settings compliance)
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/deviceiLOSettingsComplianceCollection-v1beta2
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta2/groups/{group-id}/ilo-settings-compliance/{ilo-settings-compliance-id}:
    get:
      summary: Get a device iLO Settings compliance by iLO Settings compliance Id
      description: >-
        Get a specific device compliance detail of the group by passing group id
        and iLO Settings compliance id.
      operationId: get_v1beta2_ilo_settings_compliance_by_compliance_id
      tags:
        - groups - v1beta2
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: group-id
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: ilo-settings-compliance-id
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deviceiLOSettingsCompliance-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/job-templates:
    get:
      summary: List all job templates
      description: >
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 28 Feb 2025 23:59:59 GMT`

        - Sunset at : `Tue, 1 Apr 2025 23:59:59 GMT`

        - This resource is being removed. The information necessary to create
        jobs is documented in the [Jobs
        Definition](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/jobs/)
        section. There you can find all available jobs and details on how to
        create each job.


        Retrieve the list of job templates
      operationId: get_v1beta2_job_templates
      tags:
        - job-templates - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: List of job templates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobTemplateCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/job-templates/{id}:
    get:
      summary: Get a job template
      description: >
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 28 Feb 2025 23:59:59 GMT`

        - Sunset at : `Tue, 1 Apr 2025 23:59:59 GMT`

        - This resource is being removed. The information necessary to create
        jobs is documented in the [Jobs
        Definition](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/jobs/)
        section. There you can find all available jobs and details on how to
        create each job.


        Retrieve details about the job template referenced by its `id`
      operationId: get_v1beta2_job_template_by_id
      tags:
        - job-templates - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Job template identifier
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Job template data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobTemplate-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/jobs:
    get:
      summary: List all jobs
      description: Retrieve the list of jobs
      operationId: get_v1_jobs
      tags:
        - jobs - v1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
        - $ref: '#/components/parameters/jobs-filterParam-v1'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a job
      description: >-
        Create a job for a given resource. A job is a multi-step task performed
        by Compute Ops Manager.


        This table summarizes the jobs and their template IDs. For more
        information about each job template, expand the Job

        Definitions section and click on Overview to get started.


        | Name                                 |
        Description                                         | Resource Type     
        | Template ID                          |

        | ------------------------------------ |
        --------------------------------------------------  | ------------------
        | ------------------------------------ |

        | Server Power Off                     | Power off a
        server                                  | compute-ops/server |
        d0c13b58-748c-461f-9a61-c0c5c71f1bb4 |

        | Server Power On                      | Power on a
        server                                   | compute-ops/server |
        0cbb2377-1834-488d-840c-d5bf788c34fb |

        | Server Restart                       | Restart a
        server                                    | compute-ops/server |
        30110551-cad6-4069-95b8-dbce9bbd8525 |

        | Server Cold Boot                     | Cold boot a
        server                                  | compute-ops/server |
        aacfb3e0-6575-4d4f-a711-1ee1ae768407 |

        | Server Firmware Update               | Update firmware on a
        server                         | compute-ops/server |
        fd54a96c-cabc-42e3-aee3-374a2d009dba |

        | Server iLO Firmware Update           | Update iLO component firmware
        on a server           | compute-ops/server |
        94caa4ef-9ff8-4805-9e97-18a09e673b66 |

        | Server External Storage Details      | Collect external storage
        details for a server       | compute-ops/server |
        9310319e-7b7f-41ba-8b24-8b34eed1ca62 |

        | Server Firmware Download             | Download fimrware on a
        server                       | compute-ops/server |
        0683ada8-1a89-49dd-bf04-6df715b708a6 |

        | Appliance Software Update            | Update OneView
        appliance                            | compute-ops/oneview-appliance |
        1c4ac4be-8eeb-49f2-a86a-fd8c9182616c |

        | Group Firmware Update                | Update firmware on servers in a
        group               | compute-ops/group  |
        91159b5e-9eeb-11ec-a9da-00155dc0a0c0 |

        | Group Firmware Compliance            | Calculate firmware compliance
        of servers in a group | compute-ops/group  |
        23b8ba2a-6c46-4223-b028-919382c7dcac |

        | Group Appliance Update               | Update OneView appliances in a
        group                | compute-ops/group  |
        f69f553a-5004-4a08-9283-5b60abd9eb4a |

        | Group Apply Internal Storage Settings | Apply internal storage
        settings on servers in a group | compute-ops/group |
        54095626-3911-4fea-9741-816e2531994e |

        | Group Apply Server Setting           | Apply server setting on a
        group                     | compute-ops/group  |
        beff07ce-f36d-4699-9ac3-f872dcd63133 |

        | Group Apply External Storage Settings | Apply external storage
        settings on servers in a group | compute-ops/group  |
        fcb79270-5954-42e9-9374-6a065b6d494a |

        | Group External Storage Compliance    | Calculate external storage
        compliance of servers in a group | compute-ops/group |
        7177aa6a-e8f8-4e9b-ae31-e01dafcc81df |

        | Group Firmware Download              | Download firmware on servers in
        a group             | compute-ops/group  |
        a17a7aa9-4540-4c21-bbf2-31af4ff65e98 |

        | Collect Server Inventory             | Collect complete or filtered
        server inventory       | compute-ops/server |
        d6595f1b-84e6-4587-ade5-656e2a5ea20d |

        | Collect Server Network Connectivity  | Collect server adapter port to
        switch port mappings | compute-ops/server |
        b21ca9e2-8a1b-11ee-b9d1-0242ac120002 |

        | Group Operating System Installation  | Install operating system on
        servers in a group      | compute-ops/group  |
        e2952628-2629-4088-93db-91742304ef0c |

        | Collect Server log                   | Collect server
        log                                  | compute-ops/server |
        2d744494-22d4-4d61-8c65-647ccadeb6b6 |
      operationId: create_v1_job
      tags:
        - jobs - v1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: Job request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/jobCreate-v1'
      responses:
        '201':
          description: Job data
          headers:
            Location:
              description: Location for the job that was created
              schema:
                type: string
                format: uri-reference
                example: /compute-ops-mgmt/v1/jobs/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/jobs/{id}:
    get:
      summary: Get a job by ID
      description: Retrieve details about the job referenced by its `id`
      operationId: get_v1_job_by_id
      tags:
        - jobs - v1
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    patch:
      summary: Patch a job by ID
      description: Updates an existing job
      operationId: patch_v1_job_by_id
      tags:
        - jobs - v1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: Job update data
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/jobUpdate-v1'
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    parameters:
      - name: id
        in: path
        description: Unique Job identifier
        required: true
        schema:
          type: string
          format: uuid
  /compute-ops-mgmt/v1beta3/jobs:
    get:
      deprecated: true
      summary: List all jobs
      description: |
        **Note:** This path operation is going to be **deprecated and sunset!**
        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`
        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`
        - Successor version: `compute-ops-mgmt/v1/jobs`

        Retrieve the list of jobs
      operationId: get_v1beta3_jobs
      tags:
        - jobs - v1beta3
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobCollection-v1beta3'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      deprecated: true
      summary: Create a job
      description: >
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`

        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`

        - Successor version: `compute-ops-mgmt/v1/jobs`


        Create a job for a given resource. A job is a multi-step task performed
        by Compute Ops Manager.


        This table summarizes the jobs and their template IDs. For more
        information about each job template, expand the Job

        Definitions section and click on Overview to get started.


        | Name                                 |
        Description                                         | Resource Type     
        | Template ID                          |

        | ------------------------------------ |
        --------------------------------------------------  | ------------------
        | ------------------------------------ |

        | Server Power Off                     | Power off a
        server                                  | compute-ops/server |
        d0c13b58-748c-461f-9a61-c0c5c71f1bb4 |

        | Server Power On                      | Power on a
        server                                   | compute-ops/server |
        0cbb2377-1834-488d-840c-d5bf788c34fb |

        | Server Restart                       | Restart a
        server                                    | compute-ops/server |
        30110551-cad6-4069-95b8-dbce9bbd8525 |

        | Server Cold Boot                     | Cold boot a
        server                                  | compute-ops/server |
        aacfb3e0-6575-4d4f-a711-1ee1ae768407 |

        | Server Firmware Update               | Update firmware on a
        server                         | compute-ops/server |
        fd54a96c-cabc-42e3-aee3-374a2d009dba |

        | Server iLO Firmware Update           | Update iLO component firmware
        on a server           | compute-ops/server |
        94caa4ef-9ff8-4805-9e97-18a09e673b66 |

        | Server External Storage Details      | Collect external storage
        details for a server       | compute-ops/server |
        9310319e-7b7f-41ba-8b24-8b34eed1ca62 |

        | Appliance Software Update            | Update OneView
        appliance                            | compute-ops/oneview-appliance |
        1c4ac4be-8eeb-49f2-a86a-fd8c9182616c |

        | Group Firmware Update                | Update firmware on servers in a
        group               | compute-ops/group  |
        91159b5e-9eeb-11ec-a9da-00155dc0a0c0 |

        | Group Firmware Compliance            | Calculate firmware compliance
        of servers in a group | compute-ops/group  |
        23b8ba2a-6c46-4223-b028-919382c7dcac |

        | Group Appliance Update               | Update OneView appliances in a
        group                | compute-ops/group  |
        f69f553a-5004-4a08-9283-5b60abd9eb4a |

        | Group Apply Internal Storage Settings | Apply internal storage
        settings on servers in a group | compute-ops/group |
        54095626-3911-4fea-9741-816e2531994e |

        | Group Apply Server Setting           | Apply server setting on a
        group                     | compute-ops/group  |
        beff07ce-f36d-4699-9ac3-f872dcd63133 |

        | Group Apply External Storage Settings | Apply external storage
        settings on servers in a group | compute-ops/group  |
        fcb79270-5954-42e9-9374-6a065b6d494a |

        | Group External Storage Compliance    | Calculate external storage
        compliance of servers in a group | compute-ops/group |
        7177aa6a-e8f8-4e9b-ae31-e01dafcc81df |

        | Collect Server Inventory             | Collect complete or filtered
        server inventory       | compute-ops/server |
        d6595f1b-84e6-4587-ade5-656e2a5ea20d |

        | Collect Server Network Connectivity  | Collect server adapter port to
        switch port mappings | compute-ops/server |
        b21ca9e2-8a1b-11ee-b9d1-0242ac120002 |

        | Group Operating System Installation  | Install operating system on
        servers in a group      | compute-ops/group  |
        e2952628-2629-4088-93db-91742304ef0c |

        | Group iLO Settings Compliance | Calculate ilo settings compliance of
        servers in a group | compute-ops/group |
        a55c8b26-3c57-4044-a4ee-1d0e3c108286 |
      operationId: create_v1beta3_job
      tags:
        - jobs - v1beta3
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: Job request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/jobCreate-v1beta3'
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1beta3'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta3/jobs/{id}:
    get:
      deprecated: true
      summary: Get a job by ID
      description: |
        **Note:** This path operation is going to be **deprecated and sunset!**
        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`
        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`
        - Successor version: `compute-ops-mgmt/v1/jobs/id`

        Retrieve details about the job referenced by its `id`
      operationId: get_v1beta3_job_by_id
      tags:
        - jobs - v1beta3
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1beta3'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    patch:
      deprecated: true
      summary: Patch a job by ID
      description: |
        **Note:** This path operation is going to be **deprecated and sunset!**
        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`
        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`
        - Successor version: `compute-ops-mgmt/v1/jobs/id`

        Updates an existing job
      operationId: patch_v1beta3_job_by_id
      tags:
        - jobs - v1beta3
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: Job update data
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/jobUpdate-v1beta3'
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1beta3'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    parameters:
      - name: id
        in: path
        description: Unique Job identifier
        required: true
        schema:
          type: string
          format: uuid
  /compute-ops-mgmt/v1beta2/jobs:
    get:
      deprecated: true
      summary: List all jobs
      description: |
        **Note:** This path operation is going to be **deprecated and sunset!**
        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`
        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`
        - Successor version: `compute-ops-mgmt/v1/jobs`

        Retrieve the list of jobs
      operationId: get_v1beta2_jobs
      tags:
        - jobs - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/jobCollection-v1beta2'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      deprecated: true
      summary: Create a job
      description: >
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`

        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`

        - Successor version: `compute-ops-mgmt/v1/jobs`


        Create a job for a given resource. A job is a multi-step task performed
        by Compute Ops Manager.


        This table summarizes the jobs and their template IDs. For more
        information about each job template, expand the Job

        Definitions section and click on Overview to get started.


        | Name                                 |
        Description                                         | Resource Type     
        | Template ID                          |

        | ------------------------------------ |
        --------------------------------------------------  | ------------------
        | ------------------------------------ |

        | Server Power Off                     | Power off a
        server                                  | compute-ops/server |
        d0c13b58-748c-461f-9a61-c0c5c71f1bb4 |

        | Server Power On                      | Power on a
        server                                   | compute-ops/server |
        0cbb2377-1834-488d-840c-d5bf788c34fb |

        | Server Restart                       | Restart a
        server                                    | compute-ops/server |
        30110551-cad6-4069-95b8-dbce9bbd8525 |

        | Server Cold Boot                     | Cold boot a
        server                                  | compute-ops/server |
        aacfb3e0-6575-4d4f-a711-1ee1ae768407 |

        | Server Firmware Update               | Update firmware on a
        server                         | compute-ops/server |
        fd54a96c-cabc-42e3-aee3-374a2d009dba |

        | Server iLO Firmware Update           | Update iLO component firmware
        on a server           | compute-ops/server |
        94caa4ef-9ff8-4805-9e97-18a09e673b66 |

        | Group Firmware Update                | Update firmware on servers in a
        group               | compute-ops/group  |
        91159b5e-9eeb-11ec-a9da-00155dc0a0c0 |

        | Group Firmware Compliance            | Calculate firmware compliance
        of servers in a group | compute-ops/group  |
        23b8ba2a-6c46-4223-b028-919382c7dcac |

        | Group Apply Internal Storage Settings | Apply internal storage
        settings on servers in a group | compute-ops/group |
        54095626-3911-4fea-9741-816e2531994e |

        | Group Apply Server Setting           | Apply server setting on a
        group                     | compute-ops/group  |
        beff07ce-f36d-4699-9ac3-f872dcd63133 |

        | Collect Server Inventory             | Collect complete or filtered
        server inventory       | compute-ops/server |
        d6595f1b-84e6-4587-ade5-656e2a5ea20d |

        | Collect Server Network Connectivity  | Collect server adapter port to
        switch port mappings | compute-ops/server |
        b21ca9e2-8a1b-11ee-b9d1-0242ac120002 |

        | Group iLO Settings Compliance        | Calculate ilo settings
        compliance of servers in a group | compute-ops/group  |
        a55c8b26-3c57-4044-a4ee-1d0e3c108286 |
      operationId: create_v1beta2_job
      tags:
        - jobs - v1beta2
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: Job request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/jobCreate-v1beta2'
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1beta2'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/jobs/{id}:
    get:
      deprecated: true
      summary: Get a job by ID
      description: |
        **Note:** This path operation is going to be **deprecated and sunset!**
        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`
        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`
        - Successor version: `compute-ops-mgmt/v1/jobs/id`

        Retrieve details about the job referenced by its `id`
      operationId: get_v1beta2_job_by_id
      tags:
        - jobs - v1beta2
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1beta2'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    patch:
      deprecated: true
      summary: Patch a job by ID
      description: |
        **Note:** This path operation is going to be **deprecated and sunset!**
        - Deprecated at: `Fri, 31 Jan 2025 23:59:59 GMT`
        - Sunset at : `Mon, 3 Mar 2025 23:59:59 GMT`
        - Successor version: `compute-ops-mgmt/v1/jobs/id`

        Updates an existing job
      operationId: patch_v1beta2_job_by_id
      tags:
        - jobs - v1beta2
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: Job update data
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/jobUpdate-v1beta2'
      responses:
        '200':
          description: Job data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/job-v1beta2'
          headers:
            Deprecation:
              description: |
                The path operation will be deprecated as of this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Sunset:
              description: >
                The path operation will be sunset and might become unresponsive
                anytime after this date and time.
              required: true
              schema:
                type: string
                format: RFC-5322
            Link:
              description: >-
                Link to additional information about the deprecation and sunset
                of this path operation.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    parameters:
      - name: id
        in: path
        description: Unique Job identifier
        required: true
        schema:
          type: string
          format: uuid
  /compute-ops-mgmt/v1/metrics-configurations:
    get:
      summary: List metrics data collection configuration
      description: List metrics data collection configuration
      operationId: get_v1_metrics_configurations
      tags:
        - metrics-configurations - v1
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/metricsConfigurationCollection-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    post:
      summary: Create metrics data collection configuration
      description: Create metrics data collection configuration
      operationId: create_v1_metrics_configurations
      tags:
        - metrics-configurations - v1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/metricsConfigurationRequest-v1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1/metrics-configurations/b870f080-6448-48c5-b23a-d04f2d489174
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/metricsConfigurationResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/metrics-configurations/{id}:
    get:
      summary: Get metrics-configuration item by ID
      description: Get specific metrics-configuration item by metrics-configuration id.
      operationId: get_v1_metrics_configuration_by_id
      tags:
        - metrics-configurations - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/metricsConfigurationResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a metrics-configuration item
      description: Delete a metrics-configuration item.
      operationId: delete_v1_metrics_configuration_by_id
      tags:
        - metrics-configurations - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a metrics-configuration item
      description: Partially update a metrics-configuration item
      operationId: patch_v1_metrics_configuration_by_id
      tags:
        - metrics-configurations - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/metricsConfigurationRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/metricsConfigurationResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/oneview-appliances:
    get:
      summary: List all OneView appliances
      description: >-
        Retrieve data for all OneView appliances.

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta1_oneview_appliances
      tags:
        - oneview-appliances - v1beta1
      parameters:
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/filterParam'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oneviewApplianceCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Add a OneView appliance
      description: >-
        Add a OneView appliance for management.

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: add_v1beta1_oneview_appliances
      tags:
        - oneview-appliances - v1beta1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/oneviewApplianceAddRequest-v1beta1'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oneviewAppliance-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/oneview-appliances/{device-id}:
    get:
      summary: Get a OneView appliance by id
      description: >-
        Get a specific OneView appliance by id.

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta1_oneview_appliances_by_id
      tags:
        - oneview-appliances - v1beta1
      parameters:
        - required: true
          schema:
            type: string
          description: >-
            Unique identifier of the OneView appliance for which information is
            retrieved
          name: device-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oneviewAppliance-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a OneView appliance by id
      description: >-
        Delete a specific OneView appliance by id.

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: delete_v1beta1_oneview_appliances_by_id
      tags:
        - oneview-appliances - v1beta1
      parameters:
        - required: true
          schema:
            type: string
          description: Unique identifier of the OneView appliance to be deleted
          name: device-id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/oneview-settings:
    get:
      summary: List all OneView appliance settings
      description: |
        Retrieve data for all OneView appliance settings
      operationId: get_v1beta1_oneview_appliance_settings
      tags:
        - oneview-settings - v1beta1
      parameters:
        - $ref: '#/components/parameters/oneviewSettings-limitParam'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/oneviewSettings-filterParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oneviewSettingsCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/oneview-server-templates:
    get:
      summary: List all OneView server templates
      description: |
        Retrieve data for all OneView server templates
      operationId: get_v1beta1_oneview_server_templates
      tags:
        - oneview-server-templates - v1beta1
      parameters:
        - $ref: '#/components/parameters/templates-limitParam'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/sortParam'
        - $ref: '#/components/parameters/templates-filterParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverTemplatesCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/oneview-server-templates/{id}:
    get:
      summary: Get a OneView server template by template id
      description: Get a specific OneView server template by template id.
      operationId: get_v1beta1_oneview_server_templates_by_templateid
      tags:
        - oneview-server-templates - v1beta1
      parameters:
        - required: true
          schema:
            description: Unique identifier of OneView server template
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/oneviewServerTemplate-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/reports:
    get:
      summary: List all reports
      description: >-
        Retrieve a paginated collection of report metadata resources. 
        Currently, only the latest report of each

        type is retained.
      tags:
        - reports - v1beta2
      operationId: get_reports_v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 5
            minimum: 0
            maximum: 10
        - $ref: '#/components/parameters/reports-filterParam-v1beta1'
        - $ref: '#/components/parameters/sortParam'
          schema:
            type: string
            default: createdAt desc
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reportCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create report
      description: Create a report for specified time interval.
      operationId: post_reports_v1beta2
      tags:
        - reports - v1beta2
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reportsRequest-v1beta2'
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta2/reports/843023bd-9412-46c2-8ac2-a3691f657fdb
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/report-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/reports/{id}:
    get:
      summary: Get report metadata
      description: Retrieve a single report metadata resource by ID.
      tags:
        - reports - v1beta2
      operationId: get_report_v1beta2
      parameters:
        - name: id
          in: path
          description: Report ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/report-v1beta2'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/reports/{id}/data:
    get:
      summary: Get report data
      description: Retrieve the data for a report
      tags:
        - reports - v1beta2
      operationId: get_report_data_v1beta2
      parameters:
        - name: id
          in: path
          description: Report ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/filterParam'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reportData-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/schedules:
    get:
      summary: List all schedules
      description: >-
        Retrieve a paginated collection of schedule resources.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: get_v1beta2_schedules
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 50
            minimum: 0
            maximum: 10000
        - $ref: '#/components/parameters/schedules-filterParam-v1beta2'
        - $ref: '#/components/parameters/sortParam'
          schema:
            type: string
            default: createdAt asc
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scheduleCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a schedule
      description: >-
        Create a new schedule resource. This endpoint requires permission to
        call the `uri` endpoint specified in the `operation` of the request.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: create_v1beta2_schedule
      parameters:
        - $ref: '#/components/parameters/idempotencyKeyHeader'
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/schedulePost-v1beta2'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: The URI of the newly-created resource
              example: >-
                /compute-ops-mgmt/v1beta2/schedules/37f66ae4-20a1-48f1-b552-b515457639ca
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schedule-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/schedules/{id}:
    get:
      summary: Get a schedule
      description: >-
        Retrieve a single schedule resource by ID.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: get_v1beta2_schedule
      parameters:
        - name: id
          in: path
          description: Schedule ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schedule-v1beta2'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a schedule
      description: >-
        Delete a schedule resource and its associated history.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: delete_v1beta2_schedule
      parameters:
        - name: id
          in: path
          description: Schedule ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Update a schedule
      description: >-
        A update a schedule resource, using the [RFC
        7396](https://datatracker.ietf.org/doc/html/rfc7396) (JSON Merge Patch)
        format.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: patch_v1beta2_schedule
      parameters:
        - name: id
          in: path
          description: Schedule ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/ifMatchHeader'
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/schedulePatch-v1beta2'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schedule-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '412':
          $ref: '#/components/responses/412-preconditionFailedResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/schedules/{id}/history:
    get:
      summary: List all history of a schedule
      description: >-
        Retrieve a paginated collection of history entries for a schedule
        resource.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: get_v1beta2_schedule_history
      parameters:
        - name: id
          in: path
          description: Schedule ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 50
            minimum: 0
            maximum: 10000
        - $ref: '#/components/parameters/schedules-filterParam-v1beta2'
        - $ref: '#/components/parameters/sortParam'
          schema:
            type: string
            default: startedAt desc
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scheduleHistoryCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/schedules/{id}/history/{history-id}:
    get:
      summary: Get a history resource
      description: >-
        Retrieve a single history entry for a schedule resource.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      tags:
        - schedules - v1beta2
      operationId: get_v1beta2_schedule_history_entry
      parameters:
        - name: id
          in: path
          description: Schedule ID
          required: true
          schema:
            type: string
            format: uuid
        - name: history-id
          in: path
          description: History ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scheduleHistory-v1beta2'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/server-locations/{location_id}:
    get:
      summary: Get location details
      description: >
        Get location details with id of the servers associated with the
        location.
         The associted servers for the location includes both direct connect and OneView managed servers.
      operationId: get_v1beta1_server_locations
      tags:
        - server-locations - v1beta1
      parameters:
        - in: path
          name: location_id
          description: Location ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverLocationResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/server-locations/{location_id}/servers:
    post:
      summary: Assign location to servers
      description: >
        Assign a location for servers managed by HPE OneView. Use HPE GreenLake
        Locations API for managing location of servers which are managed
        directly by Compute Ops Management.
      operationId: post_v1beta1_server_locations
      tags:
        - server-locations - v1beta1
      parameters:
        - in: path
          name: location_id
          description: ID of the location in HPE GreenLake
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assignServerLocationRequest-v1beta1'
      responses:
        '202':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Remove location of servers
      description: >
        Remove location of one or more servers managed by HPE OneView. Use HPE
        GreenLake Locations API for managing location of servers which are
        managed directly by Compute Ops Management.
      operationId: delete_v1beta1_server_locations
      tags:
        - server-locations - v1beta1
      parameters:
        - in: path
          name: location_id
          description: ID of the location in HPE GreenLake
          required: true
          schema:
            type: string
            format: uuid
        - in: query
          name: id
          required: true
          schema:
            type: array
            items:
              type: string
              format: productId+serialNumber (percent-encoded)
          style: form
          explode: true
          examples:
            oneId:
              summary: Example with a single server id
              value:
                - 177751-Y66%2B8899177751666258
            multipleIds:
              summary: Example with multiple server ids
              value:
                - 177751-Y66%2B8899177751666258
                - 320888-H80%2B8899320888180208
      responses:
        '202':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta1/server-settings:
    get:
      summary: List all server settings
      description: Get the list of a user's server-settings
      operationId: get_v1beta1_server_settings
      tags:
        - server-settings - v1beta1
      parameters:
        - $ref: '#/components/parameters/serverSettings-filterParam-v1beta1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverSettingsCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create server settings
      description: Create a server settings entry
      operationId: create_server_settings
      tags:
        - server-settings - v1beta1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/serverSettingsCreateRequest-v1beta1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the server-settings item that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1beta1/server-settings/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverSettingsResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops/v1beta1/server-settings/{id}:
    get:
      summary: Get a server-settings item by ID
      description: Get a specific server-settings item by server-settings id.
      operationId: get_v1beta1_server_settings_by_id
      tags:
        - server-settings - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverSettingsResponse-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a server-settings item
      description: Delete a server-settings item.
      operationId: delete_v1beta1_server_settings_by_id
      tags:
        - server-settings - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a server-settings item
      description: Partially update a server-settings item.
      operationId: patch_v1beta1_server_settings_by_id
      tags:
        - server-settings - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/serverSettingsUpdateRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverSettingsResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/settings:
    get:
      summary: List all device settings
      description: Get the list of a user's device settings
      operationId: get_v1_settings
      tags:
        - settings - v1
      parameters:
        - $ref: '#/components/parameters/settings-filterParam-v1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a device setting
      description: Create a device setting entry
      operationId: create_v1_settings
      tags:
        - settings - v1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/settingsCreateRequest-v1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the settings item that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1/settings/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/settings/{id}:
    get:
      summary: Get a device setting by ID
      description: Get a specific device settings item by its id.
      operationId: get_v1_settings_by_id
      tags:
        - settings - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsResponse-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a device setting
      description: Delete a device settings item.
      operationId: delete_v1_settings_by_id
      tags:
        - settings - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a device setting
      description: Partially update a device settings item.
      operationId: patch_v1_settings_by_id
      tags:
        - settings - v1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/settingsUpdateRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/settings:
    get:
      summary: List all device settings
      description: Get the list of a user's device settings
      operationId: get_v1beta1_settings
      tags:
        - settings - v1beta1
      parameters:
        - $ref: '#/components/parameters/settings-filterParam-v1beta1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a device setting
      description: Create a device setting entry
      operationId: create_settings
      tags:
        - settings - v1beta1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/settingsCreateRequest-v1beta1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the settings item that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1beta1/settings/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/settings/{id}:
    get:
      summary: Get a device setting by ID
      description: Get a specific device settings item by its id.
      operationId: get_v1beta1_settings_by_id
      tags:
        - settings - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsResponse-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a device setting
      description: Delete a device settings item.
      operationId: delete_v1beta1_settings_by_id
      tags:
        - settings - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - required: false
          schema:
            type: boolean
            default: false
          name: force
          in: query
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '204':
          description: Successful Response
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '409':
          $ref: '#/components/responses/409-conflictResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a device setting
      description: Partially update a device settings item.
      operationId: patch_v1beta1_settings_by_id
      tags:
        - settings - v1beta1
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: id
          in: path
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/settingsUpdateRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settingsResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers:
    get:
      summary: List all servers
      description: |-
        Retrieve data for all Servers

        Servers without a valid subscription will not return the following:
          - hardware.health
          - hardware.memoryMb
          - hardware.formFactor
          - hardware.bmc
          - hardware.platform
          - hardware.powerState
          - hardware.indicatorLed
          - firmwareInventory
          - softwareInventory
          - lastFirmwareUpdate
          - host
          - firmwareBundleUri
          - tags
          - originIp
          - biosFamily
          - storageInventory
          - processorVendor
          - autoIloFwupdate
          - serverGeneration
          - connectionType
          - oneview
      operationId: get_v1_servers
      tags:
        - servers - v1
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/servers-limitParam'
        - $ref: '#/components/parameters/servers-filterParam-v1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch multiple servers
      description: >-
        Update multiple server(s) specified by the `id`(s). The operation is
        atomic (either fully successful or failing without modifying any
        servers).
      operationId: patch_v1_servers_by_ids
      tags:
        - servers - v1
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: array
            items:
              type: string
              format: productId+serialNumber (percent-encoded)
          style: form
          explode: true
          examples:
            oneId:
              summary: Example with a single server id
              value:
                - 177751-Y66%2B8899177751666258
            multipleIds:
              summary: Example with multiple server ids
              value:
                - 177751-Y66%2B8899177751666258
                - 320888-H80%2B8899320888180208
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/serverUpdateRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create credential based server
      description: >-
        Create a credential based server with the specified user defined
        properties.
      operationId: post_v1_server
      tags:
        - servers - v1
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/serverCreateRequest-v1'
        required: true
      responses:
        '202':
          description: Successful Response
          headers:
            Location:
              description: The URI of the job that was created to process the request
              example: /compute-ops-mgmt/v1/jobs/43b48ef5-45f0-4f9b-9196-4f434465855e
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverJobResponse'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}:
    get:
      summary: Get a server
      description: |-
        Retrieve data for a Server specified by its `id`

        Servers without a valid subscription will not return the following:
          - hardware.health
          - hardware.memoryMb
          - hardware.formFactor
          - hardware.bmc
          - hardware.platform
          - hardware.powerState
          - hardware.indicatorLed
          - firmwareInventory
          - softwareInventory
          - lastFirmwareUpdate
          - host
          - firmwareBundleUri
          - tags
          - originIp
          - biosFamily
          - storageInventory
          - processorVendor
          - autoIloFwupdate
          - serverGeneration
          - connectionType
          - oneview
      operationId: get_v1_server_by_id
      tags:
        - servers - v1
      responses:
        '200':
          description: Server Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
    patch:
      summary: Patch a server
      description: |-
        Partially update a Server specified by its `id`

        Servers without a valid subscription will not return the following:
          - hardware.health
          - hardware.memoryMb
          - hardware.formFactor
          - hardware.bmc
          - hardware.platform
          - hardware.powerState
          - hardware.indicatorLed
          - firmwareInventory
          - softwareInventory
          - lastFirmwareUpdate
          - host
          - firmwareBundleUri
          - tags
          - originIp
          - biosFamily
          - storageInventory
          - processorVendor
          - autoIloFwupdate
          - serverGeneration
          - connectionType
          - oneview
      operationId: patch_v1_server_by_id
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/serverUpdateRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a credential based server
      description: Delete a credential based server.
      operationId: delete_v1_server_by_id
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/alerts:
    get:
      summary: List all alerts for a server
      description: Retrieve alert data for a Server specified by the id of the server
      operationId: get_v1_server_alerts
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/servers-filterParam-v1'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's Alert Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/alertCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/clear-alert:
    post:
      summary: Clear power utilization alerts for a server
      description: Clear power utilization alerts for a server
      operationId: clear_v1_software_alerts
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P43990-121+SYN1002J11
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/clearAlertRequest-v1'
        required: true
      responses:
        '202':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/analyze-os-install:
    post:
      summary: Analyze server configuration for operating system installation
      description: >-
        Validate the presence of storage volume for the server specified by the
        `id` for operating system installation. The request body is empty.
      operationId: post_v1_analyze_os_install
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P43990-121+SYN1002J11
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/analyzeOsInstallResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/external-storage-details:
    get:
      summary: Get external storage details
      description: >-
        Retrieves external storage hosts and volume details for a server
        specified by the server id.  The `Server External Storage Details` job
        must be run successfully before this endpoint will be accessible.
      operationId: get_v1_server_external_storage_details
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Success (Server's external storage details)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverVolumeDetailsResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/inventory:
    get:
      summary: List inventories for a server
      description: >-
        Retrieve firmware, software, storage inventories, PCI devices and smart
        update tool settings for a server specified by the id of the server
      operationId: get_v1_server_inventory
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's inventory Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inventory-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: List subset of a Server Inventory
      description: >-
        Lists the subset of the server hardware inventory. The request body can
        either specify a subset of attributes, or can be empty, and a subset of
        attributes or the full inventory response is returned.
      operationId: post_v1_subset_server_inventory
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P43990-121+SYN1002J11
        - name: format
          in: query
          description: Format for subset inventory response
          required: true
          schema:
            type: string
            format: json
            example: json
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: >-
          Below is an example payload for fetching chassis and processor
          inventory which is a subset.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subsetServerInventoryRequest-v1'
        required: true
      responses:
        '200':
          description: Subset of a Server Inventory
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subsetServerInventoryResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/notifications:
    get:
      summary: Get the event and health notification status for a server
      description: >-
        ### Purpose

        Retrieves the current values of the event and health notification
        options.

        * For `criticalNotification` a notification will be sent if the value is
        `true`, and no notification will be sent if the value is false.

        * For the following properties a notification will be sent if the value
        is true. No notification will be sent if the value is null or false.
          * `criticalNonServiceNotification`
          * `warningNotification`
          * `healthNotification`
      operationId: get_v1_server_notifications
      tags:
        - servers - v1
      parameters:
        - required: true
          schema:
            type: string
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationsResponse-v1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    put:
      summary: Update event and health notifications for a server
      description: >
        ### Purpose

        When a server is added to Compute Ops Management, these attributes will
        be used to set the

        initial email notification subscription choices for event and daily
        health email notifications.


        Event notification selections are made such that each selection
        increases the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `criticalNotification` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalNonServiceNotification` - Events that are not service events but have
          a severity level of 'critical'
          * `warningNotification` - Events that are not service events but have a
          severity level of 'warning'

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | criticalNotification  | criticalNonServiceNotification  |
        warningNotification  |

        |:---------------------:|:-------------------------------:|:--------------------:|

        | False                 | False                           |
        False                |

        | True                  | False                           |
        False                |

        | True                  | True                            |
        False                |

        | True                  | True                            |
        True                 |


        ### Initial values

        All values are initially false with the result being that no
        notifications will be sent.
      operationId: update_v1_server_notifications
      tags:
        - servers - v1
      parameters:
        - required: true
          schema:
            type: string
          name: id
          in: path
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationsRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationsResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/raw-inventory:
    get:
      summary: List raw inventories for a server
      deprecated: true
      description: >-
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 7 Nov 2024 23:59:59 GMT`

        - Sunset at: `Fri, 30 May 2025 23:59:59 GMT`

        - Successor version: `compute-ops-mgmt/v1/servers/{id}/inventory`


        Retrieve firmware, software, storage inventories, PCI devices and smart
        update tool settings for a server specified by the id of the server.
      operationId: get_v1_server_raw_inventory
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's raw inventory Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rawInventory-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/security-parameters:
    get:
      summary: Get security parameters for a server
      description: >-
        Retrieve a list of security parameters for a server specified by the id
        of the server
      operationId: get_v1_server_security_parameters
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's security parameters Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/securityParametersResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/tor-port-mappings:
    get:
      summary: List of adapter to switch port mappings for a server
      description: >-
        Retrieve network connectivity of adapter port to connected switch port
        for a server specified by the id of the server
      operationId: get_v1_server_network_connectivity
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P06760-B21+2M212504P8
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            minimum: 0
            maximum: 100
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's network connectivity Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/torPortMappingsCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers:
    get:
      summary: List all servers
      description: >-
        Retrieve data for all Servers


        Servers without a valid subscription will not return the following:
          - hardware.health
          - hardware.memoryMb
          - hardware.formFactor
          - hardware.bmc
          - hardware.platform
          - hardware.powerState
          - hardware.indicatorLed
          - firmwareInventory
          - softwareInventory
          - lastFirmwareUpdate
          - host
          - firmwareBundleUri
          - tags
          - originIp
          - biosFamily
          - storageInventory
          - processorVendor
          - autoIloFwupdate
          - serverGeneration
          - connectionType
          - oneview

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_servers
      tags:
        - servers - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/servers-limitParam'
        - $ref: '#/components/parameters/servers-filterParam-v1beta2'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch multiple servers
      description: >-
        Update multiple server(s) specified by the `id`(s). The operation is
        atomic (either fully successful or failing without modifying any
        servers).


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: patch_v1beta2_servers_by_ids
      tags:
        - servers - v1beta2
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: array
            items:
              type: string
              format: productId+serialNumber (percent-encoded)
          style: form
          explode: true
          examples:
            oneId:
              summary: Example with a single server id
              value:
                - 177751-Y66%2B8899177751666258
            multipleIds:
              summary: Example with multiple server ids
              value:
                - 177751-Y66%2B8899177751666258
                - 320888-H80%2B8899320888180208
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/serverUpdateRequest-v1beta2'
        required: true
      responses:
        '200':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create credential based server
      description: >-
        Create a credential based server with the specified user defined
        properties.
      operationId: post_v1beta2_server
      tags:
        - servers - v1beta2
      parameters:
        - $ref: '#/components/parameters/contentTypeHeaderJson'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/serverCreateRequest-v1beta2'
        required: true
      responses:
        '202':
          description: Successful Response
          headers:
            Location:
              description: The URI of the job that was created to process the request
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverJobResponse'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}:
    get:
      summary: Get a server
      description: >-
        Retrieve data for a Server specified by its `id`


        Servers without a valid subscription will not return the following:
          - hardware.health
          - hardware.memoryMb
          - hardware.formFactor
          - hardware.bmc
          - hardware.platform
          - hardware.powerState
          - hardware.indicatorLed
          - firmwareInventory
          - softwareInventory
          - lastFirmwareUpdate
          - host
          - firmwareBundleUri
          - tags
          - originIp
          - biosFamily
          - storageInventory
          - processorVendor
          - autoIloFwupdate
          - serverGeneration
          - connectionType
          - oneview

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_by_id
      tags:
        - servers - v1beta2
      responses:
        '200':
          description: Server Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    parameters:
      - name: id
        in: path
        description: Unique Server identifier
        required: true
        schema:
          type: string
    patch:
      summary: Patch a server
      description: >-
        Partially update a Server specified by its `id`


        Servers without a valid subscription will not return the following:
          - hardware.health
          - hardware.memoryMb
          - hardware.formFactor
          - hardware.bmc
          - hardware.platform
          - hardware.powerState
          - hardware.indicatorLed
          - firmwareInventory
          - softwareInventory
          - lastFirmwareUpdate
          - host
          - firmwareBundleUri
          - tags
          - originIp
          - biosFamily
          - storageInventory
          - processorVendor
          - autoIloFwupdate
          - serverGeneration
          - connectionType
          - oneview

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: patch_v1beta2_server_by_id
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/serverUpdateRequest-v1beta2'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a credential based server
      description: Delete a credential based server.
      operationId: delete_v1beta2_server_by_id
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/alerts:
    get:
      summary: List all alerts for a server
      description: >-
        Retrieve alert data for a Server specified by the id of the server


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_alerts
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/servers-filterParam-v1beta2'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's Alert Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/alertCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/clear-alert:
    post:
      summary: Clear power utilization alerts for a server
      description: Clear power utilization alerts for a server
      operationId: clear_v1beta2_software_alerts
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P43990-121+SYN1002J11
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/clearAlertRequest-v1'
        required: true
      responses:
        '202':
          description: Successful Response
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/analyze-os-install:
    post:
      summary: Analyze server configuration for operating system installation
      description: >-
        Validate the presence of storage volume for the server specified by the
        `id` for operating system installation. The request body is empty.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: post_v1beta2_analyze_os_install
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P43990-121+SYN1002J11
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/analyzeOsInstallResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/external-storage-details:
    get:
      summary: Get external storage details
      description: >-
        Retrieves external storage hosts and volume details for a server
        specified by the server id


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_external_storage_details
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Success (Server's external storage details)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverVolumeDetailsResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/inventory:
    get:
      summary: List inventories for a server
      description: >-
        Retrieve firmware, software, storage inventories, PCI devices and smart
        update tool settings for a server specified by the id of the server


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_inventory
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's inventory Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inventory-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: List subset of a Server Inventory
      description: >-
        Lists the subset of the server hardware inventory. The request body can
        either specify a subset of attributes, or can be empty, and a subset of
        attributes or the full inventory response is returned.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: post_v1beta2_subset_server_inventory
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P43990-121+SYN1002J11
        - name: format
          in: query
          description: Format for subset inventory response
          required: true
          schema:
            type: string
            format: json
            example: json
        - $ref: '#/components/parameters/contentTypeHeaderJson'
        - $ref: '#/components/parameters/tenantAcidHeader'
      requestBody:
        description: >-
          Below is an example payload for fetching chassis and processor
          inventory which is a subset.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subsetServerInventoryRequest-v1beta2'
        required: true
      responses:
        '200':
          description: Subset of a Server Inventory
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subsetServerInventoryResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/notifications:
    get:
      summary: Get the event and health notification status for a server
      description: >-
        ### Purpose

        Retrieves the current values of the event and health notification
        options.

        * For `criticalNotification` a notification will be sent if the value is
        `true`, and no notification will be sent if the value is false.

        * For the following properties a notification will be sent if the value
        is true. No notification will be sent if the value is null or false.
          * `criticalNonServiceNotification`
          * `warningNotification`
          * `healthNotification`

        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_notifications
      tags:
        - servers - v1beta2
      parameters:
        - required: true
          schema:
            type: string
          name: id
          in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationsResponse-v1beta2'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    put:
      summary: Update event and health notifications for a server
      description: >
        ### Purpose

        When a server is added to Compute Ops Management, these attributes will
        be used to set the

        initial email notification subscription choices for event and daily
        health email notifications.


        Event notification selections are made such that each selection
        increases the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `criticalNotification` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalNonServiceNotification` - Events that are not service events but have
          a severity level of 'critical'
          * `warningNotification` - Events that are not service events but have a
          severity level of 'warning'

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | criticalNotification  | criticalNonServiceNotification  |
        warningNotification  |

        |:---------------------:|:-------------------------------:|:--------------------:|

        | False                 | False                           |
        False                |

        | True                  | False                           |
        False                |

        | True                  | True                            |
        False                |

        | True                  | True                            |
        True                 |


        ### Initial values

        All values are initially false with the result being that no
        notifications will be sent.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: update_v1beta2_server_notifications
      tags:
        - servers - v1beta2
      parameters:
        - required: true
          schema:
            type: string
          name: id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notificationsRequest-v1beta2'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationsResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/raw-inventory:
    get:
      summary: List raw inventories for a server
      deprecated: true
      description: >-
        **Note:** This path operation is going to be **deprecated and sunset!**

        - Deprecated at: `Fri, 7 Nov 2024 23:59:59 GMT`

        - Sunset at: `Fri, 30 May 2025 23:59:59 GMT`

        - Successor version: `compute-ops-mgmt/v1/servers/{id}/inventory`


        Retrieve firmware, software, storage inventories, PCI devices and smart
        update tool settings for a server specified by the id of the server.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_raw_inventory
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's raw inventory Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rawInventory-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/security-parameters:
    get:
      summary: Get security parameters for a server
      description: >-
        Retrieve a list of security parameters for a server specified by the id
        of the server


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_security_parameters
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's security parameters Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/securityParametersResponse-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/servers/{id}/tor-port-mappings:
    get:
      summary: List of adapter to switch port mappings for a server
      description: >-
        Retrieve network connectivity of adapter port to connected switch port
        for a server specified by the id of the server


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta2_server_network_connectivity
      tags:
        - servers - v1beta2
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P06760-B21+2M212504P8
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            minimum: 0
            maximum: 100
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Server's network connectivity Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/torPortMappingsCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/servers/{id}/download-logs:
    get:
      summary: Download Server Logs in zip format
      description: This API returns a pre-signed URL to download server logs in zip format
      operationId: download_v1_server_logs
      tags:
        - servers - v1
      parameters:
        - name: id
          in: path
          description: Unique Server identifier
          required: true
          schema:
            type: string
            format: productId+serialNumber
            example: P06760-B21+2M212504P8
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/downloadLogsResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '429':
          $ref: '#/components/responses/429-tooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/server-warranty:
    get:
      summary: Lists the warranty information for all servers.
      description: Retrieve warranty data for all servers.
      operationId: get_v1beta2_server_warranty
      tags:
        - server-warranty - v1beta2
      parameters:
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/servers-limitParam'
        - $ref: '#/components/parameters/serverWarranty-filterParam-v1beta2'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverWarrantyCollection-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta2/server-warranty/{id}:
    get:
      summary: List server warranty information for a given UUID
      description: Retrieve server warranty data for the specified UUID.
      operationId: get_v1beta2_server_warranty_by_id
      tags:
        - server-warranty - v1beta2
      parameters:
        - name: id
          in: path
          description: >-
            Unique identifier for the server warranty resource generated by the
            system.
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverWarranty-v1beta2'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1/user-preferences:
    get:
      summary: Get user preferences for the current user
      description: >-
        Retrieves the user preferences for the current user.  The returned list
        will contain only one element if preferences have been set, zero
        otherwise.
      operationId: get_v1_user_preferences
      tags:
        - user-preferences - v1
      responses:
        '200':
          description: List of user preferences
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesCollection-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    post:
      summary: Create user preferences for the current user
      description: >
        ### Purpose

        When a server is added to Compute Ops Management, these attributes will
        be used to set the

        initial email notification subscription choices for event and daily
        health email notifications.


        Event notification selections are made such that each selection
        increases the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `criticalNotification` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalNonServiceNotification` - Events that are not service events but have
          a severity level of 'critical'
          * `warningNotification` - Events that are not service events but have a
          severity level of 'warning'

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | criticalNotification  | criticalNonServiceNotification  |
        warningNotification  |

        |:---------------------:|:-------------------------------:|:--------------------:|

        | False                 | False                           |
        False                |

        | True                  | False                           |
        False                |

        | True                  | True                            |
        False                |

        | True                  | True                            |
        True                 |


        ### Initial values

        All values are initially false with the result being that no
        notifications will be sent.
      operationId: post_v1_user_preferences
      tags:
        - user-preferences - v1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/userPreferencesRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
  /compute-ops-mgmt/v1/user-preferences/{id}:
    get:
      summary: Get a specific user preference object
      description: Retrieve a user preference object specified by its `id`
      operationId: get_v1_user_preference_by_id
      tags:
        - user-preferences - v1
      responses:
        '200':
          description: User preference object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
    parameters:
      - name: id
        in: path
        description: Unique user preferences object identifier
        required: true
        schema:
          type: string
    put:
      summary: Update user preferences
      description: >
        ### Purpose

        When a server is added to Compute Ops Management, these attributes will
        be used to set the

        initial email notification subscription choices for event and daily
        health email notifications.


        Event notification selections are made such that each selection
        increases the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `criticalNotification` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalNonServiceNotification` - Events that are not service events but have
          a severity level of 'critical'
          * `warningNotification` - Events that are not service events but have a
          severity level of 'warning'

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | criticalNotification  | criticalNonServiceNotification  |
        warningNotification  |

        |:---------------------:|:-------------------------------:|:--------------------:|

        | False                 | False                           |
        False                |

        | True                  | False                           |
        False                |

        | True                  | True                            |
        False                |

        | True                  | True                            |
        True                 |


        ### Initial values

        All values are initially false with the result being that no
        notifications will be sent.
      operationId: put_v1_user_preferences
      tags:
        - user-preferences - v1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/userPreferencesRequest-v1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesResponse-v1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
      parameters:
        - $ref: '#/components/parameters/tenantAcidHeader'
  /compute-ops-mgmt/v1beta1/user-preferences:
    get:
      summary: Get user preferences for the current user
      description: >-
        Retrieves the user preferences for the current user.  The returned list
        will contain only one element if preferences have been set, zero
        otherwise.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta1_user_preferences
      tags:
        - user-preferences - v1beta1
      responses:
        '200':
          description: List of user preferences
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesCollection-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create user preferences for the current user
      description: >
        ### Purpose

        When a server is added to Compute Ops Management, these attributes will
        be used to set the

        initial email notification subscription choices for event and daily
        health email notifications.


        Event notification selections are made such that each selection
        increases the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `criticalNotification` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalNonServiceNotification` - Events that are not service events but have
          a severity level of 'critical'
          * `warningNotification` - Events that are not service events but have a
          severity level of 'warning'

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | criticalNotification  | criticalNonServiceNotification  |
        warningNotification  |

        |:---------------------:|:-------------------------------:|:--------------------:|

        | False                 | False                           |
        False                |

        | True                  | False                           |
        False                |

        | True                  | True                            |
        False                |

        | True                  | True                            |
        True                 |


        ### Initial values

        All values are initially false with the result being that no
        notifications will be sent.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: post_v1beta1_user_preferences
      tags:
        - user-preferences - v1beta1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/userPreferencesRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/user-preferences/{id}:
    get:
      summary: Get a specific user preference object
      description: >-
        Retrieve a user preference object specified by its `id`


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: get_v1beta1_user_preference_by_id
      tags:
        - user-preferences - v1beta1
      responses:
        '200':
          description: User preference object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    parameters:
      - name: id
        in: path
        description: Unique user preferences object identifier
        required: true
        schema:
          type: string
    put:
      summary: Update user preferences
      description: >
        ### Purpose

        When a server is added to Compute Ops Management, these attributes will
        be used to set the

        initial email notification subscription choices for event and daily
        health email notifications.


        Event notification selections are made such that each selection
        increases the scope

        of the set of events that will be included.

        The order of event selections from minimum to maximum scope are

          * `criticalNotification` - Events that are marked as service events.  These events
          may have severity levels of 'warning' or 'critical'
          * `criticalNonServiceNotification` - Events that are not service events but have
          a severity level of 'critical'
          * `warningNotification` - Events that are not service events but have a
          severity level of 'warning'

        Note that `healthNotification` is not part of the event notification set
        and

        may be set independently.


        Since each selection builds on the previous one, there exists a
        hierarchy

        between selections that must be maintained.  The table below shows which

        notification combinations are valid.  All other combinations will result
        in an

        HTTP 400 error


        | criticalNotification  | criticalNonServiceNotification  |
        warningNotification  |

        |:---------------------:|:-------------------------------:|:--------------------:|

        | False                 | False                           |
        False                |

        | True                  | False                           |
        False                |

        | True                  | True                            |
        False                |

        | True                  | True                            |
        True                 |


        ### Initial values

        All values are initially false with the result being that no
        notifications will be sent.


        <div style="background-color: #EBEDF0; color: #444444; padding: 20px;
        margin: 10px 0px; border-radius: 8px; font-size: 16px;">

        <h5 style="padding: 0px; margin: 0px; letter-spacing: 0.3px;
        text-transform: uppercase; font-size: 16px;">URI PATH PREFIX RENAME</h5>


        This API now supports the URI path prefix `/compute-ops-mgmt` which used
        to be `/compute-ops`. <b>The `/compute-ops` prefix is deprecated

        and might become unresponsive after Tuesday, April 1, 2025</b>. The
        [Guide](https://developer.greenlake.hpe.com/docs/greenlake/services/compute-ops-mgmt/public/guide/)

        provides more information about this change.

        </div>
      operationId: put_v1beta1_user_preferences
      tags:
        - user-preferences - v1beta1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/userPreferencesRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userPreferencesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/utilization-over-time:
    get:
      summary: Retrieve utilization data over time
      description: >-
        Retrieve CPU, memory bus, I/O bus or CPU interconnect utilization data
        over a time interval.
      tags:
        - utilization-over-time - v1beta1
      operationId: get_utilization_over_time
      parameters:
        - $ref: '#/components/parameters/utilizationData-queryParams_startDate'
        - $ref: '#/components/parameters/utilizationData-queryParams_endDate'
        - $ref: '#/components/parameters/utilizationData-queryParams_resourceUri'
        - $ref: '#/components/parameters/metricType'
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/utilization-over-time-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/utilization-by-entity:
    get:
      summary: Retrieve utilization data by entity
      description: >-
        Retrieve CPU, memory bus, I/O bus or CPU interconnect utilization data
        per entity.
      tags:
        - utilization-by-entity - v1beta1
      operationId: get_utilization_by_entity
      parameters:
        - $ref: '#/components/parameters/utilizationData-queryParams_startDate'
        - $ref: '#/components/parameters/utilizationData-queryParams_endDate'
        - $ref: '#/components/parameters/utilizationData-queryParams_excludedServers'
        - $ref: '#/components/parameters/utilizationData-queryParams_resourceUri'
        - $ref: '#/components/parameters/metricType'
        - $ref: '#/components/parameters/utilizationData-queryParams_sort'
        - $ref: '#/components/parameters/offsetParam'
        - $ref: '#/components/parameters/limitParam'
          schema:
            type: integer
            default: 10
            minimum: 1
            maximum: 100
        - $ref: '#/components/parameters/tenantAcidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/utilization-by-entity-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/webhooks:
    get:
      summary: Retrieve all webhooks
      description: >-
        <p><b>Purpose</b><br> Retrieve all available webhooks as a list.
        <br></p> <p><b>More Information</b><br> For more information about this
        feature and how to use this API, go to the Event Webhook page to view a
        getting started guide. <br></p>
      operationId: get_v1beta1_webhooks
      tags:
        - webhooks - v1beta1
      responses:
        '200':
          description: List of webhooks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooksGetAllResponse-v1beta1'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    post:
      summary: Create a webhook
      description: Creates a webhook.
      operationId: post_v1beta1_webhooks
      tags:
        - webhooks - v1beta1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhooksCreateRequest-v1beta1'
        required: true
      responses:
        '201':
          description: Successful Response
          headers:
            Location:
              description: Location for the webhook that was created
              schema:
                type: string
                format: uri-reference
                example: >-
                  /compute-ops-mgmt/v1beta1/webhooks/0e7f516c-0829-4135-83d6-09ce844ddd9d
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/webhooks/{webhook_id}:
    get:
      summary: Get a webhook
      description: Retrieve a single webhook by webhook ID.
      tags:
        - webhooks - v1beta1
      operationId: get_v1beta1_webhooks_by_id
      parameters:
        - name: webhook_id
          in: path
          description: Webhook ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    patch:
      summary: Patch a webhook
      description: Update a saved webhook.
      operationId: patch_v1beta1_webhook_by_id
      tags:
        - webhooks - v1beta1
      parameters:
        - name: webhook_id
          in: path
          description: Webhook ID
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/contentTypeHeaderPatch'
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/webhooksUpdateRequest-v1beta1'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '415':
          $ref: '#/components/responses/415-unsupportedMediaTypeResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
    delete:
      summary: Delete a saved webhook
      description: >-
        Deletes a saved webhook resource. This will also delete any deliveries
        associated with the deleted webhook.
      tags:
        - webhooks - v1beta1
      operationId: delete_webhook
      parameters:
        - name: webhook_id
          in: path
          description: Webhook ID
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/webhooks/{webhook_id}/deliveries:
    get:
      summary: Get details on all webhook deliveries.
      description: >-
        Retrieve details of the most recent deliveries that were attempted.
        Compute Ops Management stores the most recent ten deliveries and the
        five most recent failures, so this endpoint will return between 10 and
        15 deliveries once deliveries have been attempted.
      tags:
        - webhooks - v1beta1
      operationId: get_v1beta1_webhooks_deliveries
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: webhook_id
          description: Webhook ID
          in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooksGetAllDeliveriesResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
  /compute-ops-mgmt/v1beta1/webhooks/{webhook_id}/deliveries/{delivery_id}:
    get:
      summary: Get details for a specific delivery
      description: Retrieve details for a specific delivery using the ID.
      tags:
        - webhooks - v1beta1
      operationId: get_v1beta1_webhooks_delivery_by_id
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
          name: webhook_id
          description: Webhook ID
          in: path
        - required: true
          schema:
            type: string
            format: uuid
          name: delivery_id
          description: Delivery ID
          in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooksDeliveryResponse-v1beta1'
        '400':
          $ref: '#/components/responses/400-badRequestResponse'
        '401':
          $ref: '#/components/responses/401-unauthorizedResponse'
        '403':
          $ref: '#/components/responses/403-forbiddenResponse'
        '404':
          $ref: '#/components/responses/404-notFoundResponse'
        '406':
          $ref: '#/components/responses/406-notAcceptableResponse'
        '500':
          $ref: '#/components/responses/500-internalServerErrorResponse'
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
  parameters:
    tenantAcidHeader:
      name: Tenant-Acid
      in: header
      description: >
        Tenant-Acid header can be used by an MSP workspace to make API calls on
        behalf of their tenant by specifying the tenant's application customer
        ID.


        In order to make such an API call, the Bearer token must belong to an
        MSP workspace and this header value must be the application customer ID
        of a tenant within the MSP workspace. Use the
        `/compute-ops-mgmt/v1beta1/accounts` API to determine the application
        customer IDs for your tenant accounts.
      required: false
      schema:
        type: string
        format: uuid
    offsetParam:
      in: query
      name: offset
      description: Zero-based resource offset to start the response from
      schema:
        type: integer
        minimum: 0
        default: 0
      example: 10
    limitParam:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 1000
      example: 10
    activationKeys-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Activation-Keys can be filtered by:

        - targetDevice

        - activationKey

        - applianceUri

        - subscriptionKey


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Returns appliance firmware where a property equals a value.
            \<property> eq \<value>
          value: targetDevice eq 'ILO'
        equals-2:
          summary: Filter with equality check
          description: |
            Returns appliance firmware where a property equals a value.
            \<property> eq \<value>
          value: targetDevice eq 'SECURE_GATEWAY'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: >
            Returns all the activation keys that are generated for the given
            target device.

            \<property>%20eq%20\<value> 
          value: targetDevice%20eq%20%27ILO%27
        not:
          summary: Filter on an inverted query
          description: |
            Returns appliance firmware where a property does not equal a value.
            \<property> ne \<value>
          value: activationKey ne '12345678'
        multiple:
          summary: Filter with multiple conditions
          description: |
            Returns appliance firmware where multiple conditions are met.
            \<property> eq \<value> and \<property> eq \<value>
          value: >-
            targetDevice eq 'ILO' and applianceUri eq
            '/compute-ops-mgmt/v1beta1/appliances/gateway+0b9dc54a-523f-421e-9e0f-6b586abb6b55'
        multiple-url-encoded:
          summary: Filter with multiple conditions and url encoding
          description: >
            Returns all the activation keys that are generated for the given
            target device and meet multiple conditions.

            \<property>%20eq%20\<value>%20and%20\<property>%20eq%20\<value>
          value: >-
            targetDevice%20eq%20%27ILO%27%20and%20subscriptionKey%20eq%20%2787654321%27
    contentTypeHeaderJson:
      name: Content-Type
      in: header
      description: >-
        Content-Type header must designate 'application/json' in order for the
        request to be performed.
      required: true
      schema:
        type: string
        const: application/json
    lime-limitParam-v1beta2:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 1000
        default: 100
      example: 100
    activities-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Activities can be filtered by:

        - associatedServerId

        - associatedServerUri

        - createdAt

        - groupId

        - groupDisplayName

        - healthState

        - hidden

        - id

        - key

        - resourceUri

        - serverSettingsCategory

        - serverSettingsId

        - serverSettingsName

        - source/id

        - source/type


        Additional filters which should be considered deprecated and may be
        removed in a future version:

        - source/resourceUri

        - source/displayName

        - source/originId


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return activities where a property equals a value.
            \<property> eq \<value>
          value: associatedServerId eq '123'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return activities where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: source/type eq 'Group'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: |
            Return activities where a property equals a value, using a url.
            \<property>%20eq%20\<value>
          value: associatedServerId%20eq%20P06760-B21%2B2M212504P8
        not:
          summary: Filter on an inverted query
          description: |
            Return activities where a property does not equal a value
            not \<property> eq \<value>
          value: not key eq 'GROUP_UPDATED'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return activities with populated property.
            not \<property> eq null
          value: not associatedServerId eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return activities where property contains a value.
            contains(\<property>, \<value>)
          value: contains(key,'GROUP_')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return activities where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not source/type eq 'Group' and contains(key, 'GROUP_')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return activities where property is one of multiple values.
            \<property> in (\<value>,\<value>)
          value: key in ('GROUP_UPDATED', 'GROUP_CREATED')
        dates:
          summary: Filter with a date range
          description: |
            Return activities that are between a date range.
            \<property> gt \<timestamp> and createdAt lt \<timestamp>
          value: >-
            createdAt gt 2025-03-15T00:00:00.0Z and createdAt lt
            2025-04-01T00:00:00.0Z
    sortParam:
      in: query
      name: sort
      description: >-
        The order in which to return the resources in the collection.


        The value of the sort query parameter is a comma separated list of sort
        expressions. 

        Each sort expression is a property name optionally followed by a
        direction indicator asc (ascending) or desc 

        (descending).


        The first sort expression in the list defines the primary sort order,
        the second defines the secondary sort order, 

        and so on. If a direciton indicator is omitted the default direction is
        ascending.
      schema:
        type: string
      examples:
        name-asc:
          summary: ascending by name
          description: Order resources ascending by name
          value: name asc
        name-createdAt-desc:
          summary: ascending by name and then by descending by createdAt
          description: >-
            Order resources ascending by name and then by descending by
            createdAt
          value: name,createdAt desc
    acceptLanguageHeader:
      name: Accept-Language
      in: header
      description: >
        Current supported languages are `en` (English) and `ja` (Japanese)


        A blank header or one containing only non-supported languages will
        return activities in English. Otherwise, activities will be returned in
        the highest weighted supported language.


        NOTE: This header should follow the format [shown
        here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language)
        using [IETF language
        tags](https://en.wikipedia.org/wiki/IETF_language_tag)
      required: false
      schema:
        type: string
      examples:
        english:
          summary: Returns activity messages in English
          value: en
        english_2:
          summary: Returns activity messages in Japanese
          value: ja
        english_3:
          summary: Returns activity messages in English
          value: de,en
        english_4:
          summary: Returns activity messages in Japanese
          value: fr,ja;q=0.9,en;q=0.7
    contentTypeHeaderPatch:
      name: Content-Type
      in: header
      description: >-
        Content-Type header must designate 'application/merge-patch+json' in
        order for the request to be performed.
      required: true
      schema:
        type: string
        const: application/merge-patch+json
    filenameParam:
      in: query
      name: filename
      required: true
      description: File name to be downloaded
      schema:
        type: string
      example: MXQ0xxxT3-20241205-1025-SERVER_INVENTORY.json
    filterParam:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved charecters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: Return resources where id == c650e411-3454-475d-a1af-7a31b21a1ce4
          value: eq(id,'c650e411-3454-475d-a1af-7a31b21a1ce4')
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: Return server where id == c650e411-3454-475d-a1af-7a31b21a1ce4
          value: eq(id,%27c650e411-3454-475d-a1af-7a31b21a1ce4%27)
        and:
          summary: Filter on multiple conditions
          description: Return resources where applianceType is VM and state is connected
          value: and(eq(applianceType,'VM'),eq(state,'connected'))
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: Return resources where applianceType is VM or UNKNOWN
          value: in(applianceType,'VM','UNKNOWN')
    applianceFirmwareUpdate-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Appliance firmware can be filtered by:
          - applianceVersion 
          - applianceType

        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Returns appliance firmware where a property equals a value.
            \<property> eq \<value>
          value: applianceType eq 'VM'
        and:
          summary: Filter on multiple conditions
          description: >
            Returns appliance firmware where combination of properties are
            filtered.
          value: applianceType eq 'VM' and applianceVersion eq '8.70.00'
    applianceFirmwareUpdate-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Appliance firmware can be filtered by:
          - applianceVersion 
          - applianceType

        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Returns appliance firmware where a property equals a value.
            eq(\<property>,\<value>)
          value: eq(applianceType,'VM')
        and:
          summary: Filter on multiple conditions
          description: >
            Returns appliance firmware where combination of properties are
            filtered.
          value: and(eq(applianceType,'VM'),eq(applianceVersion,'8.70.00'))
    approvalPolicies-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Approval policies can be filtered by:

        - createdAt

        - description

        - name

        - policyData/resources/id

        - policyData/resources/type

        - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return approval policies where a property equals a value.
            \<property> eq \<value>
          value: policyData/resources/id eq '24055ec0-eba3-483a-9fd5-644e4b7304ae'
        less-than:
          summary: Filter with less than check
          description: >
            Return  approval policies where a property is less than or equal to
            a value.

            \<property> le \<value>
          value: createdAt le 2025-03-01T17:44:30Z
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return approval policies where property contains a value.
            contains(\<property>, \<value>)
          value: contains(description,'Demo policy')
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: >
            Return approval policies where a property is greater than a value,
            using url encoding.

            \<property>%20gt%20%27\<value>
          value: createdAt%20gt%202025-09-01T17%3A44%3A30Z
        not:
          summary: Filter on an inverted query
          description: |
            Return  approval policies where a property does not equal a value
            not \<property> eq \<value>
          value: not contains(name, 'Test policy')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return approval policies where multiple properties can be matched
            with values

            \<property> eq \<value1> and \<property> contains \<value2>
          value: >-
            policyData/resources/type eq 'compute-ops-mgmt/group' and
            policyData/resources/id eq '24055ec0-eba3-483a-9fd5-644e4b7304ae'
    approvalRequests-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Approval requests can be filtered by:

        - approvableName

        - approvableResource/id

        - approvableResource/type

        - approvalState

        - createdAt

        - operation/id

        - operation/type

        - policy/id

        - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return approval requests where a property equals a value.
            \<property> eq \<value>
          value: approvalState eq 'PENDING'
        less-than:
          summary: Filter with less than check
          description: >
            Return approval requests where a property is less than or equal to a
            value.

            \<property> le \<value>
          value: createdAt le 2025-03-01T17:44:30Z
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return approval requests where property contains a value.
            contains(\<property>, \<value>)
          value: contains(approvableName,'Power on')
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: >
            Return approval requests where a property is greater than a value,
            using url encoding.

            \<property>%20gt%20%27\<value>
          value: createdAt%20gt%202025-09-01T17%3A44%3A30Z
        not:
          summary: Filter on an inverted query
          description: |
            Return  approval requests where a property does not equal a value
            not \<property> eq \<value>
          value: not operation/type eq 'compute-ops-mgmt/job'
        and:
          summary: Filter on multiple conditionals
          description: >
            Return approval requests where multiple properties can be matched
            with values

            \<property> eq \<value1> and \<property> eq \<value2>
          value: >-
            operation/id eq 'compute-ops-mgmt/job' and approvalableResource/type
            eq 'compute-ops-mgmt/server'
    asyncOperations-limitParam:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 1000
        default: 100
      example: 10
    nextParam:
      in: query
      name: next
      description: The pagination cursor for the next page of resources.
      schema:
        type: string
        format: uuid
      example: b4cf1a6f-1a1f-11ef-9856-20155d97c234
    asyncOperations-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Async Operations can be filtered by:

        - createdAt

        - endedAt

        - error

        - generation

        - id

        - logMessages

        - progressPercent

        - recommendations

        - results

        - sourceResourceUri

        - startedAt

        - state

        - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return async operations where a property equals a value.
            \<property> eq \<value>
          value: state eq 'FAILED'
        less-than:
          summary: Filter with less than check
          description: >
            Return async operations where a property is less than or equal to a
            value.

            \<property> le \<value>
          value: createdAt le 2024-07-01T17:44:30Z
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: >
            Return async operations where a property is greater than a value,
            using url encoding.

            \<property>%20gt%20%27\<value>
          value: createdAt%20gt%202024-07-01T17%3A44%3A30Z
        not:
          summary: Filter on an inverted query
          description: |
            Return async operations where a property does not equal a value
            not \<property> eq \<value>
          value: not progressPercent eq 100
        populated:
          summary: Filter that a property contains a value
          description: |
            Return async operations with populated property.
            not \<property> eq null
          value: not error eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return async operations where property contains a value.
            contains(\<property>, \<value>)
          value: >-
            contains(sourceResourceUri,'groups/3e661d85-eb85-4320-9721-a950d1080641')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return async operations where property is populated and property
            contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: >-
            not endedAt eq null and
            contains(sourceResourceUri,'groups/3e661d85-eb85-4320-9721-a950d1080641')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return async operations where property is one of multiple values.
            \<property> in (\<value>,\<value>)
          value: generation in (1, 2)
    asyncOperations-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Async Operations can be filtered by:

        - createdAt

        - endedAt

        - error

        - generation

        - id

        - logMessages

        - progressPercent

        - recommendations

        - results

        - sourceResourceUri

        - startedAt

        - state

        - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return async operations where a property equals a value.
            \<property> eq \<value>
          value: state eq 'FAILED'
        less-than:
          summary: Filter with less than check
          description: >
            Return async operations where a property is less than or equal to a
            value.

            \<property> le \<value>
          value: createdAt le 2024-07-01T17:44:30Z
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: >
            Return async operations where a property is greater than a value,
            using url encoding.

            \<property>%20gt%20%27\<value>
          value: createdAt%20gt%202024-07-01T17%3A44%3A30Z
        not:
          summary: Filter on an inverted query
          description: |
            Return async operations where a property does not equal a value
            not \<property> eq \<value>
          value: not progressPercent eq 100
        populated:
          summary: Filter that a property contains a value
          description: |
            Return async operations with populated property.
            not \<property> eq null
          value: not error eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return async operations where property contains a value.
            contains(\<property>, \<value>)
          value: >-
            contains(sourceResourceUri,'groups/3e661d85-eb85-4320-9721-a950d1080641')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return async operations where property is populated and property
            contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: >-
            not endedAt eq null and
            contains(sourceResourceUri,'groups/3e661d85-eb85-4320-9721-a950d1080641')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return async operations where property is one of multiple values.
            \<property> in (\<value>,\<value>)
          value: generation in (1, 2)
    startDate:
      name: start-date
      in: query
      required: true
      description: >-
        Start date for energy data retrieval. This can be a date in the past or
        future, but must be within 180 days from today.
      schema:
        type: string
        format: date
      example: '2025-01-01'
    endDate:
      name: end-date
      in: query
      description: >
        End date for energy data retrieval. This can be a date in the past or
        future, but must be within 180 days from today.
      schema:
        type: string
        format: date
      example: '2025-04-01'
    projectionDays:
      name: projection-days
      in: query
      deprecated: true
      description: >
        **Deprecated, use the end-date parameter with a future date instead.**
        Number of days for projected data from today. Used when fetching
        projection data.

        The maximum supported projection days is 180.
      schema:
        type: integer
        minimum: 1
        maximum: 180
      example: 30
    resourceUri:
      name: resource-uri
      in: query
      description: |
        URI of the resource for which energy data is to be retrieved.
        This can be a server, filter or group URI.
      schema:
        type: string
        default: /compute-ops-mgmt/v1beta1/filters/e7cef8e6-a3f6-4490-b669-136e3ca40617
      examples:
        filterUri:
          summary: Filter URI
          value: >-
            /compute-ops-mgmt/v1beta1/filters/f4a8b2c9-7d5e-4321-9876-1a2b3c4d5e6f
        serverUri:
          summary: Server URI
          value: /compute-ops-mgmt/v1/servers/875765-S01+1M512501AB
        groupUri:
          summary: Group URI
          value: /compute-ops-mgmt/v1/groups/420372b6-af2e-464d-970d-e9339abfc74f
    aggregateBy:
      name: aggregate-by
      in: query
      description: Aggregation level for energy consumption data.
      schema:
        type: string
        enum:
          - SERVER
          - SERVER_MODEL
          - SERVER_GENERATION
          - SERVER_PROCESSOR
          - SERVER_LOCATION
        default: SERVER
    excludedServers:
      name: excluded-servers
      in: query
      description: >
        When it is set to true, the response will have details of servers which
        do not have energy data available.
      schema:
        type: boolean
        default: false
      example: true
    filter:
      name: filter
      in: query
      description: >
        Limit the resources operated on by an endpoint or return only the subset
        of resources that match the filter.


        **NOTE:** The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).
      schema:
        type: string
      examples:
        eqModel:
          summary: Filter by model
          value: entityDetails/model eq 'Proliant DL 360'
        eqGeneration:
          summary: Filter by generation
          value: entityDetails/generation eq 'GEN_10'
        eqProcessor:
          summary: Filter by processor
          value: entityDetails/processor eq 'AMD 8 core Gen 10'
        eqLocation:
          summary: Filter by location
          value: entityDetails/location eq 'Bangalore, KA, India'
    sort:
      name: sort
      in: query
      description: >
        The order in which to return the resources in the collection.

        Sort expression is a property name, followed by `asc` (ascending) or
        `desc` (descending).


        Default sort order: `co2eKg/collected asc`
      schema:
        type: string
      examples:
        name-asc:
          summary: Sort by name in ascending order
          value: name asc
        energy-sort:
          summary: Sort by collected energy consumption data
          value: kwh/collected asc
        sort-by-projected-energy:
          summary: Sort by projected energy consumption data
          value: kwh/projected asc
    externalServices-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        External Service can be filtered by:
          - serviceType

        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return external services where a property equals a value.
            \<property> eq \<value>
          value: serviceType eq 'SERVICE_NOW'
        not:
          summary: Filter on an inverted query
          description: |
            Return external services where a property does not equal a value
            not \<property> eq \<value>
          value: not serviceType eq 'ARUBA_CENTRAL'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return external services with populated property.
            not \<property> eq null
          value: not serviceType eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return external services where property contains a value.
            contains(\<property>, \<value>)
          value: contains(serviceType,'SERVICE')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return external services where property is populated and property
            contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not serviceType eq null and contains(serviceType,'SERVICE')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return external services where property is one of multiple values.
            \<property> in (\<value>,\<value>)
          value: serviceType in ('SERVICE_NOW','ARUBA_CENTRAL')
    filters-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Filters can be filtered by:

        - filterResourceType

        - id

        - type


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return filters where a property equals a value.
            \<property> eq \<value>
          value: type eq 'compute-ops/filter'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: |
            Return filters where a property equals a value, using a url.
            \<property>%20eq%20%27\<value>
          value: id%20eq%20%27b870f080-6448-48c5-b23a-d04f2d489174
        not:
          summary: Filter on an inverted query
          description: |
            Return filters where a property does not equal a value
            not \<property> eq \<value>
          value: not type eq 'compute-ops/jobs'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return filters with populated property.
            not \<property> eq null
          value: not filterResourceType eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return filters where property contains a value.
            contains(\<property>, \<value>)
          value: contains(type,'filter')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return filters where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not filterResourceType eq null and contains(type,'filter')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return filters where property is one of multiple values.
            \<property> in (\<value>,\<value>)
          value: type in ('compute-ops/filter','compute-ops/jobs')
    idempotencyKeyHeader:
      name: Idempotency-Key
      in: header
      description: >-
        A unique value generated by the client which the server uses to
        recognize subsequent retries of the same request.
      required: false
      example: 2c578105-adeb-4785-9113-8c577a0681fa
      schema:
        type: string
        format: uuid
    ifMatchHeader:
      name: If-Match
      in: header
      description: >-
        Value which must match the "generation" property of the resource in
        order for the request to be performed.
      required: false
      example: '"3"'
      schema:
        type: string
    customLimitParam:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 1000
        default: 10
    groups-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Groups can be filtered by:
          - autoAddTags
          - complianceStatus
          - createdAt
          - description
          - deviceType
          - generation
          - id
          - name
          - policies
          - securityStatus
          - settingsUris
          - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return groups where a property equals a value.
            \<property> eq \<value>
          value: name eq 'Production Group'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return groups where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: autoAddTags/Department eq 'Development - Texas'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: Return group where name == my+group
          value: name%20eq%20%27my%2Bgroup%27
        not:
          summary: Filter on an inverted query
          description: |
            Return groups where a property does not equal a value
            not \<property> eq \<value>
          value: not autoAddTags/Department eq 'Development - Texas'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return groups with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return groups where property contains a value.
            contains(\<property>, \<value>)
          value: contains(name,'Group')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return groups where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(name,'Group')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return groups where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: >-
            autoAddTags/Department in ('Development - Texas','Development -
            Colorado')
    groupCompliance-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Group compliance can be filtered by:
          - bundleId
          - complianceCategory
          - complianceState
          - createdAt
          - generation
          - productId
          - remediation
          - score
          - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return device compliance data where a property equals a value.
            \<property> eq \<value>
          value: score eq 0
        not:
          summary: Filter on an inverted query
          description: >
            Return device compliance data where a property does not equal a
            value

            not \<property> eq \<value>
          value: not complianceState eq 'NOT APPLICABLE'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return device compliance data with populated property.
            not \<property> eq null
          value: not bundleId eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return device compliance data where property contains a value.
            contains(\<property>, \<value>)
          value: contains(productId,'A01')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return device compliance data where property is populated and
            property contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not bundleId eq null and contains(productId,'A01')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: >
            Return device compliance data where property is one of multiple
            values.

            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: complianceCategory in ('FIRMWARE','ILO_SETTINGS')
    groupDevices-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Devices in a group can be filtered by:
          - eTag
          - groupId
          - overallSecurityStatus
          - productId
          - serial
          - subscriptionState
          - subscriptionTier


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return devices in a group where a property equals a value.
            \<property> eq \<value>
          value: productId eq '000001-A01'
        not:
          summary: Filter on an inverted query
          description: |
            Return devices in a group where a property does not equal a value
            not \<property> eq \<value>
          value: not overallSecurityStatus eq 'OK'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return devices in a group with populated property.
            not \<property> eq null
          value: not eTag eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return devices in a group where property contains a value.
            contains(\<property>, \<value>)
          value: contains(productId,'A01')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return devices in a group where property is populated and property
            contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not eTag eq null and contains(productId,'A01')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return devices in a group where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: overallSecurityStatus in ('RISK', 'UNKNOWN')
    groups-filterParam-v1beta3:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Groups can be filtered by:
          - autoAddTags
          - description
          - generation
          - complianceStatus
          - id
          - name
          - deviceType
          - policies
          - settingsUris
          - securityStatus
          - createdAt
          - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return groups where a property equals a value.
            \<property> eq \<value>
          value: name eq 'Production Group'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return groups where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: autoAddTags/Department eq 'Development - Texas'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: Return group where name == my+group
          value: name%20eq%20%27my%2Bgroup%27
        not:
          summary: Filter on an inverted query
          description: |
            Return groups where a property does not equal a value
            not \<property> eq \<value>
          value: not autoAddTags/Department eq 'Development - Texas'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return groups with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return groups where property contains a value.
            contains(\<property>, \<value>)
          value: contains(name,'Group')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return groups where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(name,'Group')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return groups where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: >-
            autoAddTags/Department in ('Development - Texas','Development -
            Colorado')
    groupCompliance-filterParam-v1beta3:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Group compliance can be filtered by:
          - bundleId
          - complianceCategory
          - complianceState
          - createdAt
          - generation
          - productId
          - remediation
          - score
          - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return device compliance data where a property equals a value.
            \<property> eq \<value>
          value: score eq 0
        not:
          summary: Filter on an inverted query
          description: >
            Return device compliance data where a property does not equal a
            value

            not \<property> eq \<value>
          value: not complianceState eq 'NOT APPLICABLE'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return device compliance data with populated property.
            not \<property> eq null
          value: not bundleId eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return device compliance data where property contains a value.
            contains(\<property>, \<value>)
          value: contains(productId,'A01')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return device compliance data where property is populated and
            property contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not bundleId eq null and contains(productId,'A01')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: >
            Return device compliance data where property is one of multiple
            values.

            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: complianceCategory in ('FIRMWARE','ILO_SETTINGS')
    groupDevices-filterParam-v1beta3:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Devices in a group can be filtered by:
          - eTag
          - groupId
          - overallSecurityStatus
          - productId
          - serial
          - subscriptionState
          - subscriptionTier


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return devices in a group where a property equals a value.
            \<property> eq \<value>
          value: productId eq '000001-A01'
        not:
          summary: Filter on an inverted query
          description: |
            Return devices in a group where a property does not equal a value
            not \<property> eq \<value>
          value: not overallSecurityStatus eq 'OK'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return devices in a group with populated property.
            not \<property> eq null
          value: not eTag eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return devices in a group where property contains a value.
            contains(\<property>, \<value>)
          value: contains(productId,'A01')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return devices in a group where property is populated and property
            contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not eTag eq null and contains(productId,'A01')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return devices in a group where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: overallSecurityStatus in ('RISK', 'UNKNOWN')
    groups-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Groups can be filtered by:
          - autoAddServerTags
          - autoFwUpdateOnAdd
          - createdAt
          - description
          - generation
          - groupComplianceStatus
          - id
          - name
          - platformFamily
          - serverPolicies
          - serverSettingsUris
          - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return groups where a property equals a value.
            \<property> eq \<value>
          value: name eq 'Production Group'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return groups where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: autoAddServerTags/Department eq 'Development - Texas'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: Return group where name == my+group
          value: name%20eq%20%27my%2Bgroup%27
        not:
          summary: Filter on an inverted query
          description: |
            Return groups where a property does not equal a value
            not \<property> eq \<value>
          value: not autoAddServerTags/Department eq 'Development - Texas'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return groups with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return groups where property contains a value.
            contains(\<property>, \<value>)
          value: contains(name,'Group')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return groups where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(name,'Group')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return groups where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: >-
            autoAddServerTags/Department in ('Development - Texas','Development
            - Colorado')
    jobs-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Jobs can be filtered by:

        - id

        - type

        - parentJobId

        - createdAt

        - updatedAt

        - deleteOnComplete

        - cancellable

        - name

        - jobParams

        - state

        - resultCode

        - status

        - statusDetails

        - generation

        - results

        - resource/id

        - resource/type

        - jobTemplate 


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return jobs for a specific template. PowerOn in this case.
            not \<property> eq null
          value: jobTemplate eq  '0cbb2377-1834-488d-840c-d5bf788c34fb'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: >
            Return jobs where a nested property equals a value. This gets jobs
            on servers.

            \<property>/\<nestedProperty> eq \<value>
          value: resource/type eq 'compute-ops/server'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: >
            Return jobs where a property equals a value, Looking for a specific
            server. Server IDs contain a `+`, which must be encoded as `%2B`.
            This returns jobs on a specific server.

            \<property>%20eq%20%27\<value>
          value: resource/id eq '252500-842%2B8899252500842931'
        not:
          summary: Filter on an inverted query
          description: |
            Return child jobs. Child jobs have a parent job.
            not \<property> eq \<value>
          value: not parentJobId eq null
        populated:
          summary: Filter that a property contains a value
          description: >
            Return jobs with a value populated. This returns jobs that apply to
            a resource (some don't).

            not \<property> eq null
          value: not resource/id eq none
        contains:
          summary: Filter that field value contains a specific substring
          description: >
            Return jobs where property contains a value. This is for jobs
            created in 2022.

            contains(\<property>, \<value>)
          value: contains(createdAt,'2022')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return jobs where property is populated and property contains value.

            not \<property> eq null and contains(\<property>, \<value>). This is
            for non-cancelable jobs created in 2022.
          value: not cancellable eq false and contains(createdAt,'2022')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: >
            Return jobs where property is one of multiple values. This is for
            jobs which haven't reached a terminal state.

            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: state in ('running','pending','stalled')
    oneviewSettings-limitParam:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 100
      example: 10
    oneviewSettings-filterParam:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved charecters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Oneview appliance settings can be filtered by:
          - applianceId
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: >-
            Return resources where applianceId ==
            d42c2b9b-b366-4e40-96a2-95e1138cf968
          value: eq(applianceId, 'd42c2b9b-b366-4e40-96a2-95e1138cf968')
    templates-limitParam:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 50
        default: 25
      example: 10
    templates-filterParam:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved charecters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Server templates can be filtered by:
          - uri
          - applianceId
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: >-
            Return resources where applianceId ==
            d42c2b9b-b366-4e40-96a2-95e1138cf968
          value: eq(applianceId, 'd42c2b9b-b366-4e40-96a2-95e1138cf968')
        contains:
          summary: Filter that field value contains a specific substring
          description: >-
            Return resources where uri contains
            a56e80bc-6ee4-4414-82e7-36dc7f79a62e
          value: contains(uri,'a56e80bc-6ee4-4414-82e7-36dc7f79a62e')
    reports-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Reports can be filtered by:

        - createdAt

        - generation

        - id

        - reportDataEndAt

        - reportDataStartAt

        - reportType

        - resourceUri

        - type

        - updatedAt

        - status


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return reports where a property equals a value.
            \<property> eq \<value>
          value: name eq 'Carbon Footprint Report (All Servers)'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: |
            Return reports where a property equals a value, using a url.
            \<property>%20eq%20%27\<value>
          value: id%20eq%20%27843023bd-9412-46c2-8ac2-a3691f657fdb
        not:
          summary: Filter on an inverted query
          description: |
            Return reports where a property does not equal a value
            not \<property> eq \<value>
          value: not reportType eq 'CARBON_FOOTPRINT'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return reports with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return reports where property contains a value.
            contains(\<property>, \<value>)
          value: contains(createdAt,'2022')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return reports where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not id eq null and contains(createdAt,'2022')
    schedules-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Schedules can be filtered by:

        - createdAt

        - generation

        - historyUri

        - id

        - nextStartAt

        - operation/body

        - operation/headers

        - operation/method

        - operation/query

        - operation/timeoutInSec

        - operation/type

        - operation/uri

        - resourceUri

        - schedule/intervalInSec

        - schedule/startAt

        - type

        - updatedAt


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return schedules where a property equals a value.
            \<property> eq \<value>
          value: type eq 'compute-ops/schedule'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return schedules where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: operation/method eq 'POST'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: |
            Return schedules where a property equals a value, using a url.
            \<property>%20eq%20%27\<value>
          value: id%20eq%20%2737f66ae4-20a1-48f1-b552-b515457639ca
        not:
          summary: Filter on an inverted query
          description: |
            Return schedules where a property does not equal a value
            not \<property> eq \<value>
          value: not type eq 'compute-ops/activities'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return schedules with populated property.
            not \<property> eq null
          value: not schedule eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return schedules where property contains a value.
            contains(\<property>, \<value>)
          value: contains(createdAt,'2022')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return schedules where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not schedule eq null and contains(createdAt,'2022')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return schedules where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: operation/method in ('POST','GET')
    serverSettings-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Server Settings can be filtered by:

        - category

        - description

        - name

        - platformFamily

        - settings


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return server settings where a property equals a value.
            \<property> eq \<value>
          value: category eq 'FIRMWARE'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return server settings where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: settings/DEFAULT/raidType eq 'RAID0'
        not:
          summary: Filter on an inverted query
          description: |
            Return server settings where a property does not equal a value
            not \<property> eq \<value>
          value: not platformFamily eq 'PROLIANT'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return server settings with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return server settings where property contains a value.
            contains(\<property>, \<value>)
          value: contains(category,'FIRM')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return server settings where property is populated and property
            contains value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(category,'FIRM')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return server settings where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: settings/DEFAULT/raidType in ('RAID0','RAID1')
    settings-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Server Settings can be filtered by:

        - category

        - customerId

        - description

        - name

        - platformFamily

        - settings


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return server settings where a property equals a value.
            \<property> eq \<value>
          value: category eq 'FIRMWARE'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return settings where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: settings/DEFAULT/raidType eq 'RAID0'
        not:
          summary: Filter on an inverted query
          description: |
            Return settings where a property does not equal a value
            not \<property> eq \<value>
          value: not platformFamily eq 'PROLIANT'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return settings with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return settings where property contains a value.
            contains(\<property>, \<value>)
          value: contains(category,'FIRM')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return settings where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(category,'FIRM')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return settings where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: settings/DEFAULT/raidType in ('RAID0','RAID1')
    settings-filterParam-v1beta1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Device IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Settings can be filtered by:

        - category

        - description

        - name

        - settings


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return settings where a property equals a value.
            \<property> eq \<value>
          value: category eq 'FIRMWARE'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return settings where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: settings/DEFAULT/raidType eq 'RAID0'
        not:
          summary: Filter on an inverted query
          description: |
            Return settings where a property does not equal a value
            not \<property> eq \<value>
          value: not deviceType eq 'DIRECT_CONNECT_SERVER'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return settings with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return settings where property contains a value.
            contains(\<property>, \<value>)
          value: contains(category,'FIRM')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return settings where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(category,'FIRM')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return settings where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: settings/DEFAULT/raidType in ('RAID0','RAID1')
    servers-limitParam:
      in: query
      name: limit
      description: The maximum number of records to return.
      schema:
        type: integer
        minimum: 0
        maximum: 100
      example: 10
    servers-filterParam-v1:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Servers can be filtered by:
          - biosFamily
          - createdAt
          - firmwareBundleUri
          - hardware and all nested properties
          - host and all nested properties
          - id
          - name †
          - oneview and all nested properties
          - platformFamily
          - processorVendor
          - resourceUri
          - state and all nested properties

        † When searching for a server using the `name` filter, you must supply
        the serial number of the server, not the hostname.  To filter by
        hostname use `host/hostname` instead of `name`


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return servers where a property equals a value.
            \<property> eq \<value>
          value: host/hostname eq 'myServer'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return servers where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: state/managed eq 'true'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: |
            Return servers where a property equals a value, using a url.
            \<property>%20eq%20%27\<value>
          value: id%20eq%20%27497f6eca-6276-4993-bfeb-53cbbbba6f08
        not:
          summary: Filter on an inverted query
          description: |
            Return servers where a property does not equal a value
            not \<property> eq \<value>
          value: not name eq 'MXQ89990RR'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return servers with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return servers where property contains a value.
            contains(\<property>, \<value>)
          value: contains(createdAt,'2019')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return servers where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(createdAt,'2019')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return servers where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: state/managed in ('true','false')
    servers-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, ne, gt, ge, lt, le, in                         |

        | Logic     | and, or, not                                       |


        Servers can be filtered by:
          - biosFamily
          - createdAt
          - firmwareBundleUri
          - hardware and all nested properties
          - host and all nested properties
          - id
          - name †
          - oneview and all nested properties
          - platformFamily
          - processorVendor
          - resourceUri
          - state and all nested properties

        † When searching for a server using the `name` filter, you must supply
        the serial number of the server, not the hostname.  To filter by
        hostname use `host/hostname` instead of `name`


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: |
            Return servers where a property equals a value.
            \<property> eq \<value>
          value: host/hostname eq 'myServer'
        nested-fields:
          summary: Filter with equality check on a nested attribute
          description: |
            Return servers where a nested property equals a value.
            \<property>/\<nestedProperty> eq \<value>
          value: state/managed eq 'true'
        url-encoded:
          summary: >-
            Filter with url encoding applied to all reserved characters (example
            is fully URL encoded)
          description: |
            Return servers where a property equals a value, using a url.
            \<property>%20eq%20%27\<value>
          value: id%20eq%20%27497f6eca-6276-4993-bfeb-53cbbbba6f08
        not:
          summary: Filter on an inverted query
          description: |
            Return servers where a property does not equal a value
            not \<property> eq \<value>
          value: not name eq 'MXQ89990RR'
        populated:
          summary: Filter that a property contains a value
          description: |
            Return servers with populated property.
            not \<property> eq null
          value: not name eq null
        contains:
          summary: Filter that field value contains a specific substring
          description: |
            Return servers where property contains a value.
            contains(\<property>, \<value>)
          value: contains(createdAt,'2019')
        and:
          summary: Filter on multiple conditionals
          description: >
            Return servers where property is populated and property contains
            value.

            not \<property> eq null and contains(\<property>, \<value>)
          value: not name eq null and contains(createdAt,'2019')
        alternatives:
          summary: Filter for a value to have one of multiple possibilities
          description: |
            Return servers where property is one of multiple values.
            \<property>/\<nestedProperty> in (\<value>,\<value>)
          value: state/managed in ('true','false')
    serverWarranty-filterParam-v1beta2:
      in: query
      name: filter
      description: >
        Limit the resources operated on by an endpoint or when used with a
        multiple-GET endpoint,

        return only the subset of resources that match the filter. The filter
        grammar is a subset

        of OData 4.0.


        NOTE: The filter query parameter must use [URL
        encoding](https://en.wikipedia.org/wiki/URL_encoding).

        Most clients do this automatically with inputs provided to them
        specifically as query parameters. Encoding must be done manually for any
        query parameters provided as part of the URL.  

        The reserved characters `!` `#` `$` `&` `'` `(` `)` `*` `+` `,` `/` `:`
        `;` `=` `?` `@` `[` `]` must be encoded with percent encoded
        equivalents.

        Server IDs contain a `+`, which must be encoded as `%2B`.  

        For example: the value `P06760-B21+2M212504P8` must be encoded as
        `P06760-B21%2B2M212504P8` when it is used in a query parameter.


        | CLASS     |  EXAMPLES                                          |

        |-----------|----------------------------------------------------|

        | Types     | integer, decimal, timestamp, string, boolean, null |

        | Operations| eq, gt, ge, lt, le                                 |

        | Logic     | and                                                |


        Warranty information can be filtered by:

        - supportState

        - supportStartDate

        - supportEndDate


        The following examples are not an exhaustive list of all possible
        filtering options.
      schema:
        type: string
      examples:
        equals:
          summary: Filter with equality check
          description: >
            Return server warranty information for the servers where a property
            equals a value.

            \<property> eq \<value>
          value: supportState eq 'ACTIVE'
        less-than:
          summary: Filter with less than check
          description: >
            Return server warranty information for the servers where a property
            is less than or equal to a value.

            \<property> lt \<value>
          value: supportStartDate le 2024-07-01
        greater-than:
          summary: Filter with greater than check
          description: >
            Return server warranty information for the servers where a property
            is greater than or equal to a value.

            \<property> gt \<value>
          value: supportEndDate ge 2024-01-01
        less-than-or-equal:
          summary: Filter with less than or equal check
          description: >
            Return server warranty information for the servers where a property
            is less than or equal to a value.

            \<property> lte \<value>
          value: supportStartDate le 2024-07-01
        greater-than-or-equal:
          summary: Filter with greater than or equal check
          description: >
            Return server warranty information for the servers where a property
            is greater than or equal to a value.

            \<property> gte \<value>
          value: supportEndDate ge 2024-01-01
        and:
          summary: Filter on multiple conditionals
          description: >
            Return server warranty information for the servers where property
            mathces multiple conditions.

            \<property> eq \<value> and \<property> le \<value>
          value: supportState eq 'ACTIVE' and supportStartDate le 2024-07-01
    utilizationData-queryParams_startDate:
      name: start-date
      in: query
      required: true
      description: Start date for utilization data retrieval.
      schema:
        type: string
        format: date
      example: '2025-01-01'
    utilizationData-queryParams_endDate:
      name: end-date
      in: query
      required: true
      description: End date for utilization data retrieval.
      schema:
        type: string
        format: date
      example: '2025-04-01'
    utilizationData-queryParams_resourceUri:
      name: resource-uri
      in: query
      required: true
      description: |
        URI of the resource for which utilization data is to be retrieved.
        This can be a server, filter or group URI.
      schema:
        type: string
      examples:
        filterUri:
          summary: Filter URI
          value: >-
            /compute-ops-mgmt/v1beta1/filters/e7cef8e6-a3f6-4490-b669-136e3ca40617
        serverUri:
          summary: Server URI
          value: /compute-ops-mgmt/v1/servers/875765-S01+1M512501AB
        groupUri:
          summary: Group URI
          value: /compute-ops-mgmt/v1/groups/420372b6-af2e-464d-970d-e9339abfc74f
    metricType:
      name: metric-type
      in: query
      required: true
      description: The metric type for which utilization data is to be retrieved.
      schema:
        type: string
        enum:
          - CPU_UTILIZATION
          - MEMORY_BUS_UTILIZATION
          - IO_BUS_UTILIZATION
          - CPU_INTERCONNECT_UTILIZATION
    utilizationData-queryParams_excludedServers:
      name: excluded-servers
      in: query
      description: >
        When it is set to true, the response will have details of servers which
        do not have utilization data available.
      schema:
        type: boolean
        default: false
      example: true
    utilizationData-queryParams_sort:
      name: sort
      in: query
      description: >
        The order in which to return the resources in the collection.

        Sort expression is a property name, followed by `asc` (ascending) or
        `desc` (descending).
      schema:
        type: string
        default: collected/average asc
      examples:
        name-asc:
          summary: Sort by name in ascending order
          value: name asc
        high-asc:
          summary: Sort by maximum utilization in ascending order
          value: collected/high asc
        cpu-speed-desc:
          summary: Sort by cpu speed in descending order
          value: metadata/processorDetails/speedGHz desc
        memory-size-desc:
          summary: Sort by memory size in descending order
          value: metadata/totalMemorySizeGB desc
  schemas:
    accountType:
      type: string
      description: The account type of a particular application customer ID.
      enum:
        - UNKNOWN
        - STANDALONE
        - MSP
        - TENANT
        - BASIC_ORGANIZATION
    account-v1beta1:
      type: object
      description: The account details for a particular acid
      properties:
        id:
          description: Primary identifier of a particular account
          type: string
          format: uuid
          readOnly: true
          example: 0c3bed66f22211ee8c4e128da47d07ed
        accountType:
          $ref: '#/components/schemas/accountType'
          readOnly: true
        applicationCustomerId:
          description: Application customer Id (same as id)
          type: string
          format: uuid
          readOnly: true
          example: 0c3bed66f22211ee8c4e128da47d07ed
        platformCustomerId:
          description: Workspace identifier
          type: string
          format: uuid
          readOnly: true
          example: 567d21e6c08c11eeb7980ea2e11446eb
        mspApplicationCustomerId:
          description: Application customer Id of a MSP user (if accountType is TENANT)
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          example: 482788de186111ef8efeca97be113755
        mspPlatformCustomerId:
          description: Workspace identifier of a MSP user (if accountType is TENANT)
          type:
            - string
            - 'null'
          format: uuid
          readOnly: true
          example: 482788de186111ef8efeca97be113755
        name:
          description: Name of the account user
          type: string
          readOnly: true
          example: msp-test-com
        description:
          description: Description of the account
          type: string
          readOnly: true
        createdAt:
          description: Time of account creation.
          type: string
          format: date-time
          readOnly: true
          example: '2022-02-11T01:04:20.799937+00:00'
        updatedAt:
          description: Time of the last update to the account
          type: string
          format: date-time
          readOnly: true
          example: '2022-02-11T01:04:20.799937+00:00'
        generation:
          description: Monotonically increasing update counter.
          type: integer
          readOnly: true
          example: 1
          minimum: 1
        operationalMode:
          description: Indicates inventory ownership
          type: string
          readOnly: true
          example: DEFAULT
        accountInfo:
          type: object
          description: Provides additional account information
          properties:
            country:
              type: string
            createdAt:
              type: string
            updatedAt:
              type: string
            countryCode:
              type: string
    errorDetailBadRequest:
      type: object
      description: Additional information on why the request is bad
      required:
        - type
        - issues
      properties:
        type:
          type: string
          const: hpe.greenlake.bad_request
        issues:
          type: array
          description: List of bad request issues
          items:
            type: object
            required:
              - source
              - subject
            properties:
              source:
                type: string
                description: The part of the request with an issue
                enum:
                  - field
                  - header
                  - query.parameter
              subject:
                type: string
                description: >-
                  The specific issue key. For example, if the `source` property
                  is `field`, the subject is the dot-separated property name the
                  issue is about.
                example: user.phone
              description:
                type: string
                description: A user-friendly description of the issue
    errorDetailGeneral:
      type: object
      description: General metadata about the error
      required:
        - type
        - source
        - metadata
      properties:
        type:
          type: string
          const: hpe.greenlake.metadata
        source:
          type: string
          description: Source of the error, typically the API group
          const: compute-ops-mgmt
        metadata:
          type: object
          description: >-
            Additional key value pairs that provide information about this
            error.
          additionalProperties:
            type: string
    errorDetailPreconditionFailed:
      type: object
      description: Additional information on why the request failed the preconditions
      required:
        - type
        - issues
      properties:
        type:
          type: string
          const: hpe.greenlake.precondition_failed
        issues:
          type: array
          description: List of precondition issues
          items:
            type: object
            required:
              - source
              - subject
            properties:
              source:
                type: string
                description: A service specific type of the format
              subject:
                type: string
                description: The specific issue
              description:
                type: string
                description: A user-friendly description of how the precondition failed
    errorDetailRetryInfo:
      type: object
      description: Information on how to retry a request as a result of a rate limit error
      required:
        - type
        - retryAfterSeconds
      properties:
        type:
          type: string
          const: hpe.greenlake.retry_info
        retryAfterSeconds:
          type: integer
          description: Seconds to wait before retrying
    errorDetail:
      oneOf:
        - $ref: '#/components/schemas/errorDetailBadRequest'
        - $ref: '#/components/schemas/errorDetailGeneral'
        - $ref: '#/components/schemas/errorDetailPreconditionFailed'
        - $ref: '#/components/schemas/errorDetailRetryInfo'
      discriminator:
        propertyName: type
        mapping:
          hpe.greenlake.bad_request: '#/components/schemas/errorDetailBadRequest'
          hpe.greenlake.metadata: '#/components/schemas/errorDetailGeneral'
          hpe.greenlake.precondition_failed: '#/components/schemas/errorDetailPreconditionFailed'
          hpe.greenlake.retry_info: '#/components/schemas/errorDetailRetryInfo'
    errorResponse:
      type: object
      description: Standard error response when an API has an error
      required:
        - httpStatusCode
        - errorCode
        - message
        - debugId
      properties:
        httpStatusCode:
          type: integer
          description: HTTP equivalent status code
          minimum: 400
          maximum: 599
          example: 400
        errorCode:
          type: string
          description: Unique machine-friendly identifier for the error
          example: HPE-GL-COMPUTE_OPS-0500001
        message:
          type: string
          description: User-friendly error message
        debugId:
          type: string
          description: Unique identifier for the instance of this error
        errorDetails:
          type: array
          description: Additional detailed information about the error
          items:
            $ref: '#/components/schemas/errorDetail'
    resourceCollection2:
      type: object
      required:
        - count
      properties:
        offset:
          type: integer
          description: Zero-based resource offset
          minimum: 0
        count:
          type: integer
          description: Number of items returned
          example: 1
          minimum: 0
        total:
          type: integer
          description: >-
            Total number of items in the collection that match the filter query,
            if one was provided in the request
          example: 12
          minimum: 0
        items:
          type: array
    tenantCollection-v1beta1:
      allOf:
        - description: Paginated collection of tenant accounts for an msp account.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            items:
              description: Array of tenant account details in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/account-v1beta1'
    activationKeysResponse-v1beta1:
      description: Response of Activation key generation
      type: object
      properties:
        id:
          description: >-
            Primary identifier of the activation key resource given by the
            system.
          type: string
          format: uuid
          example: 5fae6c47-13f4-42f3-97b5-540f3d085791
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/activation-key
        targetDevice:
          type: string
          description: Target device to be onboarded
          enum:
            - ILO
            - SECURE_GATEWAY
        expiresAt:
          description: Time of activation key expiration.
          type: string
          format: date-time
          example: '2024-07-25T12:21:05.448576Z'
        activationKey:
          description: Activation key generated to onboard the target device.
          type: string
        subscriptionKey:
          description: Device subscription that is associated with this activation key.
          type: string
        applianceUri:
          description: Appliance URI of the onboarded appliance.
          type: string
        applianceName:
          description: Name of the appliance.
          type: string
        createdAt:
          description: Time of activation key creation.
          type: string
          format: date-time
          example: '2024-07-25T10:21:05.475123Z'
        updatedAt:
          description: Time of activation key updation.
          type: string
          format: date-time
          example: '2024-07-25T10:21:05.475123Z'
        generation:
          description: Monotonically increasing update counter.
          type: number
          example: 1
    activationKeysCollectionResponse-v1beta1:
      allOf:
        - description: Collection of Activation Key
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - items
            - count
            - offset
            - total
          properties:
            items:
              description: Array of resources in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/activationKeysResponse-v1beta1'
    activationKeysRequest-v1beta1:
      description: Activation Keys request
      type: object
      required:
        - targetDevice
      properties:
        targetDevice:
          description: >-
            Target device to be onboarded using the activation key. The
            following target device types are supported: iLO and secure gateway
            appliances.
          type: string
          enum:
            - ILO
            - SECURE_GATEWAY
        expirationInHours:
          description: >-
            Expiration duration of the generated activation key. Default is set
            as 72 hours.
          type: number
          maximum: 168
          minimum: 0.5
          default: 72
        applianceUri:
          description: >-
            The secure gateway appliance URI is required for onboarding a server
            for management through a secure gateway.
          type: string
        subscriptionKey:
          description: >-
            Specifies the device subscription to be associated with the
            generated activation key. The subscription must have at least one
            available seat. Once the activation key is generated, the
            subscription will be automatically added to the HPE GreenLake
            workspace and linked to all servers onboarded using that key,
            regardless of the auto-subscribe configuration.
          type: string
    activationTokenRequest-v1beta1:
      description: Activation Token request
      type: object
      properties:
        expirationInHours:
          description: >-
            Expiration duration of the generated activation token. Default is
            set as 72 hours.
          type: number
          maximum: 168
          minimum: 0.5
          default: 72
        subscriptionKey:
          description: Device subscription key
          type: string
          example: ABC123
    activationTokenResponse-v1beta1:
      description: Response of Activation Key generation
      type: object
      properties:
        id:
          description: >-
            Primary identifier of the activation token resource given by the
            system.
          type: string
          format: uuid
          example: f1a58cb3-90ba-4937-ab35-edc5e2089384
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/activation-token
        createdAt:
          description: Time of activation token creation.
          type: string
          format: date-time
          example: '2024-05-20 06:51:59.654591'
        activationKey:
          description: JSON Web token generated to onboard servers.
          type: string
          format: application/jwt
    activity-v1beta2:
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the activity given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/activity
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of activity creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last activity update
          type: string
          format: date-time
        title:
          type: string
        key:
          type: string
        message:
          type: string
        recommendedAction:
          type:
            - string
            - 'null'
        source:
          type: object
          description: Reference to the resource that caused this activity
          properties:
            id:
              type: string
              description: >-
                The id is the opaque identifier of the resource that caused the
                activity.
            type:
              type: string
              description: The type of the resource that caused the activity.
            name:
              type: string
              description: Name given to the resource.
            displayName:
              type: string
              description: >-
                This property should be considered deprecated and may be removed
                in a future version.
            originId:
              type: string
              description: >-
                This property should be considered deprecated and may be removed
                in a future version.
            resourceUri:
              type: string
              description: >-
                This property should be considered deprecated and may be removed
                in a future version.
        associatedServerUri:
          type:
            - string
            - 'null'
    activityCollection-v1beta2:
      allOf:
        - description: Activity collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/activity-v1beta2'
    ahsfilesResponses-v1beta1:
      description: Response of AHS file parsing status.
      type: object
      properties:
        id:
          description: >-
            Unique file identifier (File UUID) of the ahs-files resource given
            by the system.
          type: string
          format: uuid
          example: 017a9224-4d6e-4adb-9c78-321f95c7bb2c
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/ahs-file
        generation:
          description: Monotonically increasing update counter.
          type: number
          example: 1
        createdAt:
          description: Time of ahs-file creation.
          type: string
          format: date-time
          example: '2024-12-05 10:25:23.302032Z'
        updatedAt:
          description: Time of ahs-file updation.
          type: string
          format: date-time
          example: '2024-12-05 10:25:46.562205Z'
        resourceUri:
          type: string
          description: Resource URI of the ahs-file.
          example: >-
            /compute-ops-mgmt/v1beta1/ahs-files/017a9224-4d6e-4adb-9c78-321f95c7bb2c
        name:
          description: Name of the AHS file.
          type: string
          example: HPE_MXQ0xxxT3_20250108_Server.ahs
        baseUrl:
          description: AWS S3 bucket pre-signed URL generated while uploading the AHS file.
          type:
            - string
            - 'null'
          example: null
        parameters:
          description: >-
            Key value pairs attributes of parameters list supplied for uploading
            the AHS file to AWS S3 bucket.
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: The name of this attribute
                example: key
              value:
                type: string
                description: The value of this attribute
                example: >-
                  AHS_DISCONNECT/42xx75fcddef11ebaeaea25R6Z73AAE/c924e770-f5f0xxxx/presigned_post.ahs
          example: '[]'
        parsingStatus:
          type: object
          title: parsingStatus
          description: file parsing request details
          properties:
            status:
              type: string
              description: Status of the file parsing request.
              enum:
                - ANALYSIS_PENDING
                - ANALYSIS_IN_PROGRESS
                - ANALYSIS_SUCCESS
                - ANALYSIS_FAILED
              example: ANALYSIS_SUCCESS
            statusReason:
              description: Reason for the status of the file parsing request.
              type:
                - string
                - 'null'
            statusModifiedAt:
              type: string
              description: Time of ahs-file status modification
              format: date-time
              example: '2024-12-05 10:25:49.562196Z'
            errorCode:
              description: Error code for the file parsing request.
              type: string
        parsingResults:
          type: object
          title: parsingResults
          description: file parsing result details
          properties:
            components:
              type:
                - object
                - 'null'
              title: components
              description: Dictionary of components parsed.
              properties:
                INVENTORY:
                  type:
                    - object
                  title: INVENTORY
                  description: Component name.
                  properties:
                    csv:
                      type: string
                      description: CSV file name of the inventory details of the server.
                      example: MXQ0xxxT3-20241205-1025-SERVER_INVENTORY.csv
                    json:
                      type: string
                      description: JSON file name of the inventory details of the server.
                      example: MXQ0xxxT3-20241205-1025-SERVER_INVENTORY.json
        hardware:
          type: object
          title: hardware
          description: Server hardware details
          properties:
            productId:
              type: string
              example: P2xx99-B21
            serialNumber:
              type: string
              example: MXQ0xxxT3
    ahsfilesResponse-v1beta1:
      allOf:
        - description: Collection of ahs file parsing responses
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - offset
            - count
            - items
            - total
          properties:
            items:
              description: Array of ahs file parsing status responses.
              type: array
              items:
                $ref: '#/components/schemas/ahsfilesResponses-v1beta1'
    ahsfilesUploadRequest-v1beta1:
      required:
        - fileName
      properties:
        fileName:
          description: Name of the AHS file which needs to be uploaded.
          type: string
          example: 2024-08-26_19-20-42_P05172-B21+2M2D110304_FWUFailure.ahs
    ahsfilesUploadResponse-v1beta1:
      description: Response of AHS file upload - PreSigned URL.
      type: object
      properties:
        id:
          description: >-
            Unique file identifier (File UUID) of the ahs-files resource given
            by the system.
          type: string
          format: uuid
          example: 017a9224-4d6e-4adb-9c78-321f95c7bb2c
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/ahs-file
        baseUrl:
          description: Bucket url where file is being uploaded.
          type: string
          const: https://dev-hpecomputesupport-us-west-2.s3.amazonaws.com/
        parameters:
          description: >-
            Key value pairs attributes of parameters list supplied for uploading
            the AHS file to AWS S3 bucket.
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                enum:
                  - key
                  - x-amz-algorithm
                  - x-amz-credential
                  - x-amz-date
                  - x-amz-security-token
                  - policy
                  - x-amz-signature
              value:
                type: string
          example:
            - name: key
              value: >-
                AHS_DISCONNECTED/427275fcddef29436/c924e770-...-9219276d2a5f/upload_file_presigned_post.ahs
            - name: x-amz-algorithm
              value: AWS4-HMAC-SHA256
            - name: x-amz-credential
              value: example_credential
            - name: x-amz-date
              value: 20250213T000000Z
            - name: x-amz-security-token
              value: example_token
            - name: policy
              value: example_policy
            - name: x-amz-signature
              value: example_signature
    ahsfileResponse-v1beta1:
      description: Array of ahs file parsing status response.
      type: object
      properties:
        id:
          description: >-
            Unique file identifier (File UUID) of the ahs-files resource given
            by the system.
          type: string
          format: uuid
          example: 017a9224-4d6e-4adb-9c78-321f95c7bb2c
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/ahs-file
        generation:
          description: Monotonically increasing update counter.
          type: number
          example: 1
        createdAt:
          description: Time of ahs-file creation.
          type: string
          format: date-time
          example: '2024-12-05 10:25:23.302032Z'
        updatedAt:
          description: Time of ahs-file updation.
          type: string
          format: date-time
          example: '2024-12-05 10:25:46.562205Z'
        resourceUri:
          type: string
          description: Resource URI of the ahs-file.
          example: >-
            /compute-ops-mgmt/v1beta1/ahs-files/017a9224-4d6e-4adb-9c78-321f95c7bb2c
        name:
          description: Name of the AHS file.
          type: string
          example: HPE_MXQ0xxxT3_20250108_Server.ahs
        baseUrl:
          description: AWS S3 bucket pre-signed URL generated while uploading the AHS file.
          type: string
          example: null
        parameters:
          description: >-
            Key value pairs attributes of parameters list supplied for uploading
            the AHS file to AWS S3 bucket.
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: The name of this attribute
                example: key
              value:
                type: string
                description: The value of this attribute
                example: >-
                  AHS_DISCONNECT/42xx75fcddef11ebaeaea25R6Z73AAE/c924e770-f5f0xxxx/presigned_post.ahs
          example: []
        parsingStatus:
          type: object
          title: parsingStatus
          description: file parsing request details
          properties:
            status:
              type: string
              description: Status of the file parsing request.
              enum:
                - ANALYSIS_PENDING
                - ANALYSIS_IN_PROGRESS
                - ANALYSIS_SUCCESS
                - ANALYSIS_FAILED
              example: ANALYSIS_SUCCESS
            statusModifiedAt:
              type: string
              description: Time of ahs-file status modification
              format: date-time
              example: '2024-12-05 10:25:49.562196Z'
            statusReason:
              description: Reason for the status of the file parsing request.
              type:
                - string
                - 'null'
            errorCode:
              description: Error code for the file parsing request.
              type: string
        parsingResults:
          type: object
          title: parsingResults
          description: file parsing result details
          properties:
            components:
              type:
                - object
                - 'null'
              title: components
              description: Dictionary of components parsed.
              properties:
                INVENTORY:
                  type:
                    - object
                  title: INVENTORY
                  description: File name of the inventory details of the server.
                  properties:
                    csv:
                      type: string
                      description: CSV file name of the inventory details of the server.
                      example: MXQ0xxxT3-20241205-1025-SERVER_INVENTORY.csv
                    json:
                      type: string
                      description: JSON file name of the inventory details of the server.
                      example: MXQ0xxxT3-20241205-1025-SERVER_INVENTORY.json
        hardware:
          type: object
          title: hardware
          description: Server hardware details
          properties:
            productId:
              type: string
              example: P2xx99-B21
            serialNumber:
              type: string
              example: MXQ0xxxT3
    ahsfilesPatchRequest-v1beta1:
      type: object
      properties:
        parsingStatus:
          type: object
          properties:
            status:
              type: string
              description: Status of the file parsing request.
              enum:
                - ANALYSIS_FAILED
      example:
        parsingStatus:
          status: ANALYSIS_FAILED
    ahsfilePatchResponse-v1beta1:
      description: Response of AHS file patch request to update the parsing status.
      type: object
      properties:
        id:
          description: >-
            Unique file identifier (File UUID) of the ahs-files resource given
            by the system.
          type: string
          format: uuid
          example: 017a9224-4d6e-4adb-9c78-321f95c7bb2c
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/ahs-file
        generation:
          description: Monotonically increasing update counter.
          type: number
          example: 2
        createdAt:
          description: Time of ahs-file creation.
          type: string
          format: date-time
          example: '2024-12-05 10:25:23.302032Z'
        updatedAt:
          description: Time of ahs-file updation.
          type: string
          format: date-time
          example: '2024-12-05 10:25:46.562205Z'
        resourceUri:
          type: string
          description: Resource URI of the ahs-file.
          example: >-
            /compute-ops-mgmt/v1beta1/ahs-files/017a9224-4d6e-4adb-9c78-321f95c7bb2c
        name:
          description: Name of the AHS file.
          type: string
          example: HPE_MXQ0xxxT3_20250108_Server.ahs
        baseUrl:
          description: AWS S3 bucket pre-signed URL generated while uploading the AHS file.
          type:
            - string
            - 'null'
          example: null
        parameters:
          description: >-
            Key value pairs attributes of parameters list supplied for uploading
            the AHS file to AWS S3 bucket.
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: The name of this attribute
                example: key
              value:
                type: string
                description: The value of this attribute
                example: >-
                  AHS_DISCONNECT/42xx75fcddef11ebaeaea25R6Z73AAE/c924e770-f5f0xxxx/presigned_post.ahs
          example: []
        parsingStatus:
          type: object
          title: parsingStatus
          description: file parsing request details
          properties:
            status:
              type: string
              description: Status of the file parsing request.
              enum:
                - ANALYSIS_FAILED
              example: ANALYSIS_FAILED
            statusModifiedAt:
              type: string
              description: Time of ahs-file status modification
              format: date-time
              example: '2024-12-05 10:25:49.562196Z'
            statusReason:
              description: Reason for the status of the file parsing request.
              type:
                - string
                - 'null'
              example: >-
                due to intermittent issue. Retry the upload operation (error
                code: AHSE-101).
            errorCode:
              description: Error code for the file parsing request.
              type: string
              example: AHSE-101
        parsingResults:
          type: object
          title: parsingResults
          description: file parsing result details
          example: {}
          properties:
            components:
              type:
                - object
                - 'null'
              title: components
              description: Dictionary of components parsed.
              properties:
                INVENTORY:
                  type:
                    - object
                  title: INVENTORY
                  description: Component name.
                  properties:
                    csv:
                      type: string
                      description: CSV file name of the inventory details of the server.
                      example: ''
                    json:
                      type: string
                      description: JSON file name of the inventory details of the server.
                      example: ''
        hardware:
          type: object
          title: hardware
          description: Server hardware details
          properties:
            productId:
              type: string
              example: ''
            serialNumber:
              type: string
              example: ''
    ahsfileComponent:
      type: string
      enum:
        - INVENTORY
      example: INVENTORY
    ahsfilesParseRequest-v1beta1:
      required:
        - components
      type: object
      properties:
        components:
          description: |
            Name of component from AHS file which needs to be parsed.
            * `INVENTORY` - Server Inventory details
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ahsfileComponent'
    ahsfilesDownloadResponse-v1beta1:
      description: Response of parsed AHS file (CSV/JSON) contents.
      type: object
      example:
        ProductName: ProLiant ML350 Gen10
        SerialNumber: MXQOxxxT3
        ServerID: R4xx5A:MXQOxxxT3
        DateProcessed: 2025-04-02 12:47:25.868511+00:00 UTC
        PowerState: Not Available
        Chassis:
          - ChassisType: Unknown
            FormFactor: 4U
        ILO:
          - ILOFirmware: iLO 5 v2.55p23 built on Oct 01 2021
            ILOLicense: iLO Advanced
        BIOS:
          - BIOSVendor: HPE
            BIOSVersion: U41 v2.04
            BIOSReleaseDate: 04/18/2019
        Processor:
          - MaxSpeedMHz: '4000'
            Model: Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz
            Name: Intel Xeon processor
            Stepping: Cascade Lake SP B1
            RatedSpeedMHz: '2100'
            Status.Health: OK
            Status.State: Enabled
            TotalCores: '20'
            TotalThreads: '40'
          - MaxSpeedMHz: '4000'
            Model: Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz
            Name: Intel Xeon processor
            Stepping: Cascade Lake SP B1
            RatedSpeedMHz: '2100'
            Status.Health: OK
            Status.State: Enabled
            TotalCores: '20'
            TotalThreads: '40'
        Device:
          - FirmwareVersion: '4.11'
            Location: Embedded RAID
            Name: HPE Smart Array P408i-a SR Gen10
            PartNumber: 80xxx4-003
            ProductVersion: B
            SerialNumber: 'PZXNLxxxxFU0A9 '
            Status.Health: Ok
          - FirmwareVersion: '2.5'
            Location: Embedded Device
            Name: Embedded Video Controller
            Status.Health: Ok
        Memory:
          - DeviceLocator: PROC 1 DIMM 3
            BaseModuleType: RDIMM
            CapacityMiB: 65536
            MemoryDeviceType: DDR4
            HPEPartNumber: P0xx53-0A1
            Vendor: Hynix
            VendorPartNumber: HMAAxxxxJR4N-XN
            OperatingSpeedMHz: 2933 MHz
            MaximumSpeed: 3200 MHz
            IsHPEMemory: 'No'
            HPESmartMemory: 'Yes'
            SerialNumber: 84xx664
            CorrectableThresholdErrorCount: 0
            UnCorrectableThresholdErrorCount: 0
          - DeviceLocator: PROC 2 DIMM 10
            BaseModuleType: RDIMM
            CapacityMiB: 65536
            MemoryDeviceType: DDR4
            HPEPartNumber: P0xx53-0A1
            Vendor: Hynix
            VendorPartNumber: HMAA8xxxJR4N-XN
            OperatingSpeedMHz: 2933 MHz
            MaximumSpeed: 3200 MHz
            IsHPEMemory: 'No'
            HPESmartMemory: 'Yes'
            SerialNumber: 84xx3731
            CorrectableThresholdErrorCount: 0
            UnCorrectableThresholdErrorCount: 0
        Storage:
          - ControllerLocation: 0
            ControllerSlotLocation: Slot 0
            ControllerModel: P408i-a SR Gen10
            ControllerFirmware: '4.11'
            ControllerSerialNumber: PZXNLxxxHFU0A9
            ControllerMemorySize: 2048 MiB
            PhysicalDrivesCount: N/A
            LogicalDrivesCount: N/A
            DriveLocation: Port 1I Box 3 Bay 1
            DriveNumber: 0
            DriveMedia: SATA HDD
            DriveModel: VK0019xxxGWTTC
            DriveCapacity: 1.75 TB
            DriveProtocol: N/A
            DriveRevision: HPG6
            DriveSerialNumber: PHYF13xxxxM1P9DGN
            DriveVendor: N/A
            DriveWWID: 31402EC017C83310
            DrivePowerOnHours: N/A
          - ControllerLocation: 0
            ControllerSlotLocation: Slot 0
            ControllerModel: P408i-a SR Gen10
            ControllerFirmware: '4.11'
            ControllerSerialNumber: PZXNL0Axxxx0A9
            ControllerMemorySize: 2048 MiB
            PhysicalDrivesCount: N/A
            LogicalDrivesCount: N/A
            DriveLocation: Port 2I Box 3 Bay 6
            DriveNumber: 5
            DriveMedia: SATA HDD
            DriveModel: VK001920GWTTC
            DriveCapacity: 1.75 TB
            DriveProtocol: N/A
            DriveRevision: HPG6
            DriveSerialNumber: PHYF13xxxx1P9DGN
            DriveVendor: N/A
            DriveWWID: 31402EC017C83315
            DrivePowerOnHours: N/A
        Storage_NVME: []
        Network: []
        Power:
          - FirmwareVersion: '2.00'
            Model: Power Supply 1
            OEM.Hpe.Bay: 1
            PowerCapacity: 800
            Vendor: LTEON
            CTNumber: 5XLNV0xxxFRA34
            Revision: A1
            PartNumber: P3xx95-B21
            SparePartNumber: P3xx85-001
            OptionKitNumber: P3xx95-B21
            FRU: 03/14/16
            SerialNumber: 5XLNV0xxxFRA34
            Status.Health: Ok
          - FirmwareVersion: '2.00'
            Model: Power Supply 2
            OEM.Hpe.Bay: 2
            PowerCapacity: 800
            Vendor: LTEON
            CTNumber: 5XLNxxxFRA35
            Revision: A1
            PartNumber: P3xx95-B21
            SparePartNumber: P3xx85-001
            OptionKitNumber: P3xx95-B21
            FRU: 03/14/16
            SerialNumber: 5XLNxxxFRA35
            Status.Health: Ok
        Thermal-FanInformation:
          - Name: Fan 2
            Oem.Hpe.Location: Fan
          - Name: Fan 4
            Oem.Hpe.Location: Fan
          - Name: Fan 6
            Oem.Hpe.Location: Fan
          - Name: Fan 1
            Oem.Hpe.Location: Fan
          - Name: Fan 3
            Oem.Hpe.Location: Fan
          - Name: Fan 5
            Oem.Hpe.Location: Fan
        Firmware:
          - Name: iLO
            Version: iLO 5 v2.55p23 built on Oct 01 2021
          - Name: System ROM
            Version: v2.04 (04/18/2019)
          - Name: Redundant System ROM
            Version: v2.04 (04/18/2019)
          - Name: Power Management Controller Firmware
            Version: 1.0.8
          - Name: Power Management Controller FW Bootloader
            Version: '1.1'
          - Name: System Programmable Logic Device
            Version: '0x12'
          - Name: Server Platform Services (SPS) Firmware
            Version: 4.1.4.505.0
          - Name: Intelligent Platform Abstraction Data
            Version: 10.2.1 build 29
          - Name: HPE Ethernet 1Gb 4-port 369i Adapter
            Version: 1.2836.0
          - Name: HP Ethernet 1Gb 4-port 366T Adapter
            Version: 1.2836.0
          - Name: Power Supply 1
            Version: '2.00'
          - Name: Power Supply 2
            Version: '2.00'
          - Name: SATA HDD VK001920GWTTC Port 2I Box 3 Bay 5
            Version: HPG6
          - Name: SATA HDD VK001920GWTTC Port 2I Box 3 Bay 6
            Version: HPG6
        Applications: []
        Drivers: []
        SDcards:
          - DeviceName: 004GA0
            Revision: '3.0'
            Manufacturer: Toshiba
            mfgDate: 7/2021
            SerialNumber: EB3xxC00
            Capacity: 4 GB
            LBAcount: 7733248
        IntegratedManagementLogs: []
        ILOEventLogs: []
        SecurityEventLogs: []
        PowerSupplySummary:
          - PresentPowerReading: 365 Watts
            PowerManagementControllerFirmwareVersion: 1.0.8
            HighEfficiencyMode: Balanced
        Thermal-SensorTemperatureInformationInCelsius:
          - Sensor: 01-Inlet Ambient
            Location: Inlet Temp
            CriticalThreshold: 47
            CautionThreshold: 42
            Reading: 20
          - Sensor: 02-CPU 1
            Location: Processor Temp
            CriticalThreshold: N/A
            CautionThreshold: 69.75
            Reading: 40
          - Sensor: 82-Derived
            Location: Baseboard Temp
            CriticalThreshold: N/A
            CautionThreshold: N/A
            Reading: 38
    applianceResourceUri-v1beta2:
      type: object
      description: Appliance resource URI details
      properties:
        id:
          type: string
          description: Primary unique identifier for the appliance
          example: gateway+3abc1b2c-4a5d-4e6f-9c7b-2a1d8e7f6abc
        type:
          type: string
          description: Type of resource
          const: compute-ops-mgmt/appliance
        resourceUri:
          type: string
          description: Resource URI of the appliance
          example: >-
            /compute-ops-mgmt/v1beta2/appliances/gateway+3abc1b2c-4a5d-4e6f-9c7b-2a1d8e7f6abc
    appliance-v1beta2:
      description: Secure gateway appliance details
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the appliance
          type: string
          format: uuid
          example: 3abc1b2c-4a5d-4e6f-9c7b-2a1d8e7f6abc
        type:
          description: Type of resource
          type: string
          const: compute-ops-mgmt/appliance
        ipAddress:
          description: IP address of the appliance
          type: string
          format: ipv4
        deviceId:
          description: Primary unique identifier for the appliance
          type: string
          example: gateway+3abc1b2c-4a5d-4e6f-9c7b-2a1d8e7f6abc
        name:
          description: Name of the appliance
          type: string
          example: secure-gateway-appliance-01.net
        createdAt:
          description: Time of appliance entry creation
          type: string
          example: '2025-03-01T10:50:33.736935+00:00'
        generation:
          description: Monotonically increasing update counter
          type: integer
          example: 2450
        hostname:
          description: Host name of the appliance
          type: string
          example: secure-gateway-appliance-01.net
        modelNumber:
          description: Model of the appliance
          type: string
          example: HPE Compute Ops Management secure gateway
        productId:
          description: Product identifier for the appliance
          type: string
          example: gateway
        state:
          description: Connectivity state of the appliance
          type: string
          enum:
            - CONNECTED
            - NOT_ACTIVATED
            - DISCONNECTED
        updatedAt:
          description: Time of last appliance updated
          type: string
          example: '2025-03-01T11:05:00.554140+00:00'
        lastDisconnectedAt:
          description: Time of last appliance disconnected
          type: string
          example: '2025-03-01T11:05:00.554140+00:00'
        applianceType:
          description: Type of the appliance
          type: string
          example: GATEWAY
        applianceCert:
          description: Certificate of the appliance
          type: string
        applianceMode:
          description: Mode of the appliance
          type: string
          enum:
            - NORMAL
            - MAINTENANCE
        resource:
          description: Resource URI of the appliance
          type: object
          $ref: '#/components/schemas/applianceResourceUri-v1beta2'
        version:
          description: Version of the appliance
          type: string
          example: 1.0.2+506412
        subscription:
          description: Subscription details for the appliance
          type:
            - string
            - 'null'
    applianceCollection-v1beta2:
      allOf:
        - description: Appliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/appliance-v1beta2'
    applianceFirmwareBundle-v1:
      type: object
      properties:
        id:
          description: >-
            Primary identifier for the appliance firmware bundle given by the
            system
          type: string
          example: 427275fcefef11ebaeaea25b204e9317
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/appliance-firmware-bundle
        rdaBundlePath:
          description: Path where the bundle is stored in the RDA server
          type: string
          example: /depot/volume/pub/OliveComputeUpdate/Ov8_50
        ovaFileName:
          description: Name of tha OVA file
          type: string
          example: Update.bin
        resourceUri:
          description: URI to the firmware bundle itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/appliance-firmware-bundles/427275fcefef11ebaeaea25b204e9317
        applianceVersion:
          description: Version of the OV appliance
          type: string
        applianceType:
          description: Type of appliance
          type: string
        releaseDate:
          description: Date of release of the selected firmware bundle
          type: string
        milestone:
          description: >-
            Flag that tells if the selected firmware version is a milestone
            version or not
          type: boolean
        name:
          description: Name of the appliance firmware bundle
          type: string
        state:
          description: State of the appliance firmware bundle
          type: string
        releaseNotes:
          description: >-
            A HPE SW Center Page link which describes how the bundle can be
            downloaded and installed in the customer environment
          type: string
        size:
          description: Size of the appliance firmware bundle
          type: integer
        languages:
          description: The list of languages that are supported
          type: array
          items:
            description: Language supported
            type: string
        synergyReleaseInfo:
          description: URI to the release information
          type: string
          format: uri-reference
        features:
          description: The list of features of the appliance firmware bundle
          type: array
          items:
            description: feature of appliance firmware bundle
            type: string
        supportedUpgrades:
          description: Supported list of upgrades for the current OV appliance
          type: array
          items:
            description: OV version upgrade supported for the current OV appliance
            type: string
        applicableAppliances:
          description: >-
            The list of appliances that can be updated to the latest firmware.
            This list will only be populated if the displayAppliances query
            parameter is set to true and the response is limited to one
            appliance firmware bundle.
          type: array
          items:
            description: It contains the appliance ID and firmwareDisplayName
            type: object
        createdAt:
          description: Time of firmware bundle creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last firmware bundle update
          type: string
          format: date-time
    applianceFirmwareBundleCollection-v1:
      allOf:
        - description: Appliance firmware bundle collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - offset
            - total
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/applianceFirmwareBundle-v1'
    applianceFirmwareBundle-v1beta1:
      type: object
      required:
        - id
        - type
        - applianceVersion
        - applianceType
        - supportedUpgrades
        - createdAt
        - updatedAt
      properties:
        id:
          description: >-
            Primary identifier for the appliance firmware bundle given by the
            system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/appliance-firmware-bundle
        rdaBundlePath:
          description: Path where the bundle is stored in the RDA server
          type: string
          example: /depot/volume/pub/OliveComputeUpdate/Ov8_50
        ovaFileName:
          description: Name of tha OVA file
          type: string
          example: Update.bin
        resourceUri:
          description: URI to the firmware bundle itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/appliance-firmware-bundles/427275fcefef11ebaeaea25b204e9317
        applianceVersion:
          description: Version of the OV appliance
          type: string
        applianceType:
          description: Type of appliance
          type: string
        releaseDate:
          description: Date of release of the selected firmware bundle
          type: string
        milestone:
          description: >-
            Flag that tells if the selected firmware version is a milestone
            version or not
          type: boolean
        name:
          description: Name of the appliance firmware bundle
          type: string
        state:
          description: State of the appliance firmware bundle
          type: string
        releaseNotes:
          description: >-
            A HPE SW Center Page link which describes how the bundle can be
            downloaded and installed in the customer environment
          type: string
        size:
          description: Size of the appliance firmware bundle
          type: integer
        languages:
          description: The list of languages that are supported
          type: array
          items:
            description: Language supported
            type: string
        synergyReleaseInfo:
          description: URI to the release information
          type: string
          format: uri-reference
        features:
          description: The list of features of the appliance firmware bundle
          type: array
          items:
            description: feature of appliance firmware bundle
            type: string
        supportedUpgrades:
          description: Supported list of upgrades for the current OV appliance
          type: array
          items:
            description: OV version upgrade supported for the current OV appliance
            type: string
        applicableAppliances:
          description: >-
            The list of appliances that can be updated to the latest firmware.
            This list will only be populated if the displayAppliances query
            parameter is set to true and the response is limited to one
            appliance firmware bundle.
          type: array
          items:
            description: It contains the appliance ID and firmwareDisplayName
            type: object
        createdAt:
          description: Time of firmware bundle creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last firmware bundle update
          type: string
          format: date-time
    applianceFirmwareBundleCollection-v1beta1:
      allOf:
        - description: Appliance firmware bundle collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - offset
            - total
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/applianceFirmwareBundle-v1beta1'
    approvables-v1beta2:
      description: Approvable data for approval policy
      type: object
      properties:
        approvableName:
          description: >
            approvableName is used to identify the type of operation that
            requires approval.

            A case-sensitive field that must contain a value from the
            "Approvable Name" column below.

            The actions that are supported for approval follow:
              | Approvable Name                      |  Description                                                                  |
              |--------------------------------------|-------------------------------------------------------------------------------|
              | Update firmware                      | Updating the firmware of server or servers in a group.                        |
              | Apply internal storage configuration | Applying internal storage configuration to the server or servers in a group.  |
              | Install operating system image       | Installing the operating system image on the server or servers in a group.    |
              | Apply external storage configuration | Applying external storage configuration to the server or servers in a group.  |
              | Power on                             | Powering on the server.                                                       |
              | Power off                            | Powering off the server.                                                      |
              | Reset                                | Resetting the server.                                                         |
              | Cold boot                            | Cold booting the server.                                                      |
              | Update iLO firmware                  | Updating the iLO firmware on the server or servers in a group                 |
              | Apply server settings (BIOS and iLO) | Applying server settings (BIOS and iLO) to the server or servers in a group   |
          type: string
          example: Apply internal storage configuration
        approvers:
          description: >
            Data concerning approvers for the approval policy. The specified
            approvers have the 

            authority to approve or deny the requested action, identified as the
            'Approvable Name' 

            in the table above, for the designated server or servers in a group.
          type: array
          items:
            type: object
            properties:
              email:
                description: Approver email address
                type: string
                example: test_user1@hpe.com
        minApprovers:
          description: >
            minApprovers set the number of required approvals.

            An optional field indicating the minimum number of required
            approvers for the request.

            If the number of approvers who approve the request is greater than
            or equal to this value, 

            the request will be approved.

            A single decline of the request will decline the request regardless
            of the minApprovers value.
          type: integer
          default: 1
          minimum: 1
    resources-v1beta2:
      description: Resources that are assigned with the approval policy.
      type: object
      properties:
        resourceId:
          description: unique identifier of resource assigned to the policy
          type: string
          format: uuid
          example: 29d8ba78-16bd-4b2f-b3c1-0395f38ee741
        resourceType:
          description: |
            Type of the resource assigned to the policy.
            Currently policy can be configured only for the group resource type.
          type: string
          example: compute-ops-mgmt/group
    approvalPolicyResponse-v1beta2:
      description: Create approval policy response
      type: object
      required:
        - id
        - type
        - createdAt
        - updatedAt
        - generation
      properties:
        name:
          description: Policy name
          type: string
          example: demo-policy
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/approval-policy
        id:
          description: Primary identifier for policy given by the system.
          type: string
          format: uuid
          example: 4c102e14-87cd-4c00-8f5a-73073f85c9az
        resourceUri:
          description: URI to the policy itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/approval-policies/4c102e14-87cd-4c00-8f5a-73073f85c9az
        description:
          description: Policy description
          type: string
          example: Example policy
        state:
          description: Approval policy state
          type: string
          enum:
            - ACTIVE
            - INACTIVE
        remarks:
          description: Comments on the policy
          type: string
          example: This is a demo policy
        createdAt:
          description: Time of policy entry creation
          type: string
          example: '2025-03-01T10:50:33.736935+00:00'
        updatedAt:
          description: Time of last policy update
          type: string
          example: '2025-03-01T11:05:00.554140+00:00'
        generation:
          description: Monotonically increasing update counter
          type: integer
          example: 8450
        policyData:
          description: >-
            Information about approvers and other resources assigned to the
            policy
          properties:
            approvables:
              type: array
              items:
                $ref: '#/components/schemas/approvables-v1beta2'
            resources:
              type: array
              items:
                $ref: '#/components/schemas/resources-v1beta2'
    approvalPoliciesResponseCollection-v1beta2:
      allOf:
        - description: Response for the approval policy resource.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/approvalPolicyResponse-v1beta2'
    approvalPolicyCreateRequest-v1beta2:
      description: |
        Create an approval policy.
      type: object
      properties:
        name:
          description: Policy name
          type: string
          example: demo-policy
        description:
          description: Policy description
          type: string
          example: Example policy
        policyData:
          description: >
            Data for the policy containing information about approvers and
            resources

            that are assigned to the policy.
          properties:
            approvables:
              type: array
              items:
                $ref: '#/components/schemas/approvables-v1beta2'
            resources:
              type: array
              items:
                $ref: '#/components/schemas/resources-v1beta2'
    approvalPolicyPatchRequest-v1beta2:
      description: |
        Modify an approval policy.
      type: object
      properties:
        name:
          description: >
            Policy name. This is an optional parameter that can be used to
            update the policy name.
          type: string
          example: demo-policy
        description:
          description: >
            Policy description. This is an optional parameter that can be used
            to update the policy description.
          type: string
          example: Example policy
        policyData:
          description: >
            Data for the policy containing information about approvers and
            resources

            that are assigned to the policy. User can modify the approvables
            and 

            resources assigned to the policy.

            If the user wants to modify a policy assigned to a group resource,

            then the user must specify the resource ID of the group in the
            resources array.

            This is an optional parameter that can be used to update the policy
            data.
          properties:
            approvables:
              type: array
              items:
                $ref: '#/components/schemas/approvables-v1beta2'
            resources:
              type: array
              items:
                $ref: '#/components/schemas/resources-v1beta2'
    approvalState:
      type: string
      description: The state of the request.
      enum:
        - APPROVED
        - CANCELLED
        - DECLINED
        - EXPIRED
        - PENDING
        - OTHER
    userApprovalState:
      type: string
      description: >-
        The state set by the user when approving or declining an approval
        request.
      enum:
        - APPROVED
        - DECLINED
    approvalRequestResponse-v1beta2:
      description: >
        Response for the approval request resource. It provides details about
        the approval 

        request including its state, associated policy, approvable resource, and
        requester information.
      type: object
      required:
        - id
        - type
        - createdAt
        - updatedAt
        - generation
      properties:
        type:
          description: Type of resource
          type: string
          const: compute-ops-mgmt/approval-request
        resourceUri:
          description: URI to the request ifself (i.e. a self link)
          type: string
          example: >-
            /compute-ops-mgmt/v1beta2/approval-requests/30fa7c27-64a0-4331-9462-73b0e004d4b9
        id:
          description: Primary identifier for request given by the system.
          type: string
          format: uuid
          example: 30fa7c27-64a0-4331-9462-73b0e004d4b9
        policy:
          description: Information about the policy that request is associated with.
          type: object
          properties:
            id:
              description: Unique identifier of the policy applied.
              type: string
              format: uuid
              example: f196db43-b56b-441c-a60e-73ca3bb53c5d
            resourceUri:
              description: Resource URI
              type: string
              example: >-
                /compute-ops-mgmt/v1beta2/approval-policies/f196db43-b56b-441c-a60e-73ca3bb53c5d
            type:
              description: Policy resource Type
              type: string
              const: compute-ops-mgmt/approval-policy
        approvableName:
          description: >
            approvableName is used to identify the type of operation that
            requires approval.

            A case-sensitive field that must contain a value from the
            "Approvable Name" column below.

            The actions that are supported for approval follow:
              | Approvable Name                      |  Description                                                                  |
              |--------------------------------------|-------------------------------------------------------------------------------|
              | Update firmware                      | Updating the firmware of server or servers in a group.                        |
              | Apply internal storage configuration | Applying internal storage configuration to the server or servers in a group.  |
              | Install operating system image       | Installing the operating system image on the server or servers in a group.    |
              | Apply external storage configuration | Applying external storage configuration to the server or servers in a group.  |
              | Power on                             | Powering on the server.                                                       |
              | Power off                            | Powering off the server.                                                      |
              | Reset                                | Resetting the server.                                                         |
              | Cold boot                            | Cold booting the server.                                                      |
              | Update iLO firmware                  | Updating the iLO firmware on the server or servers in a group                 |
              | Apply server settings (BIOS and iLO) | Applying server settings (BIOS and iLO) to the server or servers in a group   |
          type: string
          example: Reset
        approvableResource:
          description: >
            The approvableResource is the identifier of the resource for which
            the request is created.

            This can refer to a server or group.
          type: object
          properties:
            id:
              description: Unique identifier for resource associated to the request.
              type: string
              example: 215881-H98+8899215881198831
            resourceUri:
              description: Resource URI
              type: string
              example: /compute-ops-mgmt/v1/servers/215881-H98+8899215881198831
            type:
              description: |
                The type of resource for which the request is created.
                This can refer to a server or group.
              type: string
              example: compute-ops-mgmt/server
        operation:
          description: >
            This field indicates the action that is being performed on the
            resource.

            The action can be a job or a scheduled job. When a request is
            created, the operation field will be populated 

            with the job or schedule details.
          type: object
          properties:
            id:
              description: Unique identifier for operation
              type: string
              example: e0f1ac57-9fab-468f-afab-67d6746267ee
            resourceUri:
              description: Resource URI
              type: string
              example: /compute-ops-mgmt/v1/jobs/e0f1ac57-9fab-468f-afab-67d6746267ee
            type:
              description: Operation type
              type: string
              example: compute-ops-mgmt/job
        requester:
          description: Indicates details on the requester of the approval request.
          type: object
          properties:
            firstName:
              description: First name of the requester
              type: string
              example: Test
            lastName:
              description: Last name of the requester
              type: string
              example: User1
            email:
              description: email of the requester
              type: string
              example: anybody@email.org
        approvalState:
          $ref: '#/components/schemas/approvalState'
          example: APPROVED
        createdAt:
          description: Time of request entry creation
          type: string
          example: '2025-03-01T10:50:33.736935+00:00'
        updatedAt:
          description: Time of last request update
          type: string
          example: '2025-03-01T11:05:00.554140+00:00'
        generation:
          description: Monotonically increasing update counter
          type: integer
          example: 8450
        requestRemarks:
          description: Comments on the request
          type: string
        cancelledBy:
          description: Reason for cancellation of the request
          type: string
        minApprovers:
          description: Minimum number of approvers required for the request to be approved
          type: integer
          example: 2
        requestData:
          description: >
            Data for the approval request containing information about approvers
            ( they have the authority to approve or deny the requested action )

            and the state of the request.
          type: object
          properties:
            approvals:
              type: object
              properties:
                approverId:
                  type: object
                  properties:
                    firstName:
                      description: First name of the approver
                      type: string
                      example: Test
                    lastName:
                      description: Last name of the approver
                      type: string
                      example: User3
                    email:
                      description: Approver email address
                      type: string
                      example: anybody@email.org
                approvalState:
                  $ref: '#/components/schemas/userApprovalState'
                  example: APPROVED
                remarks:
                  description: Comments on request
                  type: string
    approvalRequestResponseCollection-v1beta2:
      allOf:
        - description: Response for the approval request resource.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/approvalRequestResponse-v1beta2'
    approvalRequestPatchRequest-v1beta2:
      description: Modify the state of the approval request
      type: object
      properties:
        approvalState:
          description: >
            Set the state of the approval request.

            The request can be cancelled only if it is in the PENDING state and
            only the requester

            has the authority to cancel the request.
          type: string
          const: CANCELLED
        requestRemarks:
          description: Comments when modifying the request. This is an optional parameter.
          type: string
    approvalRequestsApprove-v1beta2:
      description: Approve the approval-request
      type: object
      properties:
        approvalState:
          $ref: '#/components/schemas/userApprovalState'
        remarks:
          description: Comments on the approval
          type: string
    resourceCollection2Cursor:
      type: object
      required:
        - count
      properties:
        next:
          description: The pagination cursor for the next page of resources.
          type: string
          format: uuid
          example: b4cf1a6f-1a1f-11ef-9856-20155d97c234
        count:
          type: integer
          description: Number of items returned
          example: 1
          minimum: 0
        total:
          type: integer
          description: >-
            Total number of items in the collection that match the filter query,
            if one was provided in the request
          example: 12
          minimum: 0
        items:
          type: array
    asyncOperationState:
      type: string
      enum:
        - INITIALIZED
        - RUNNING
        - PAUSED
        - TIMEDOUT
        - SUCCEEDED
        - FAILED
        - CANCELLED
      description: >
        The current state of an async operation. This value is controlled by
        Compute Ops Management and is read-only for the user.


        * `INITIALIZED` - Active, not terminal. The async operation has been
        created and is waiting to be started.

        * `RUNNING` - Active, not terminal. The async operation is running.

        * `PAUSED` - Active, not terminal. The async operation has been paused
        by the system and requires user input.

        * `TIMEDOUT` - Inactive, not terminal. The async operation did not
        receive an update in the last `timeoutMinutes`.

        * `SUCCEEDED` - Inactive, terminal. The async operation is complete and
        succeeded.

        * `FAILED` - Inactive, terminal. The async operation is complete and
        failed.

        * `CANCELLED` - Inactive, terminal. The async operation was cancelled.
    logMessages:
      description: Log messages
      type: object
      required:
        - message
      properties:
        message:
          description: The log message generated by the system
          type: string
          example: The async operation has started
        timestamp:
          type: string
          format: date-time
    asyncOperationResults:
      description: >-
        References to resources that were created, updated, or deleted during
        the operation
      type: object
      required:
        - resourceUri
      properties:
        resourceUri:
          description: The URIs for any resources that were modified during the operation
          type: string
          example: >-
            /compute-ops-mgmt/v1beta3/groups/9ac30e2e-0241-4fd2-aa73-8b1a6f3f5faf/devices/074115-049+8899074115649269
    asyncOperation-v1:
      type: object
      properties:
        id:
          description: Primary identifier for the async operation given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/async-operation
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of async operation creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last async operation update
          type: string
          format: date-time
        resourceUri:
          description: URI to the async operation itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/async-operations/22602690-193a-11ef-b56a-20155d97c234
        sourceResourceUri:
          description: >-
            URI reference to the resource or resource collection that initiated
            the async operation
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/groups/9ac30e2e-0241-4fd2-aa73-8b1a6f3f5faf/devices
        state:
          $ref: '#/components/schemas/asyncOperationState'
          type: string
          example: RUNNING
        startedAt:
          description: Time at which the async operation began
          type: string
          format: date-time
        endedAt:
          description: >-
            Time when the async operation reached a terminal state (`SUCCEEDED`,
            `FAILED`, or `CANCELLED`)
          type: string
          format: date-time
        logMessages:
          description: A list of progress update objects which may be empty
          type: array
          items:
            $ref: '#/components/schemas/logMessages'
        progressPercent:
          description: The percent progress of the async operation
          type: integer
          minimum: 0
          maximum: 100
        error:
          oneOf:
            - description: There is no data to display when there is no error
              type: 'null'
            - description: >-
                A description of the error if the async operation reached the
                `FAILED` state
              type: object
              $ref: '#/components/schemas/errorResponse'
        recommendations:
          description: List of recommendations for resolving the error(s)
          type: array
          items:
            type: string
          default: []
          example:
            - Examine the error field for information and retry the operation.
        results:
          description: >-
            List of references to resources (other than the source resource)
            which were created, updated, or deleted during the async operation
          type: array
          items:
            $ref: '#/components/schemas/asyncOperationResults'
    asyncOperationCollection-v1:
      allOf:
        - description: Async operation collection
        - $ref: '#/components/schemas/resourceCollection2Cursor'
        - type: object
        - required:
            - next
            - total
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/asyncOperation-v1'
    asyncOperation-v1beta1:
      type: object
      properties:
        id:
          description: Primary identifier for the async operation given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/async-operation
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of async operation creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last async operation update
          type: string
          format: date-time
        resourceUri:
          description: URI to the async operation itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/async-operations/22602690-193a-11ef-b56a-20155d97c234
        sourceResourceUri:
          description: >-
            URI reference to the resource or resource collection that initiated
            the async operation
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta3/groups/9ac30e2e-0241-4fd2-aa73-8b1a6f3f5faf/devices
        state:
          $ref: '#/components/schemas/asyncOperationState'
          type: string
          example: RUNNING
        startedAt:
          description: Time at which the async operation began
          type: string
          format: date-time
        endedAt:
          description: >-
            Time when the async operation reached a terminal state (`SUCCEEDED`,
            `FAILED`, or `CANCELLED`)
          type: string
          format: date-time
        logMessages:
          description: A list of progress update objects which may be empty
          type: array
          items:
            $ref: '#/components/schemas/logMessages'
        progressPercent:
          description: The percent progress of the async operation
          type: integer
          minimum: 0
          maximum: 100
        error:
          oneOf:
            - description: There is no data to display when there is no error
              type: 'null'
            - description: >-
                A description of the error if the async operation reached the
                `FAILED` state
              type: object
              $ref: '#/components/schemas/errorResponse'
        recommendations:
          description: List of recommendations for resolving the error(s)
          type: array
          items:
            type: string
          default: []
          example:
            - Examine the error field for information and retry the operation.
        results:
          description: >-
            List of references to resources (other than the source resource)
            which were created, updated, or deleted during the async operation
          type: array
          items:
            $ref: '#/components/schemas/asyncOperationResults'
    asyncOperationCollection-v1beta1:
      allOf:
        - description: Async operation collection
        - $ref: '#/components/schemas/resourceCollection2Cursor'
        - type: object
        - required:
            - next
            - total
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/asyncOperation-v1beta1'
    energy-over-time-v1beta1:
      type: object
      description: Energy consumption, carbon emissions and cost analysis over time.
      properties:
        kwh:
          description: Energy consumption data in kilowatt-hours (kWh).
          type: object
          properties:
            sums:
              description: Total energy consumption data.
              type: object
              properties:
                collected:
                  description: Collected energy consumption (kWh).
                  type: number
                  example: 555
                projected:
                  description: Projected energy consumption (kWh).
                  type: number
                  example: 75
                total:
                  description: Total energy consumption (collected + projected) in kWh.
                  type: number
                  example: 630
            averages:
              description: >-
                Average energy consumption data per day for the given date
                range.
              type: object
              properties:
                collected:
                  description: Average collected energy consumption (kWh).
                  type: number
                  example: 185
                projected:
                  description: Average projected energy consumption (kWh).
                  type: number
                  example: 20
        co2eKg:
          description: Carbon emissions data in kilograms of CO2 equivalent (kgCO2e).
          type: object
          properties:
            sums:
              description: Total carbon emissions data.
              type: object
              properties:
                collected:
                  description: Collected carbon emissions (kgCO2e).
                  type: number
                  example: 1332
                projected:
                  description: Projected carbon emissions (kgCO2e).
                  type: number
                  example: 135
                total:
                  description: Total carbon emissions (collected + projected) in kgCO2e.
                  type: number
                  example: 1467
            averages:
              description: Average carbon emissions per day for the given date range.
              type: object
              properties:
                collected:
                  description: Average collected carbon emissions (kgCO2e).
                  type: number
                  example: 444
                projected:
                  description: Average projected carbon emissions (kgCO2e).
                  type: number
                  example: 60
        cost:
          description: Energy cost in USD.
          type: object
          properties:
            sums:
              description: Total energy cost data.
              type: object
              properties:
                collected:
                  description: Collected energy cost.
                  type: number
                  example: 2109
                projected:
                  description: Projected energy cost.
                  type: number
                  example: 195
                total:
                  description: Total energy cost (collected + projected).
                  type: number
                  example: 2304
            averages:
              description: Average energy cost per day for the given date range.
              type: object
              properties:
                collected:
                  description: Average collected energy cost.
                  type: number
                  example: 703
                projected:
                  description: Average projected energy cost.
                  type: number
                  example: 65
        intervalsCollected:
          description: Collected energy data at specific time intervals.
          type: array
          items:
            type: object
            properties:
              time:
                description: Timestamp of the collected data.
                type: string
                format: date-time
                example: '2025-02-01T00:00:00Z'
              kwh:
                description: Energy consumption at this time interval (kWh).
                type: number
                example: 123
              co2eKg:
                description: Carbon emissions at this time interval (kgCO2e).
                type: number
                example: 456
              cost:
                description: Cost of energy at this time interval (USD).
                type: number
                example: 789
              serverCount:
                description: Number of servers for which energy data is available.
                type: integer
                example: 10
        intervalsProjected:
          description: Projected energy data at future time intervals.
          type: array
          items:
            type: object
            properties:
              time:
                description: Timestamp of the projected data.
                type: string
                format: date-time
                example: '2025-05-01T00:00:00Z'
              kwh:
                description: Projected energy consumption at this time interval (kWh).
                type: number
                example: 15
              kwhConfidenceInterval:
                description: Lower and upper bounds of the projected energy consumption.
                type: array
                items:
                  type: number
                example:
                  - 10
                  - 20
              co2eKg:
                description: Projected carbon emissions at this time interval (kgCO2e).
                type: number
                example: 35
              co2eKgConfidenceInterval:
                description: Lower and upper bounds of the projected carbon emissions.
                type: array
                items:
                  type: number
                example:
                  - 30
                  - 40
              cost:
                description: Projected cost of energy at this time interval (USD).
                type: number
                example: 55
              costConfidenceInterval:
                description: Lower and upper bounds of the projected energy cost.
                type: array
                items:
                  type: number
                example:
                  - 50
                  - 60
              serverCount:
                description: Number of servers considered in this projection.
                type: integer
                example: 10
    energy-by-entity-v1beta1:
      type: object
      description: Energy consumption, carbon emissions and cost analysis summary.
      properties:
        count:
          description: Number of items in the response.
          type: integer
          example: 2
        offset:
          description: Offset of the returned items.
          type: integer
          example: 0
        total:
          description: Total number of items available.
          type: integer
          example: 2
        excluded:
          description: Number of excluded servers for which energy data is not available.
          type: integer
          example: 0
        kwhSums:
          description: Total energy consumption data.
          type: object
          properties:
            collected:
              description: Collected energy consumption (kWh).
              type: number
              example: 444
            projected:
              description: Projected energy consumption (kWh).
              type: number
              example: 432
            total:
              description: Total energy consumption (collected + projected) in kWh.
              type: number
              example: 876
        co2eKgSums:
          description: Total carbon emissions data.
          type: object
          properties:
            collected:
              description: Collected carbon emissions (kgCO2e).
              type: number
              example: 1110
            projected:
              description: Projected carbon emissions (kgCO2e).
              type: number
              example: 1986
            total:
              description: Total carbon emissions (collected + projected) in kgCO2e.
              type: number
              example: 3096
        costSums:
          description: Total energy cost data.
          type: object
          properties:
            collected:
              description: Collected energy cost (USD).
              type: number
              example: 1776
            projected:
              description: Projected energy cost (USD).
              type: number
              example: 1320
            total:
              description: Total energy cost (collected + projected) in USD.
              type: number
              example: 3096
        items:
          description: List of individual entity energy data.
          type: array
          items:
            type: object
            properties:
              id:
                description: Unique identifier of the entity
                type: string
                example: ABCDEF-B21+MXQLABC
              name:
                description: Name of the entity
                type: string
                example: server-ABC
              type:
                description: Type of entity
                type: string
                example: SERVER
              serverCount:
                description: Number of servers for this entity.
                type: integer
                example: 5
              entityDetails:
                description: >-
                  Details about the server. This is not applicable when
                  `aggregate-by` is other than `SERVER`
                type: object
                properties:
                  model:
                    description: Model of the server
                    type: string
                    example: ProLiant DL560 Gen11
                  generation:
                    description: Generation of the server
                    type: string
                    example: GEN_11
                  processor:
                    description: Processor of the server
                    type: string
                    example: Intel Xeon Processor E5-2673
                  location:
                    description: Location of the server
                    type: string
                    example: Houston, Texas, United States
              kwh:
                description: Energy consumption data in kWh.
                type: object
                properties:
                  collected:
                    description: Collected energy consumption.
                    type: number
                    example: 123
                  projected:
                    description: Projected energy consumption.
                    type: number
                    example: 321
                  total:
                    description: Total energy consumption (collected + projected).
                    type: number
                    example: 654
                  percents:
                    description: >-
                      The percentage of energy consumption compared to the
                      respective attribute in `kwhSums`.
                    type: object
                    properties:
                      collected:
                        description: Percentage of collected energy consumption.
                        type: number
                        example: 14.04
                      projected:
                        description: Percentage of projected energy consumption.
                        type: number
                        example: 36.64
                      total:
                        description: Percentage of total energy consumption.
                        type: number
                        example: 35.66
              co2eKg:
                description: Carbon emissions data in kgCO2e.
                type: object
                properties:
                  collected:
                    description: Collected carbon emissions.
                    type: number
                    example: 456
                  projected:
                    description: Projected carbon emissions.
                    type: number
                    example: 654
                  total:
                    description: Total carbon emissions (collected + projected).
                    type: number
                    example: 654
                  percents:
                    description: >-
                      The percentage of carbon emissions compared to the
                      respective attribute in `co2eKgSums`.
                    type: object
                    properties:
                      collected:
                        description: Percentage of collected carbon emissions.
                        type: number
                        example: 41.08
                      projected:
                        description: Percentage of projected carbon emissions.
                        type: number
                        example: 21.12
                      total:
                        description: Percentage of total carbon emissions.
                        type: number
                        example: 35.66
              cost:
                description: Energy cost data in USD.
                type: object
                properties:
                  collected:
                    description: Collected energy cost.
                    type: number
                    example: 789
                  projected:
                    description: Projected energy cost.
                    type: number
                    example: 987
                  total:
                    description: Total energy cost (collected + projected).
                    type: number
                    example: 654
                  percents:
                    description: >-
                      The percentage of cost compared to the respective
                      attribute in `costSums`.
                    type: object
                    properties:
                      collected:
                        description: Percentage of collected energy cost.
                        type: number
                        example: 25.48
                      projected:
                        description: Percentage of projected energy cost.
                        type: number
                        example: 31.88
                      total:
                        description: Percentage of total energy cost.
                        type: number
                        example: 35.66
              status:
                description: >
                  Represents whether data is available for the server.

                  If data is available, the status will show "COMPLETE". 

                  If data is not fully available, the status will show
                  "PARTIAL".
                type: string
                example: COMPLETE
              statusReason:
                description: The reason for the current status.
                type: string
    externalServicesAuthenticationResponse:
      description: Client credentials and refresh token details
      type: object
      properties:
        clientId:
          type: string
          description: ID of the client external web service
          example: d8c5b0be28a66110300669bf6457a7d1
          maxLength: 256
        clientSecret:
          type: string
          description: Password for the client external web service
          example: '**********'
          maxLength: 256
        refreshToken:
          type:
            - string
            - 'null'
          description: >
            Refresh token for client external web service. Note that this field
            is not applicable when serviceType is DSCC.
          example: '**********'
          maxLength: 256
    externalServicesServiceDataServiceNow:
      title: SERVICE_NOW service data
      description: Client URL information for authentication and incident creation
      type: object
      properties:
        oauthUrl:
          type: string
          maxLength: 256
          description: Authentication URL using which access token is generated
          example: https://example.service-now.com/oauth_token.do
        incidentUrl:
          type: string
          maxLength: 256
          description: >-
            Incident URL is the endpoint used to create incidents on the
            external service
          example: >-
            https://example.service-now.com/api/now/import/u_demo_incident_inbound_api
        refreshTokenExpiryInDays:
          type: integer
          description: The number of days after which the refresh token will expire.
          minimum: 100
          maximum: 365
          example: 150
        incidentCreationScope:
          type: object
          description: >-
            Defines the scope for the kind of events for which incidents will be
            created.
          properties:
            serviceEventIssues:
              type: boolean
              description: >-
                Field which enables/disables incident creation for all service
                events.
              default: true
            warningEventIssues:
              type: boolean
              description: >-
                Field which enables/disables incident creation for all critical
                and warning severity events.
              default: false
            criticalEventIssues:
              type: boolean
              default: false
              description: >-
                Field which enables/disables incident creation for all critical
                severity events.
            utilizationThresholdAlerts:
              type: boolean
              default: false
              description: >-
                Field which enables/disables incident creation for all power
                utilization events.
    externalServicesServiceDataDSCC:
      title: DSCC service data
      description: Service data for the Data Services Cloud Console integration.
      type:
        - object
        - 'null'
      properties:
        region:
          type: string
          description: >-
            The region to which the Data Services Cloud Console integration is
            configured.
    externalServicesResponse-v1beta1:
      description: External services response
      type: object
      properties:
        name:
          minLength: 1
          maxLength: 256
          description: Name given to resource
          type:
            - string
        serviceType:
          type: string
          description: |
            Used for specifying the type of external service.
            | Value         | Description                               |
            |---------------|-------------------------------------------|
            | SERVICE_NOW   | ServiceNow integration                    |
            | DSCC          | Data Services Cloud Console integration   |
          enum:
            - SERVICE_NOW
            - DSCC
        authenticationType:
          type: string
          description: >-
            Used to specify which authentication method is used for
            authenticating the external service.
          enum:
            - OAUTH
        description:
          maxLength: 256
          description: An optional longer description of the external service
          type:
            - string
            - 'null'
          example: Service now configuration
        authentication:
          $ref: '#/components/schemas/externalServicesAuthenticationResponse'
        serviceData:
          type: object
          description: Service data corresponding to the specified serviceType
          oneOf:
            - $ref: '#/components/schemas/externalServicesServiceDataServiceNow'
            - $ref: '#/components/schemas/externalServicesServiceDataDSCC'
        status:
          type: string
          description: Status of the external service
          enum:
            - ENABLED
            - SUSPENDED
        state:
          type: string
          description: State of the external service
          enum:
            - ENABLED
            - DISABLED
        id:
          description: >-
            Primary identifier for the external services resource given by the
            system.
          type: string
          format: uuid
          readOnly: true
          example: b870f080-6448-48c5-b23a-d04f2d489174
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/external-service
        resourceUri:
          description: URI to the external-services itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/external-services/ff5798d5-b029-4452-b958-b33eabbe44d2
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of external-services configuration creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the external-services configuration update
          type: string
          format: date-time
    externalServicesCollection-v1beta1:
      allOf:
        - description: External services collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/externalServicesResponse-v1beta1'
    externalServicesAuthentication:
      description: Client credentials and refresh token details
      type: object
      properties:
        clientId:
          type: string
          description: ID of the client external web service
          example: d8c5b0be28a66110300669bf6457a7d1
          maxLength: 256
        clientSecret:
          type: string
          description: Password for the client external web service
          example: '#7^v{VexV2'
          maxLength: 256
        refreshToken:
          type:
            - string
            - 'null'
          description: >
            Refresh token for client external web service. This field is
            optional when the serviceType is DSCC.
          example: >-
            j6juM4kocdU720_IV7wD0J95OscWkUp-Xg2SWtXfzr8smsws2Fo4lEpWnFHQuA1HPV2I345AeWQsOjLUXloZwg
          maxLength: 256
    externalServicesCreateRequest-v1beta1:
      description: External services
      type: object
      required:
        - name
        - serviceType
        - authenticationType
        - description
        - authentication
        - serviceData
      properties:
        name:
          minLength: 1
          maxLength: 256
          description: Name given to resource
          type:
            - string
        serviceType:
          type: string
          description: |
            Used for specifying the type of external service.
            | Value         | Description                               |
            |---------------|-------------------------------------------|
            | SERVICE_NOW   | ServiceNow integration                    |
            | DSCC          | Data Services Cloud Console integration   |
          enum:
            - SERVICE_NOW
            - DSCC
        authenticationType:
          type: string
          description: >-
            Used to specify which authentication method is used for
            authenticating the external service.
          enum:
            - OAUTH
        state:
          type: string
          description: State of the external service
          enum:
            - ENABLED
            - DISABLED
          default: ENABLED
        description:
          maxLength: 256
          description: An optional longer description of the external service
          type:
            - string
            - 'null'
          example: Service now configuration
        authentication:
          $ref: '#/components/schemas/externalServicesAuthentication'
        serviceData:
          description: Service data corresponding to the specified serviceType
          oneOf:
            - $ref: '#/components/schemas/externalServicesServiceDataServiceNow'
            - $ref: '#/components/schemas/externalServicesServiceDataDSCC'
    externalServicesUpdateRequest-v1beta1:
      description: External services
      type: object
      properties:
        name:
          minLength: 1
          maxLength: 256
          description: Name given to resource
          type:
            - string
        description:
          maxLength: 256
          description: An optional longer description of the external service
          type:
            - string
            - 'null'
          example: Service now configuration
        state:
          type: string
          description: State of the external service
          enum:
            - ENABLED
            - DISABLED
        authentication:
          $ref: '#/components/schemas/externalServicesAuthentication'
        serviceData:
          description: Service data corresponding to the specified serviceType
          oneOf:
            - $ref: '#/components/schemas/externalServicesServiceDataServiceNow'
            - $ref: '#/components/schemas/externalServicesServiceDataDSCC'
    filter-v1beta1:
      type: object
      description: A saved filter on other resources.
      properties:
        id:
          description: Primary identifier for the filter resource given by the system.
          type: string
          format: uuid
          readOnly: true
          example: b870f080-6448-48c5-b23a-d04f2d489174
        type:
          description: The type of the resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/filter
        generation:
          description: Monotonically increasing update counter.
          type: integer
          readOnly: true
          example: 1
          minimum: 1
        createdAt:
          description: Time of filter resource creation.
          type: string
          format: date-time
          readOnly: true
          example: '2022-02-11T01:04:20.799937+00:00'
        updatedAt:
          description: Time of the last update to the filter resource.
          type: string
          format: date-time
          readOnly: true
          example: '2022-02-11T01:04:20.799937+00:00'
        resourceUri:
          description: URI to the filter resource itself (i.e. a self link).
          type: string
          format: uri-reference
          readOnly: true
          example: >-
            /compute-ops-mgmt/v1beta1/filters/b870f080-6448-48c5-b23a-d04f2d489174
        name:
          description: The display name of the filter, must be unique.
          type: string
          readOnly: false
          minLength: 1
          maxLength: 100
        description:
          description: An optional longer description of the filter.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 10000
        readOnly:
          description: If true, the filter is pre-defined and cannot be edited or deleted.
          type: boolean
          readOnly: true
          default: false
        filterResourceType:
          description: >
            The type of the resource that the filter matches against.  New
            resource types may be added as a backward

            compatible change to the API.
          type: string
          enum:
            - compute-ops-mgmt/server
          readOnly: false
          default: compute-ops-mgmt/server
        enabledForRRP:
          description: >-
            Flags the filter for use with resource restriction policies used by
            scope-based access control (SBAC). Only administrators with full
            access to all scopes can create, edit, or delete RRP-enabled
            filters. The use of some resource properties may be disallowed in
            RRP-enabled filters.
          type: boolean
          default: false
          readOnly: false
        filter:
          description: >
            The filter expression, in the same syntax as the `filter` query
            parameter common to many

            collection endpoints.  At least one of `filter` and `filterTags`
            must be specified.  If both are specified,

            both filter expressions much match for a resource to match the
            filter.
          type:
            - string
            - 'null'
          examples:
            - group/id eq '031adad0-f77c-403d-84f5-e0bb46e0d927'
            - lastFirmwareUpdate/status eq 'Ok'
            - not group/id eq null
            - contains(host/hostname, '299765-R18')
            - not group/id eq null and contains(host/hostname, '299765-R18')
            - hardware/health/summary in ('Critical','Warning')
            - tags.OS eq 'Linux'
          maxLength: 2000
        filterTags:
          description: >
            An optional filter expression for tags, in the same syntax as the
            `filter-tags` query parameter common to many

            collection endpoints.  Used to handle tag keys with special
            characters.  At least one of `filter` and `filterTags`

            must be specified.  If both are specified, both filter expressions
            much match for a resource to match the filter.
          type:
            - string
            - 'null'
          examples:
            - '''OS'' eq ''Linux'''
            - '''OS'' in keys'
            - '''OS'' eq ''Linux'' and ''Machine'' in keys'
            - '''OS'' eq ''Linux'' or ''Machine'' in keys'
            - not 'Machine' in keys
            - ('OS' eq 'Linux' or 'Machine' in keys) and 'Machine' eq 'x86'
          readOnly: false
          maxLength: 2000
        uiData:
          description: >
            Opaque JSON structure used by the Compute Ops Management UI.  Other
            clients should not read or set this property.

            Note that the format of the data is subject to change without
            notice, even with the same API version of filters.
          type:
            - object
            - 'null'
          default: null
          readOnly: true
        matchesUri:
          description: >-
            URI of collection of match entities that indicate which resources
            match the filter.
          type: string
          format: uri-reference
          readOnly: true
          example: >-
            /compute-ops-mgmt/v1beta1/filters/b870f080-6448-48c5-b23a-d04f2d489174/matches
    filterCollection-v1beta1:
      allOf:
        - description: Paginated collection of saved filter resources.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            items:
              description: Array of saved filter resources in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/filter-v1beta1'
    filterPropertiesResource-v1beta1:
      type: object
      properties:
        schema:
          description: >-
            A JSON Schema describing the properties usable in saved filters for
            a particular resource type.
          type: object
          additionalProperties: true
          example:
            description: Filterable properties for compute-ops-mgmt/server resources
            type: object
            properties:
              id:
                type: string
              createdAt:
                type: string
                format: date-time
    filterProperties-v1beta1:
      type: object
      description: >
        Information about resource properties usable in filters, for each
        resource type supported by saved filters.

        New resource types may be added as a backward compatible change to the
        API.
      properties:
        id:
          type: string
          const: properties
        type:
          type: string
          const: compute-ops-mgmt/filters-properties
        filterResourceTypes:
          description: >
            Information about resource properties usable in filters, for each
            `filterResourceType` value supported by saved

            filters.
          type: object
          properties:
            compute-ops-mgmt/server:
              $ref: '#/components/schemas/filterPropertiesResource-v1beta1'
    filterMatch-v1beta1:
      type: object
      description: A resource that matches a filter.
      readOnly: true
      properties:
        id:
          description: The id of the resource that matches the filter.
          type: string
          example: 875765-S01+1M512501AB
        type:
          description: >
            The type of the resource that matches the filter.  New resource
            types may be added as a backward compatible

            change to the API.
          type: string
          enum:
            - compute-ops-mgmt/server
    filterMatchCollection-v1beta1:
      allOf:
        - description: Paginated collection of resources which match a saved filter.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            items:
              description: Array of resources in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/filterMatch-v1beta1'
    vmwareAddonInfoItem-v1:
      type: object
      description: JSON data that describes addon and the location of the addon in RDA
      format: JSON
      additionalProperties:
        type:
          - array
          - string
          - object
          - 'null'
    firmwareBundle-v1:
      type: object
      properties:
        id:
          description: Primary identifier for the firmware bundle given by the system
          type: string
          example: 275a59f78916400a761e4bf8c6958934
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/firmware-bundle
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        name:
          description: Name given to the bundle usually based on the bundle type
          type: string
          example: Gen10 Service Pack for ProLiant
        resourceUri:
          description: URI to the firmware bundle itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/firmware-bundles/275a59f78916400a761e4bf8c6958934
        description:
          description: A brief description of the bundle
          type: string
          example: >-
            Gen10/Gen10 Plus Service Pack for ProLiant (SPP) is a comprehensive
            systems software and firmware update solution
        createdAt:
          description: Time of firmware bundle creation
          type: string
          format: date-time
          example: '2023-08-24T02:08:58.675535Z'
        updatedAt:
          description: Time of the last firmware bundle update
          type: string
          format: date-time
          example: '2023-08-24T02:08:58.675535Z'
        releaseDate:
          description: The date on which bundle is published to the web
          type: string
          format: full-date-rfc3339
          example: '2023-09-12T00:00:00+00:00'
        summary:
          description: >-
            Gives the information about the issue that will be addressed by the
            bundle
          type: string
          example: >-
            Gen10/Gen10 Plus SPP 2023.09.00.00 release supersedes Gen10/Gen10
            Plus SPP 2023.03.00.00 and includes support for Red Hat Enterprise
            Linux 9.2, RHEL 8.8 and SLES15 SP5.
        bundleType:
          description: Bundle Type assigned based on the servers for which it is built for
          type: string
          enum:
            - BASE
            - PATCH
            - HOTFIX
            - SUPPLEMENT
        platformFamily:
          description: Platform family of the server
          type: string
          example: PROLIANT
          enum:
            - PROLIANT
        baseBundleUri:
          description: URI of the base bundle
          type:
            - string
            - 'null'
          example: null
        releaseVersion:
          description: Latest version which got released
          type: string
          example: 2023.09.00.00
        enhancements:
          description: >-
            A HPE SW Center Page link which describes the enhancements included
            in this bundle
          type: string
          example: >-
            Gen10/Gen10 Plus SPP 2023.09.00.00 includes support for the
            following OS Versions Red Hat Enterprise Linux 8.8 Red Hat
            Enterprise Linux 9.2 SUSE Linux Enterprise Server 15 SP5
        advisories:
          description: The link to all the customer advisories released for this bundle
          type: string
          example: >-
            http://auth-essn-pro-sitebuilder.its.hpecorp.net/us/en/enterprise/servers/products/service_pack/spp_test/index.aspx?version=gen10.2023.09.00.00
        supportedOsList:
          description: The list of operating systems that this bundle supports
          type: array
          items:
            description: Names of the operating system
            type: string
          example: >-
            Microsoft Windows Server 2022, Red Hat Enterprise Linux 9, VMware
            ESXi 8.0
        isActive:
          description: Indicates the status of bundle is active or not
          type: boolean
        releaseNotes:
          description: >-
            A HPE SW Center Page link which describes how the bundle can be
            downloaded and installed in the customer environment
          type: string
          example: Gen10/Gen10 Plus SPP 2023.09.00.00 includes support.
        supportUrl:
          description: An URL which points to HPE SW Center Page for this bundle
          type: string
          example: >-
            http://auth-essn-pro-sitebuilder.its.hpecorp.net/us/en/enterprise/servers/products/service_pack/spp_test/index.aspx?version=gen10.2023.09.00.00
        displayName:
          description: SPP bundle name
          type: string
          example: SPP 2023.09.00.00 (12 Sep 2023)
        vmwareAddonInfo:
          description: >-
            Details about vmware addon and the location of the vmware addon in
            RDA
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/vmwareAddonInfoItem-v1'
        bundleNameFormat:
          description: Indicates the format of the bundle name
          type: string
          example: BUNDLE_4OCTET
        bundleGeneration:
          description: Server generations that the bundle has support for
          type: string
          example: BUNDLE_GEN_10
    firmwareBundleCollection-v1:
      allOf:
        - description: Firmware bundle collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/firmwareBundle-v1'
    vmwareAddonInfoItem-v1beta2:
      type: object
      description: JSON data that describes addon and the location of the addon in RDA
      format: JSON
      additionalProperties:
        type:
          - array
          - string
          - object
          - 'null'
    firmwareBundle-v1beta2:
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the firmware bundle given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/firmware-bundle
        resourceUri:
          description: URI to the firmware bundle itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/firmware-bundles/9a16ec6d-8c71-4338-a58a-6564df331ba2
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of firmware bundle creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last firmware bundle update
          type: string
          format: date-time
        name:
          description: Name given to the bundle usually based on the bundle type
          type: string
        releaseDate:
          description: The date on which bundle is published to the web
          type: string
          format: full-date-rfc3339
        releaseVersion:
          description: Latest version which got released
          type: string
        releaseNotes:
          description: >-
            A HPE SW Center Page link which describes how the bundle can be
            downloaded and installed in the customer environment
          type: string
        supportUrl:
          description: An URL which points to HPE SW Center Page for this bundle
          type: string
        enhancements:
          description: >-
            A HPE SW Center Page link which describes the enhancements included
            in this bundle
          type: string
        advisories:
          description: The link to all the customer advisories released for this bundle
          type: string
        supportedOsList:
          description: The list of operating systems that this bundle supports
          type: array
          items:
            description: Names of the operating system
            type: string
        isActive:
          description: Indicates the status of bundle is active or not
          type: boolean
        summary:
          description: Gives the info about the issue that will be addressed by the bundle
          type: string
        bundleType:
          description: Bundle Type assigned based on the servers for which it is built for
          type: string
          enum:
            - BASE
            - HOTFIX
            - SUPPLEMENT
            - PATCH
        hotfixBaseUri:
          description: URI to the hotfixbase itself (i.e. a self link)
          type:
            - string
            - 'null'
        vmwareAddonInfo:
          description: Details about addon and the location of the addon in RDA
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/vmwareAddonInfoItem-v1beta2'
        bundleNameFormat:
          description: Indicates the format of the bundle name
          example: BUNDLE_3OCTET
          type: string
        bundleGeneration:
          description: Server generations that the bundle has support for
          type: string
    firmwareBundleCollection-v1beta2:
      allOf:
        - description: Firmware bundle collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/firmwareBundle-v1beta2'
    groupServerResponse-v1:
      allOf:
        - type: object
          properties:
            deviceType:
              $ref: '#/components/schemas/deviceType'
            id:
              description: Primary identifier for the group supplied by the system
              type: string
              format: uuid
            name:
              description: Unique name for the group as supplied by the user
              type: string
              minLength: 1
              maxLength: 100
              example: Production Group
            type:
              description: The type of the resource.
              type: string
              readOnly: true
              const: compute-mgmt-ops/group
            description:
              maxLength: 10000
              type:
                - string
                - 'null'
              example: All prod servers
            complianceStatus:
              $ref: '#/components/schemas/complianceState'
            settingsUris:
              type: array
              description: URIs for group settings
              items:
                type: string
              default: []
              example:
                - >-
                  /compute-ops-mgmt/v1/settings/00000000-0000-0000-0000-800000000001
            devicesUri:
              type: string
              description: URI for devices that belong to the group
              example: >-
                /compute-ops-mgmt/v1/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices
            devices:
              type: array
              description: List of devices that belong to the group
              items:
                $ref: '#/components/schemas/deviceResponse-v1'
              default: []
            policies:
              $ref: '#/components/schemas/groupServerPolicies-v1'
            autoAddTags:
              description: >
                A case insensitive tag that can be associated with a group to
                automatically add servers to the group. A group can have a
                maximum of one tag and multiple groups can not have the same
                tag.

                When a server is onboarded or has its tags changed, the server's
                tags will be checked against the group's autoAddServerTags.  If
                at least one of the server tags matches one group's
                autoAddServerTags, the server will be placed into the associated
                group. Once a server has been connected, the server becomes
                ineligible for automatically being placed into groups, even if
                it is later disconnected.

                If a server's tags match more than one group, it will not be put
                into any group.

                If a server is in a group, any further tag changes will not move
                it to another group.  If the server was added to a group but has
                been removed, is not in any group, and still has not been
                activated, changing the server tags will automatically assign it
                to the matching group.

                Tags can contain any alphaneumeric characters, any Unicode space
                separators, and the following characters: `_` `.` `:` `=` `+`
                `-` `@`. An example of one of these tags can be seen in the
                sample request on this page.
              type:
                - object
                - 'null'
              example:
                Department: Development - Texas
            securityStatus:
              $ref: '#/components/schemas/securityState'
            groupCompliance:
              $ref: '#/components/schemas/groupCompliance-v1'
            resourceUri:
              description: URI to the group itself (i.e. a self link)
              type: string
              format: uri-reference
              example: /compute-ops-mgmt/v1/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
            generation:
              description: Monotonically increasing update counter
              type: integer
              minimum: 1
            createdAt:
              description: Time of group creation
              type: string
              format: date-time
            updatedAt:
              description: Time of the last group update
              type: string
              format: date-time
    groupOveResponse-v1:
      allOf:
        - type: object
          properties:
            deviceType:
              $ref: '#/components/schemas/deviceType'
            id:
              description: Primary identifier for the group supplied by the system
              type: string
              format: uuid
            name:
              description: Unique name for the group as supplied by the user
              type: string
              minLength: 1
              maxLength: 100
              example: Production Group
            type:
              description: The type of the resource.
              type: string
              readOnly: true
              const: compute-mgmt-ops/group
            description:
              maxLength: 10000
              type:
                - string
                - 'null'
              example: All prod servers
            complianceStatus:
              $ref: '#/components/schemas/complianceState'
            settingsUris:
              type: array
              description: URIs for group settings
              items:
                type: string
              default: []
              example:
                - >-
                  /compute-ops-mgmt/v1/settings/00000000-0000-0000-0000-800000000001
            devicesUri:
              type: string
              description: URI for devices that belong to the group
              example: >-
                /compute-ops-mgmt/v1/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices
            devices:
              type: array
              description: List of devices that belong to the group
              items:
                $ref: '#/components/schemas/deviceResponse-v1'
              default: []
            policies:
              $ref: '#/components/schemas/groupOneviewPolicies-v1'
            autoAddTags:
              description: >
                A case insensitive tag that can be associated with a group to
                automatically add servers to the group. A group can have a
                maximum of one tag and multiple groups can not have the same
                tag.

                When a server is onboarded or has its tags changed, the server's
                tags will be checked against the group's autoAddServerTags.  If
                at least one of the server tags matches one group's
                autoAddServerTags, the server will be placed into the associated
                group. Once a server has been connected, the server becomes
                ineligible for automatically being placed into groups, even if
                it is later disconnected.

                If a server's tags match more than one group, it will not be put
                into any group.

                If a server is in a group, any further tag changes will not move
                it to another group.  If the server was added to a group but has
                been removed, is not in any group, and still has not been
                activated, changing the server tags will automatically assign it
                to the matching group.

                Tags can contain any alphaneumeric characters, any Unicode space
                separators, and the following characters: `_` `.` `:` `=` `+`
                `-` `@`. An example of one of these tags can be seen in the
                sample request on this page.
              type:
                - object
                - 'null'
              example:
                Department: Development - Texas
            securityStatus:
              $ref: '#/components/schemas/securityState'
            groupCompliance:
              $ref: '#/components/schemas/groupCompliance-v1'
            resourceUri:
              description: URI to the group itself (i.e. a self link)
              type: string
              format: uri-reference
              example: /compute-ops-mgmt/v1/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
            generation:
              description: Monotonically increasing update counter
              type: integer
              minimum: 1
            createdAt:
              description: Time of group creation
              type: string
              format: date-time
            updatedAt:
              description: Time of the last group update
              type: string
              format: date-time
    deviceType:
      type:
        - string
      enum:
        - DIRECT_CONNECT_SERVER
        - OVE_APPLIANCE_SYNERGY
        - OVE_APPLIANCE_VM
      description: >
        Device type of all devices in the group.


        * `DIRECT_CONNECT_SERVER` - servers

        * `OVE_APPLIANCE_SYNERGY` - OneView Synergy appliances

        * `OVE_APPLIANCE_VM` - OneView VM appliances


        Note: Depending on the deviceType the response payload will change.
        Selecting the dropdown to change the deviceType will change the response
        details.
      example: DIRECT_CONNECT_SERVER
    complianceState:
      type: string
      enum:
        - COMPLIANT
        - NOT_COMPLIANT
        - UNKNOWN
        - NOT_APPLICABLE
      description: >
        This state defines the compliance status of a device.

        If all devices in a group are COMPLIANT, the group state will be
        compliant.

        If a group contains devices that are COMPLIANT or UNKNOWN, the UNKNOWN
        state

        overrides the COMPLIANT state and the group state will be UNKNOWN.

        If a group contains devices that are NOT_COMPLIANT, COMPLIANT, or
        UNKNOWN

        the NOT_COMPLIANT state will override the COMPLIANT and UNKNOWN states,
        so

        the group state will be NOT_COMPLIANT. Finally, the NOT_APPLICABLE state

        overrides all others so if a device in a group is NOT_APPLICABLE or if
        the

        group has no devices, the group state will be NOT_APPLICABLE.
    subscriptionState:
      enum:
        - REQUIRED
        - SUBSCRIBED
        - EXPIRED
      type: string
      description: Subscription state.
    subscriptionTier:
      enum:
        - ENHANCED
      type: string
      description: Subscription tier.
    overallSecurityStatus:
      type: string
      enum:
        - IGNORED
        - OK
        - RISK
        - UNKNOWN
        - UNSUPPORTED
      description: The current security status of a device
    deviceResponse-v1:
      type: object
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
          example: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/group/device
        resourceUri:
          description: URI to the device itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices/873357-P04+WKQ82425HD
        serial:
          type: string
          example: SYN1002J11
        productId:
          type: string
          example: P43990-121
        eTag:
          type: string
          example: '0xb2e9346d'
        deviceId:
          type: string
          example: P43990-121+SYN1002J11
        deviceUri:
          type: string
          example: /compute-ops-mgmt/v1/servers/873357-P04+WKQ82425HD
        groupId:
          type: string
          format: uuid
        subscriptionState:
          $ref: '#/components/schemas/subscriptionState'
        subscriptionTier:
          $ref: '#/components/schemas/subscriptionTier'
        overallSecurityStatus:
          $ref: '#/components/schemas/overallSecurityStatus'
    groupServerPolicies-v1:
      type: object
      title: Server Policies
      description: Store policy settings for server group actions.
      properties:
        onDeviceAdd:
          type: object
          description: Policies to be applied when a server is added to a group
          properties:
            biosApplySettings:
              type: boolean
              default: false
              description: >-
                Enable automatic application of BIOS settings when a server is
                added to a group. A server group must have one of the HPE
                pre-defined BIOS/Workload profiles to allow the auto apply of
                BIOS settings.
            biosFactoryReset:
              type: boolean
              description: >-
                Resets devices BIOS settings to factory default on removal from
                group.
              default: false
            firmwarePowerOff:
              type: boolean
              description: >-
                Power off server when firmware update is performed. Valid only
                when firmware update is set to true.
              default: false
            firmwareUpdate:
              type: boolean
              default: false
              description: >-
                Enable automatic firmware updates to the configured baseline
                when a server is added to a group.
            iloApplySettings:
              type: boolean
              description: Applies iLO settings on server addition to a group.
              default: false
            osInstall:
              type: boolean
              description: Applies OS install
              default: false
            storageConfiguration:
              type: boolean
              default: false
              description: >-
                When a server is added to the group, apply the internal storage
                configuration.
            storageVolumeDeletion:
              type: boolean
              default: false
              description: >-
                When a server is added to the group, any existing internal
                storage configuration will be erased prior to applying the new
                internal storage configuration.
            storageVolumeName:
              type: string
              description: >-
                When a server is added to the group, associate a name with the
                created volume.
            storageVolumes:
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type:
                      - string
                      - 'null'
              type: array
              description: >-
                Array of objects mapping a setting's volume ID to the name that
                will be given to the volume when the settings are applied.
            externalStorageConfiguration:
              type: boolean
              default: false
              description: >-
                When a server is added to the group, apply the external storage
                configuration.
            osCompletionTimeoutMin:
              type: integer
              default: 240
              minimum: 60
              maximum: 720
              description: >-
                When a server is added to the group and automatic install of
                operating system is enabled, this property sets the amount of
                time (in minutes) the operating system installation will be
                allowed to continue before it times out. The timeout specified
                is applicable for each individual server in the group.
        onDeviceApply:
          type: object
          description: Policies to be applied on server group actions
          properties:
            firmwareDowngrade:
              type: boolean
              default: false
              description: >-
                Allow or forbid downgrade of a firmware when firmware update is
                performed.
    securityState:
      type: string
      enum:
        - RISK
        - OK
        - IGNORED
        - UNKNOWN
        - UNSUPPORTED
      description: Indicates the group security status
    groupCompliance-v1:
      type: object
      title: Group Compliance
      description: Compliance status and status reason for device in the group.
      properties:
        summary:
          type: string
          description: >-
            Overall group compliance based on the status of the containing
            items.
          example: Not Compliant
        firmware:
          type: object
          description: Group compliance status for firmware.
          properties:
            status:
              type: string
              description: Current status for group firmware compliance.
              example: Not Compliant
            statusReason:
              type: string
              description: The reason for any status other than compliant.
              example: ''
        iloSettings:
          type: object
          description: Group compliance status for iLO settings.
          properties:
            status:
              type: string
              description: Current status for group iLO settings.
              example: Unknown
            statusReason:
              type: string
              description: The reason for any status other than compliant.
              example: Not Initiated
    oneviewPoliciesOnAdd-v1:
      type: object
      title: OneView Appliance Policies
      description: |
        Store policy settings for OneView appliance group actions.

        There are no policies currently defined.
    groupOneviewPolicies-v1:
      title: Policies
      additionalProperties: false
      type: object
      properties:
        onDeviceAdd:
          oneOf:
            - $ref: '#/components/schemas/oneviewPoliciesOnAdd-v1'
            - type: 'null'
    groupResponse-v1:
      oneOf:
        - $ref: '#/components/schemas/groupServerResponse-v1'
        - $ref: '#/components/schemas/groupOveResponse-v1'
      discriminator:
        propertyName: deviceType
        mapping:
          DIRECT_CONNECT_SERVER: '#/components/schemas/groupServerResponse-v1'
          OVE_APPLIANCE_SYNERGY: '#/components/schemas/groupOveResponse-v1'
          OVE_APPLIANCE_VM: '#/components/schemas/groupOveResponse-v1'
    groupCollection-v1:
      allOf:
        - description: Group collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/groupResponse-v1'
    groupServerCreateRequest-v1:
      required:
        - name
        - deviceType
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        deviceType:
          $ref: '#/components/schemas/deviceType'
        settingsUris:
          type: array
          description: URIs for group device settings
          items:
            type: string
          default: []
          example:
            - /compute-ops-mgmt/v1/settings/00000000-0000-0000-0000-800000000001
        policies:
          $ref: '#/components/schemas/groupServerPolicies-v1'
        autoAddTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add devices to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a device is onboarded or has its tags changed, the devices's
            tags will be checked against the group's autoAddTags.  If at least
            one of the device tags matches one group's autoAddTags, the device
            will be placed into the associated group. Once a device has been
            connected, it becomes ineligible for automatically being placed into
            groups, even if it is later disconnected.


            If a device's tags match more than one group, it will not be put
            into any group.


            If a devices is in a group, any further tag changes will not move it
            to another group.  If the device was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the device tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    groupOveCreateRequest-v1:
      required:
        - name
        - deviceType
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        deviceType:
          $ref: '#/components/schemas/deviceType'
        settingsUris:
          type: array
          description: URIs for group device settings
          items:
            type: string
          default: []
          example:
            - /compute-ops-mgmt/v1/settings/00000000-0000-0000-0000-800000000001
        policies:
          $ref: '#/components/schemas/groupOneviewPolicies-v1'
        autoAddTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add devices to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a device is onboarded or has its tags changed, the devices's
            tags will be checked against the group's autoAddTags.  If at least
            one of the device tags matches one group's autoAddTags, the device
            will be placed into the associated group. Once a device has been
            connected, it becomes ineligible for automatically being placed into
            groups, even if it is later disconnected.


            If a device's tags match more than one group, it will not be put
            into any group.


            If a devices is in a group, any further tag changes will not move it
            to another group.  If the device was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the device tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    groupCreateRequest-v1:
      oneOf:
        - $ref: '#/components/schemas/groupServerCreateRequest-v1'
        - $ref: '#/components/schemas/groupOveCreateRequest-v1'
      discriminator:
        propertyName: deviceType
        mapping:
          DIRECT_CONNECT_SERVER: '#/components/schemas/groupServerCreateRequest-v1'
          OVE_APPLIANCE_SYNERGY: '#/components/schemas/groupOveCreateRequest-v1'
          OVE_APPLIANCE_VM: '#/components/schemas/groupOveCreateRequest-v1'
    oneviewPolicies-v1:
      type: object
      title: OneView Appliance Policies
      description: Store policy settings for OneView appliance group actions.
      properties:
        onDeviceAdd:
          type: object
          description: |
            Policies to be applied when a OneView appliance is added to a group.

            There are no policies currently defined.
    groupPolicies-v1:
      oneOf:
        - $ref: '#/components/schemas/groupServerPolicies-v1'
        - $ref: '#/components/schemas/oneviewPolicies-v1'
        - type: 'null'
    groupUpdateRequest-v1:
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        settingsUris:
          type: array
          description: URIs for group device settings
          items:
            type: string
          default: []
          example:
            - /compute-ops-mgmt/v1/settings/00000000-0000-0000-0000-800000000001
        policies:
          $ref: '#/components/schemas/groupPolicies-v1'
        autoAddTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add devices to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a device is onboarded or has its tags changed, the devices's
            tags will be checked against the group's autoAddTags.  If at least
            one of the device tags matches one group's autoAddTags, the device
            will be placed into the associated group. Once a device has been
            connected, it becomes ineligible for automatically being placed into
            groups, even if it is later disconnected.


            If a device's tags match more than one group, it will not be put
            into any group.


            If a devices is in a group, any further tag changes will not move it
            to another group.  If the device was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the device tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    deviceDeviation-v1:
      description: Device deviation details
      type: object
      properties:
        componentName:
          type: string
          description: >-
            Description of the firmware component which has a deviation with
            group firmware baseline
        installedVersion:
          type: string
          description: Installed version of firmware component
        expectedVersion:
          type: string
          description: Expected version for firmware component
        componentFilename:
          type: string
          description: Name of the firmware component file
    complianceCategory:
      type: string
      enum:
        - FIRMWARE
        - ILO_SETTINGS
      description: The category for compliance
    deviceCompliance-v1:
      description: Device compliance details
      type: object
      properties:
        groupId:
          type: string
          format: uuid
        serial:
          type: string
        productId:
          type: string
        deviceId:
          type: string
        bundleId:
          description: Primary identifier for the firmware bundle
          type: string
        deviations:
          type: array
          items:
            $ref: '#/components/schemas/deviceDeviation-v1'
        score:
          type: integer
        complianceState:
          $ref: '#/components/schemas/complianceState'
        errorReason:
          type: string
          description: >-
            It will have the reason for why the compliance state is UNKNOWN. for
            other compliance states it will be empty string.
        remediation:
          description: Specifies remediation actions for the device
          type: object
        complianceCategory:
          $ref: '#/components/schemas/complianceCategory'
        id:
          description: Primary identifier for the compliance given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/group/compliance
        resourceUri:
          description: URI to the deviceCompliance itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/groups/c26e618b-4048-4aee-8e75-fbc984897a51/compliance/b73718fb-30c3-4b0f-bee3-f5dd598414f3
        deviceUri:
          type: string
          example: /compute-ops-mgmt/v1/servers/873357-P04+WKQ82425HD
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the firmware compliance was checked.
    deviceComplianceCollection-v1:
      allOf:
        - description: Device compliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceCompliance-v1'
    deviceResponseCollection-v1:
      allOf:
        - description: Device collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceResponse-v1'
    deviceRequest-v1:
      type: object
      required:
        - deviceId
      properties:
        deviceId:
          type: string
          description: The device to assign to the group.
          example: LUKEB1-G11+TUXED0CA77
        eTag:
          type: string
          description: >
            This property is required when a device is moved from one group to
            another. It is optional (and can be omitted) for all other requests.


            When moving a device from one group to another, the latest eTag for
            that device must be specified. A device's eTag will change as it
            moves between groups, so it is essential to use the latest eTag to
            avoid any errors when moving a device.


            In the rare case that a request is made to assign a device to the
            group it is already in, the eTag check will not be performed. In
            other words, the device's assignment will have zero effect because
            the desired outcome has already been achieved.
          example: '0xb2e9346d'
    groupAssignRequest-v1:
      required:
        - devices
      type: object
      properties:
        devices:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/deviceRequest-v1'
          description: Specifies the devices to be assigned to the group.
    deviceRemoveRequest-v1:
      type: object
      properties:
        deviceId:
          type: string
          description: The device to unassign from the group.
          example: LUKEB1-G11+TUXED0CA77
    groupRemoveRequest-v1:
      required:
        - devices
      type: object
      properties:
        devices:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/deviceRemoveRequest-v1'
            required:
              - deviceId
    externalStorageHostOS:
      enum:
        - UNKNOWN
        - AIX
        - APPLE
        - CITRIX_HYPERVISOR
        - HP_UX
        - IBM_VIO_SERVER
        - INFORM
        - NETAPP
        - OE_LINUX_UEK
        - OPENVMS
        - ORACLE_VM
        - RHE_LINUX
        - RHE_VIRTUALIZATION
        - SOLARIS
        - SUSE_LINUX
        - SUSE_VIRTUALIZATION
        - UBUNTU
        - VMWARE_ESXI
        - WINDOWS_SERVER
      type: string
      description: An enumeration.
    externalStorageComplianceResponse-v1:
      description: External storage compliance details
      type: object
      properties:
        groupId:
          type: string
          format: uuid
          description: The group id of the external storage
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the compliance was checked.
        generation:
          type: integer
          minimum: 1
          description: Monotonically increasing update counter
        hostOs:
          description: The host OS of the external storage
          $ref: '#/components/schemas/externalStorageHostOS'
        complianceState:
          description: The compliance state of the external storage
          $ref: '#/components/schemas/complianceState'
        deviations:
          type: object
          description: The deviations from the compliance check
          properties:
            mismatchOperatingSystem:
              type: array
              description: The server and host with mismatched operating systems
              items:
                type: object
                properties:
                  server:
                    description: The server with mismatched operating system
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  host:
                    description: The host with mismatched operating system
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
                  operatingSystem:
                    description: The operating system of the host
                    $ref: '#/components/schemas/externalStorageHostOS'
            missingInitiators:
              type: array
              description: The server and initiators that are missing from the host
              items:
                type: object
                properties:
                  server:
                    description: The server that is missing initiators
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  initiators:
                    type: array
                    items:
                      type: string
                      description: The initiators that are missing
                      example: 11:00:00:ab:00:01:20:01
            extraInitiator:
              type: array
              description: The host and initiators that are extra
              items:
                type: object
                properties:
                  host:
                    description: The host that is extra
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
                  initiators:
                    type: array
                    items:
                      type: string
                      description: The initiators that are extra
                      example: 11:00:00:ab:00:01:20:01
            missingHostsFromHostGroup:
              type: array
              description: The server that is missing from the host group
              items:
                type: object
                properties:
                  server:
                    description: The server that is missing from the host group
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
            extraHostsInHostGroup:
              type: array
              description: The host that is extra in the host group
              items:
                type: object
                properties:
                  host:
                    description: The host that is extra in the host group
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
            initiatorsWithMultipleHosts:
              type: array
              description: The server and hosts with multiple initiators
              items:
                type: object
                properties:
                  server:
                    description: The server with multiple initiators
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  hosts:
                    type: array
                    description: The hosts with multiple initiators
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name of the host
            missingHostGroups:
              type: array
              description: The host groups that are missing
              items:
                type: object
                properties:
                  hostGroup:
                    description: The host group that is missing
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host group
            hostGroupsNotCreated:
              type: array
              description: The host groups that are not created
              items:
                type: object
                properties:
                  hostGroup:
                    description: The host group that is not created
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host group
            noInitiators:
              type: array
              description: Servers with no initiators
              items:
                type: object
                properties:
                  server:
                    description: The server with no initiators
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
            preExistingHostNames:
              type: array
              description: Hosts that are pre-existing
              items:
                type: object
                properties:
                  server:
                    description: The server with pre-existing host
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  host:
                    description: The host that is pre-existing
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
    groupServerResponse-v1beta3:
      allOf:
        - type: object
          properties:
            deviceType:
              $ref: '#/components/schemas/deviceType'
            id:
              description: Primary identifier for the group supplied by the system
              type: string
              format: uuid
            name:
              description: Unique name for the group as supplied by the user
              type: string
              minLength: 1
              maxLength: 100
              example: Production Group
            type:
              description: The type of the resource.
              type: string
              readOnly: true
              const: compute-mgmt-ops/group
            description:
              maxLength: 10000
              type:
                - string
                - 'null'
              example: All prod servers
            complianceStatus:
              $ref: '#/components/schemas/complianceState'
            settingsUris:
              type: array
              description: URIs for group settings
              items:
                type: string
              default: []
              example:
                - >-
                  /compute-ops-mgmt/v1beta1/settings/00000000-0000-0000-0000-800000000001
            devicesUri:
              type: string
              description: URI for devices that belong to the group
              example: >-
                /compute-ops-mgmt/v1beta3/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices
            devices:
              type: array
              description: List of devices that belong to the group
              items:
                $ref: '#/components/schemas/deviceResponse-v1beta3'
              default: []
            policies:
              $ref: '#/components/schemas/groupServerPolicies-v1beta3'
            autoAddTags:
              description: >
                A case insensitive tag that can be associated with a group to
                automatically add servers to the group. A group can have a
                maximum of one tag and multiple groups can not have the same
                tag.

                When a server is onboarded or has its tags changed, the server's
                tags will be checked against the group's autoAddServerTags.  If
                at least one of the server tags matches one group's
                autoAddServerTags, the server will be placed into the associated
                group. Once a server has been connected, the server becomes
                ineligible for automatically being placed into groups, even if
                it is later disconnected.

                If a server's tags match more than one group, it will not be put
                into any group.

                If a server is in a group, any further tag changes will not move
                it to another group.  If the server was added to a group but has
                been removed, is not in any group, and still has not been
                activated, changing the server tags will automatically assign it
                to the matching group.

                Tags can contain any alphaneumeric characters, any Unicode space
                separators, and the following characters: `_` `.` `:` `=` `+`
                `-` `@`. An example of one of these tags can be seen in the
                sample request on this page.
              type:
                - object
                - 'null'
              example:
                Department: Development - Texas
            securityStatus:
              $ref: '#/components/schemas/securityState'
            groupCompliance:
              $ref: '#/components/schemas/groupCompliance-v1beta3'
            resourceUri:
              description: URI to the group itself (i.e. a self link)
              type: string
              format: uri-reference
              example: >-
                /compute-ops-mgmt/v1beta3/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
            generation:
              description: Monotonically increasing update counter
              type: integer
              minimum: 1
            createdAt:
              description: Time of group creation
              type: string
              format: date-time
            updatedAt:
              description: Time of the last group update
              type: string
              format: date-time
    groupOveResponse-v1beta3:
      allOf:
        - type: object
          properties:
            deviceType:
              $ref: '#/components/schemas/deviceType'
            id:
              description: Primary identifier for the group supplied by the system
              type: string
              format: uuid
            name:
              description: Unique name for the group as supplied by the user
              type: string
              minLength: 1
              maxLength: 100
              example: Production Group
            type:
              description: The type of the resource.
              type: string
              readOnly: true
              const: compute-mgmt-ops/group
            description:
              maxLength: 10000
              type:
                - string
                - 'null'
              example: All prod servers
            complianceStatus:
              $ref: '#/components/schemas/complianceState'
            settingsUris:
              type: array
              description: URIs for group settings
              items:
                type: string
              default: []
              example:
                - >-
                  /compute-ops-mgmt/v1beta1/settings/00000000-0000-0000-0000-800000000001
            devicesUri:
              type: string
              description: URI for devices that belong to the group
              example: >-
                /compute-ops-mgmt/v1beta3/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices
            devices:
              type: array
              description: List of devices that belong to the group
              items:
                $ref: '#/components/schemas/deviceResponse-v1beta3'
              default: []
            policies:
              $ref: '#/components/schemas/groupOneviewPolicies-v1beta3'
            autoAddTags:
              description: >
                A case insensitive tag that can be associated with a group to
                automatically add servers to the group. A group can have a
                maximum of one tag and multiple groups can not have the same
                tag.

                When a server is onboarded or has its tags changed, the server's
                tags will be checked against the group's autoAddServerTags.  If
                at least one of the server tags matches one group's
                autoAddServerTags, the server will be placed into the associated
                group. Once a server has been connected, the server becomes
                ineligible for automatically being placed into groups, even if
                it is later disconnected.

                If a server's tags match more than one group, it will not be put
                into any group.

                If a server is in a group, any further tag changes will not move
                it to another group.  If the server was added to a group but has
                been removed, is not in any group, and still has not been
                activated, changing the server tags will automatically assign it
                to the matching group.

                Tags can contain any alphaneumeric characters, any Unicode space
                separators, and the following characters: `_` `.` `:` `=` `+`
                `-` `@`. An example of one of these tags can be seen in the
                sample request on this page.
              type:
                - object
                - 'null'
              example:
                Department: Development - Texas
            securityStatus:
              $ref: '#/components/schemas/securityState'
            groupCompliance:
              $ref: '#/components/schemas/groupCompliance-v1beta3'
            resourceUri:
              description: URI to the group itself (i.e. a self link)
              type: string
              format: uri-reference
              example: >-
                /compute-ops-mgmt/v1beta3/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
            generation:
              description: Monotonically increasing update counter
              type: integer
              minimum: 1
            createdAt:
              description: Time of group creation
              type: string
              format: date-time
            updatedAt:
              description: Time of the last group update
              type: string
              format: date-time
    deviceResponse-v1beta3:
      type: object
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
          example: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/group/device
        resourceUri:
          description: URI to the device itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta3/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices/873357-P04+WKQ82425HD
        serial:
          type: string
          example: SYN1002J11
        productId:
          type: string
          example: P43990-121
        eTag:
          type: string
          example: '0xb2e9346d'
        deviceId:
          type: string
          example: P43990-121+SYN1002J11
        deviceUri:
          type: string
          example: /compute-ops-mgmt/v1beta2/servers/873357-P04+WKQ82425HD
        groupId:
          type: string
          format: uuid
        subscriptionState:
          $ref: '#/components/schemas/subscriptionState'
        subscriptionTier:
          $ref: '#/components/schemas/subscriptionTier'
        overallSecurityStatus:
          $ref: '#/components/schemas/overallSecurityStatus'
    groupServerPolicies-v1beta3:
      type: object
      title: Server Policies
      description: Store policy settings for server group actions.
      properties:
        onDeviceAdd:
          type: object
          description: Policies to be applied when a server is added to a group
          properties:
            biosApplySettings:
              type: boolean
              default: false
              description: >-
                Enable automatic application of BIOS settings when a server is
                added to a group. A server group must have one of the HPE
                pre-defined BIOS/Workload profiles to allow the auto apply of
                BIOS settings.
            biosFactoryReset:
              type: boolean
              description: >-
                Resets devices BIOS settings to factory default on removal from
                group.
              default: false
            firmwareDowngrade:
              type: boolean
              description: >-
                Allow downgrade of firmware when firmware update is performed on
                server addition to a group.
              default: false
            firmwarePowerOff:
              type: boolean
              description: >-
                Power off server when firmware update is performed. Valid only
                when firmware update is set to true.
              default: false
            firmwareUpdate:
              type: boolean
              default: false
              description: >-
                Enable automatic firmware updates to the configured baseline
                when a server is added to a group.
            iloApplySettings:
              type: boolean
              description: Applies iLO settings on server addition to a group.
              default: false
            osInstall:
              type: boolean
              description: Applies OS install
              default: false
            storageConfiguration:
              type: boolean
              default: false
              description: >-
                When a server is added to the group, apply the internal storage
                configuration..
            storageVolumeDeletion:
              type: boolean
              default: false
              description: >-
                When a server is added to the group, any existing internal
                storage configuration will be erased prior to applying the new
                internal storage configuration.
            storageVolumeName:
              type: string
              description: >-
                When a server is added to the group, associate a name with the
                created volume.
            storageVolumes:
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type:
                      - string
                      - 'null'
              type: array
              description: >-
                Array of objects mapping a setting's volume ID to the name that
                will be given to the volume when the settings are applied.
            externalStorageConfiguration:
              type: boolean
              default: false
              description: >-
                When a server is added to the group, apply the external storage
                configuration.
            osCompletionTimeoutMin:
              type: integer
              default: 240
              minimum: 60
              maximum: 720
              description: >-
                When a server is added to the group and automatic install of
                operating system is enabled, this property sets the amount of
                time (in minutes) the operating system installation will be
                allowed to continue before it times out. The timeout specified
                is applicable for each individual server in the group.
        onDeviceApply:
          type: object
          description: Policies to be applied on server group actions
          properties:
            firmwareDowngrade:
              type: boolean
              default: false
              description: >-
                Allow or forbid downgrade of a firmware when firmware update is
                performed.
    groupCompliance-v1beta3:
      type: object
      title: Group Compliance
      description: Compliance status and status reason for device in the group.
      properties:
        summary:
          type: string
          description: >-
            Overall group compliance based on the status of the containing
            items.
          example: Not Compliant
        firmware:
          type: object
          description: Group compliance status for firmware.
          properties:
            status:
              type: string
              description: Current status for group firmware compliance.
              example: Not Compliant
            statusReason:
              type: string
              description: The reason for any status other than compliant.
              example: ''
        iloSettings:
          type: object
          description: Group compliance status for iLO settings.
          properties:
            status:
              type: string
              description: Current status for group iLO settings.
              example: Unknown
            statusReason:
              type: string
              description: The reason for any status other than compliant.
              example: Not Initiated
    oneviewPoliciesOnAdd-v1beta3:
      type: object
      title: OneView Appliance Policies
      description: |
        Store policy settings for OneView appliance group actions.

        There are no policies currently defined.
    groupOneviewPolicies-v1beta3:
      title: Policies
      additionalProperties: false
      type: object
      properties:
        onDeviceAdd:
          oneOf:
            - $ref: '#/components/schemas/oneviewPoliciesOnAdd-v1beta3'
            - type: 'null'
    groupResponse-v1beta3:
      oneOf:
        - $ref: '#/components/schemas/groupServerResponse-v1beta3'
        - $ref: '#/components/schemas/groupOveResponse-v1beta3'
      discriminator:
        propertyName: deviceType
        mapping:
          DIRECT_CONNECT_SERVER: '#/components/schemas/groupServerResponse-v1beta3'
          OVE_APPLIANCE_SYNERGY: '#/components/schemas/groupOveResponse-v1beta3'
          OVE_APPLIANCE_VM: '#/components/schemas/groupOveResponse-v1beta3'
    groupCollection-v1beta3:
      allOf:
        - description: Group collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/groupResponse-v1beta3'
    groupServerCreateRequest-v1beta3:
      required:
        - name
        - deviceType
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        deviceType:
          $ref: '#/components/schemas/deviceType'
        settingsUris:
          type: array
          description: URIs for group device settings
          items:
            type: string
          default: []
          example:
            - >-
              /compute-ops-mgmt/v1beta1/settings/00000000-0000-0000-0000-800000000001
        policies:
          $ref: '#/components/schemas/groupServerPolicies-v1beta3'
        autoAddTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add devices to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a device is onboarded or has its tags changed, the devices's
            tags will be checked against the group's autoAddTags.  If at least
            one of the device tags matches one group's autoAddTags, the device
            will be placed into the associated group. Once a device has been
            connected, it becomes ineligible for automatically being placed into
            groups, even if it is later disconnected.


            If a device's tags match more than one group, it will not be put
            into any group.


            If a devices is in a group, any further tag changes will not move it
            to another group.  If the device was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the device tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    groupOveCreateRequest-v1beta3:
      required:
        - name
        - deviceType
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        deviceType:
          $ref: '#/components/schemas/deviceType'
        settingsUris:
          type: array
          description: URIs for group device settings
          items:
            type: string
          default: []
          example:
            - >-
              /compute-ops-mgmt/v1beta1/settings/00000000-0000-0000-0000-800000000001
        policies:
          $ref: '#/components/schemas/groupOneviewPolicies-v1beta3'
        autoAddTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add devices to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a device is onboarded or has its tags changed, the devices's
            tags will be checked against the group's autoAddTags.  If at least
            one of the device tags matches one group's autoAddTags, the device
            will be placed into the associated group. Once a device has been
            connected, it becomes ineligible for automatically being placed into
            groups, even if it is later disconnected.


            If a device's tags match more than one group, it will not be put
            into any group.


            If a devices is in a group, any further tag changes will not move it
            to another group.  If the device was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the device tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    groupCreateRequest-v1beta3:
      oneOf:
        - $ref: '#/components/schemas/groupServerCreateRequest-v1beta3'
        - $ref: '#/components/schemas/groupOveCreateRequest-v1beta3'
      discriminator:
        propertyName: deviceType
        mapping:
          DIRECT_CONNECT_SERVER: '#/components/schemas/groupServerCreateRequest-v1beta3'
          OVE_APPLIANCE_SYNERGY: '#/components/schemas/groupOveCreateRequest-v1beta3'
          OVE_APPLIANCE_VM: '#/components/schemas/groupOveCreateRequest-v1beta3'
    oneviewPolicies-v1beta3:
      type: object
      title: OneView Appliance Policies
      description: Store policy settings for OneView appliance group actions.
      properties:
        onDeviceAdd:
          type: object
          description: |
            Policies to be applied when a OneView appliance is added to a group.

            There are no policies currently defined.
    groupPolicies-v1beta3:
      oneOf:
        - $ref: '#/components/schemas/groupServerPolicies-v1beta3'
        - $ref: '#/components/schemas/oneviewPolicies-v1beta3'
        - type: 'null'
    groupUpdateRequest-v1beta3:
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        settingsUris:
          type: array
          description: URIs for group device settings
          items:
            type: string
          default: []
          example:
            - >-
              /compute-ops-mgmt/v1beta1/settings/00000000-0000-0000-0000-800000000001
        policies:
          $ref: '#/components/schemas/groupPolicies-v1beta3'
        autoAddTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add devices to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a device is onboarded or has its tags changed, the devices's
            tags will be checked against the group's autoAddTags.  If at least
            one of the device tags matches one group's autoAddTags, the device
            will be placed into the associated group. Once a device has been
            connected, it becomes ineligible for automatically being placed into
            groups, even if it is later disconnected.


            If a device's tags match more than one group, it will not be put
            into any group.


            If a devices is in a group, any further tag changes will not move it
            to another group.  If the device was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the device tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    deviceDeviation-v1beta3:
      description: Device deviation details
      type: object
      properties:
        componentName:
          type: string
          description: >-
            Description of the firmware component which has a deviation with
            group firmware baseline
        installedVersion:
          type: string
          description: Installed version of firmware component
        expectedVersion:
          type: string
          description: Expected version for firmware component
        componentFilename:
          type: string
          description: Name of the firmware component file
    deviceCompliance-v1beta3:
      description: Device compliance details
      type: object
      properties:
        groupId:
          type: string
          format: uuid
        serial:
          type: string
        productId:
          type: string
        deviceId:
          type: string
        bundleId:
          description: Primary identifier for the firmware bundle
          type: string
        deviations:
          type: array
          items:
            $ref: '#/components/schemas/deviceDeviation-v1beta3'
        score:
          type: integer
        complianceState:
          $ref: '#/components/schemas/complianceState'
        errorReason:
          type: string
          description: >-
            It will have the reason for why the compliance state is UNKNOWN. for
            other compliance states it will be empty string.
        remediation:
          description: Specifies remediation actions for the device
          type: object
        complianceCategory:
          description: This refers to the Compliance Category
          const: FIRMWARE
        id:
          description: Primary identifier for the compliance given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/group/compliance
        resourceUri:
          description: URI to the deviceCompliance itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta3/groups/c26e618b-4048-4aee-8e75-fbc984897a51/compliance/b73718fb-30c3-4b0f-bee3-f5dd598414f3
        deviceUri:
          type: string
          example: /compute-ops-mgmt/v1beta2/servers/873357-P04+WKQ82425HD
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the firmware compliance was checked.
    deviceComplianceCollection-v1beta3:
      allOf:
        - description: Device compliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceCompliance-v1beta3'
    deviceResponseCollection-v1beta3:
      allOf:
        - description: Device collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceResponse-v1beta3'
    deviceRequest-v1beta3:
      type: object
      required:
        - deviceId
      properties:
        deviceId:
          type: string
          description: The device to assign to the group.
          example: LUKEB1-G11+TUXED0CA77
        eTag:
          type: string
          description: >
            This property is required when a device is moved from one group to
            another. It is optional (and can be omitted) for all other requests.


            When moving a device from one group to another, the latest eTag for
            that device must be specified. A device's eTag will change as it
            moves between groups, so it is essential to use the latest eTag to
            avoid any errors when moving a device.


            In the rare case that a request is made to assign a device to the
            group it is already in, the eTag check will not be performed. In
            other words, the device's assignment will have zero effect because
            the desired outcome has already been achieved.
          example: '0xb2e9346d'
    groupAssignRequest-v1beta3:
      required:
        - devices
      type: object
      properties:
        devices:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/deviceRequest-v1beta3'
          description: Specifies the devices to be assigned to the group.
    deviceRemoveRequest-v1beta3:
      type: object
      properties:
        deviceId:
          type: string
          description: The device to unassign from the group.
          example: LUKEB1-G11+TUXED0CA77
    groupRemoveRequest-v1beta3:
      required:
        - devices
      type: object
      properties:
        devices:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/deviceRemoveRequest-v1beta3'
            required:
              - deviceId
    externalStorageComplianceResponse-v1beta2:
      description: External storage compliance details
      type: object
      properties:
        groupId:
          type: string
          format: uuid
          description: The group id of the external storage
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the compliance was checked.
        generation:
          type: integer
          minimum: 1
          description: Monotonically increasing update counter
        hostOs:
          description: The host OS of the external storage
          $ref: '#/components/schemas/externalStorageHostOS'
        complianceState:
          description: The compliance state of the external storage
          $ref: '#/components/schemas/complianceState'
        deviations:
          type: object
          description: The deviations from the compliance check
          properties:
            mismatchOperatingSystem:
              type: array
              description: The server and host with mismatched operating systems
              items:
                type: object
                properties:
                  server:
                    description: The server with mismatched operating system
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  host:
                    description: The host with mismatched operating system
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
                  operatingSystem:
                    description: The operating system of the host
                    $ref: '#/components/schemas/externalStorageHostOS'
            missingInitiators:
              type: array
              description: The server and initiators that are missing from the host
              items:
                type: object
                properties:
                  server:
                    description: The server that is missing initiators
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  initiators:
                    type: array
                    items:
                      type: string
                      description: The initiators that are missing
                      example: 11:00:00:ab:00:01:20:01
            extraInitiator:
              type: array
              description: The host and initiators that are extra
              items:
                type: object
                properties:
                  host:
                    description: The host that is extra
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
                  initiators:
                    type: array
                    items:
                      type: string
                      description: The initiators that are extra
                      example: 11:00:00:ab:00:01:20:01
            missingHostsFromHostGroup:
              type: array
              description: The server that is missing from the host group
              items:
                type: object
                properties:
                  server:
                    description: The server that is missing from the host group
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
            extraHostsInHostGroup:
              type: array
              description: The host that is extra in the host group
              items:
                type: object
                properties:
                  host:
                    description: The host that is extra in the host group
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
            initiatorsWithMultipleHosts:
              type: array
              description: The server and hosts with multiple initiators
              items:
                type: object
                properties:
                  server:
                    description: The server with multiple initiators
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  hosts:
                    type: array
                    description: The hosts with multiple initiators
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name of the host
            missingHostGroups:
              type: array
              description: The host groups that are missing
              items:
                type: object
                properties:
                  hostGroup:
                    description: The host group that is missing
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host group
            hostGroupsNotCreated:
              type: array
              description: The host groups that are not created
              items:
                type: object
                properties:
                  hostGroup:
                    description: The host group that is not created
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host group
            noInitiators:
              type: array
              description: Servers with no initiators
              items:
                type: object
                properties:
                  server:
                    description: The server with no initiators
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
            preExistingHostNames:
              type: array
              description: Hosts that are pre-existing
              items:
                type: object
                properties:
                  server:
                    description: The server with pre-existing host
                    type: object
                    properties:
                      id:
                        type: string
                        description: Primary identifier for the server
                      name:
                        type: string
                        description: Name of the server
                  host:
                    description: The host that is pre-existing
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the host
    iLOSettingsdeviceDeviation-v1beta3:
      description: iLO Settings Device deviation details
      type: object
      properties:
        category:
          description: Category of the settings
          type: string
          example: SnmpService
        settingName:
          type: string
          example: SNMPv1Enabled
        currentValue:
          type: string
          example: 'False'
        expectedValue:
          type: string
          example: 'True'
    deviceiLOSettingsCompliance-v1beta3:
      description: Device iLO Settings compliance details
      type: object
      properties:
        groupId:
          type: string
          format: uuid
        serial:
          type: string
        productId:
          type: string
        deviceId:
          type: string
        deviations:
          type: array
          items:
            $ref: '#/components/schemas/iLOSettingsdeviceDeviation-v1beta3'
        complianceState:
          description: The compliance state of ilo settings
          $ref: '#/components/schemas/complianceState'
        errorReason:
          type: string
          description: >-
            It will have the reason for why the compliance state is UNKNOWN. for
            other compliance states it will be empty string.
        complianceCategory:
          description: This refers to the Compliance Category
          const: ILO_SETTINGS
        remediation:
          description: Specifies remediation actions for the device
          type: object
        id:
          description: Primary identifier for the compliance given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/group/ilo-settings-compliance
        resourceUri:
          description: URI to the deviceCompliance itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta3/groups/c26e618b-4048-4aee-8e75-fbc984897a51/ilo-settings-compliance/b73718fb-30c3-4b0f-bee3-f5dd598414f3
        deviceUri:
          type: string
          example: /compute-ops-mgmt/v1beta2/servers/873357-P04+WKQ82425HD
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the firmware compliance was checked.
    deviceiLOSettingsComplianceCollection-v1beta3:
      allOf:
        - description: Device compliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceiLOSettingsCompliance-v1beta3'
    deviceState:
      enum:
        - ASSIGNED
        - FAILED
        - ACTIVE
        - QUARANTINE
        - APPLYING_FIRMWARE
        - APPLYING_SCHEMA
        - APPLYING_OS
      type: string
      description: An enumeration.
    deviceResponse-v1beta2:
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops/group/device
        resourceUri:
          description: URI to the device itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops/v1beta2/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices/873357-P04+WKQ82425HD
        serial:
          type: string
        productId:
          type: string
        eTag:
          type: string
        serverId:
          type: string
        serverUri:
          type: string
          example: /api/compute/v1/servers/873357-P04+WKQ82425HD
        state:
          $ref: '#/components/schemas/deviceState'
        groupId:
          type: string
          format: uuid
        subscriptionState:
          $ref: '#/components/schemas/subscriptionState'
        subscriptionTier:
          $ref: '#/components/schemas/subscriptionTier'
    noSettingsReason:
      enum:
        - GROUP_HAS_NO_SETTINGS
        - GROUP_HAS_NO_AUTO_POLICY
        - SERVER_IS_NOT_LICENSED
      type: string
      description: An enumeration.
    noSettingsMeta-v1beta2:
      type: object
      properties:
        noSettingsReason:
          $ref: '#/components/schemas/noSettingsReason'
      additionalProperties: false
    settingsAppliedMeta-v1beta2:
      type: object
      properties:
        deviceCount:
          exclusiveMinimum: 0
          minimum: 1
          type: integer
        appliedCount:
          minimum: 0
          type: integer
      additionalProperties: false
    groupResponse-v1beta2:
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      type: object
      properties:
        id:
          description: Primary identifier for the group given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops/group
        resourceUri:
          description: URI to the group itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops/v1beta2/groups/0e7f516c-0829-4135-83d6-09ce844ddd9d
        name:
          description: Name for the group given by the user
          type: string
          minLength: 1
          maxLength: 100
          example: Production Group
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of group creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last group update
          type: string
          format: date-time
        description:
          maxLength: 10000
          type:
            - string
            - 'null'
          example: All prod servers
        autoFwUpdateOnAdd:
          description: >-
            Enabled automatic firmware updates to the configured baseline when a
            server is added to a group
          type: boolean
        groupComplianceStatus:
          $ref: '#/components/schemas/complianceState'
        serverSettingsUris:
          type: array
          description: URIs for group server settings
          items:
            type: string
          default: []
          example:
            - >-
              /compute-ops/v1beta1/server-settings/00000000-0000-0000-0000-800000000001
        platformFamily:
          type:
            - string
          enum:
            - ANY
            - PROLIANT
            - OVE_APPLIANCE_SYNERGY
            - OVE_APPLIANCE_VM
          description: >
            Platform family of all servers in this group. There are no
            restrictions for groups and all supported server types are allowed.
            This optional attribute will be set to a default value of "ANY", to
            indicate that any server platform family can be in this group,
            regardless of the value passed in.


            For management of OneView appliance groups, please use the v1beta3
            API. 
          default: ANY
          example: ANY
        devicesUri:
          type: string
          example: >-
            /compute-ops/v1beta2/groups/6081a383-b9e5-45e3-8371-1e0ba7b72068/devices
        devices:
          type: array
          items:
            $ref: '#/components/schemas/deviceResponse-v1beta2'
          default: []
        serverPolicies:
          type: object
          description: Stores policy settings for server group actions
          properties:
            onServerAdd:
              type: object
              description: Policies to be applied when a server is added to a group
              properties:
                firmwareDowngrade:
                  type: boolean
                  default: false
                  deprecated: true
                  description: >
                    **Deprecated, prefer using onSettingsApply.firmwareDowngrade
                    instead.** Allow downgrade of firmware when firmware update
                    is performed on server addition to a group. Valid only when
                    firmware update is set to true
                firmwareUpdate:
                  type: boolean
                  default: false
                  description: >-
                    Enabled automatic firmware updates to the configured
                    baseline when a server is added to a group
                biosApplySettings:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic application of BIOS settings when a server
                    is added to a group.
                biosFactoryReset:
                  type: boolean
                  default: false
                  description: >-
                    When 'biosApplySettings' is enabled, reset the server BIOS
                    to its factory default configuration when a server is added
                    to a group.
                iloApplySettings:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic application of iLO settings when a server
                    is added to a group. A server group must have HPE
                    pre-defined iLO settngs to allow the auto apply of iLO
                    settings.
                storageConfiguration:
                  type: boolean
                  default: false
                  description: >-
                    When server is added to the group, the OS volume will be
                    created immediately if the server is activated or when the
                    server is activated at a later time.
                storageVolumeDeletion:
                  type: boolean
                  default: false
                  description: >-
                    When server is added to the group, any existing internal
                    storage configuration will be erased prior to creating the
                    new OS volume if the server is activated or when the server
                    is activated at a later time.
                storageVolumeName:
                  type: string
                  description: >-
                    When a server is added to the group, associate a name with
                    the created volume if the server is activated or when the
                    server is activated at a later time.
                externalStorageConfiguration:
                  type: boolean
                  default: false
                  description: >-
                    When a server is added to the group, apply the external
                    storage configuration immediately if the server is activated
                    or when the server is activated at a later time.
                osImageSettings:
                  type: boolean
                  default: false
                  description: >-
                    When a server is added to the group, install the operating
                    system image immediately if the server is activated or when
                    the server is activated at a later time.
                osCompletionTimeoutMin:
                  type: integer
                  default: 240
                  minimum: 60
                  maximum: 720
                  description: >-
                    When a server is added to the group and automatic install of
                    operating system is enabled, this property sets the amount
                    of time (in minutes) the operating system installation will
                    be allowed to continue before it times out. The timeout
                    specified is applicable for each individual server in the
                    group.
            onSettingsApply:
              type: object
              description: Policies to be applied on server group actions
              properties:
                firmwareDowngrade:
                  type: boolean
                  default: false
                  description: >-
                    Allow or forbid downgrade of a firmware when firmware update
                    is performed.
        autoAddServerTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add servers to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a server is onboarded or has its tags changed, the server's
            tags will be checked against the group's autoAddServerTags.  If at
            least one of the server tags matches one group's autoAddServerTags,
            the server will be placed into the associated group. Once a server
            has been connected, the server becomes ineligible for automatically
            being placed into groups, even if it is later disconnected.


            If a server's tags match more than one group, it will not be put
            into any group.


            If a server is in a group, any further tag changes will not move it
            to another group.  If the server was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the server tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type:
            - object
            - 'null'
          example:
            Department: Development - Texas
        groupMeta:
          anyOf:
            - $ref: '#/components/schemas/noSettingsMeta-v1beta2'
            - $ref: '#/components/schemas/settingsAppliedMeta-v1beta2'
            - type:
                - 'null'
        groupCompliance:
          type: object
          description: Overall summary compliance state
          properties:
            summary:
              $ref: '#/components/schemas/complianceState'
            firmware:
              properties:
                status:
                  $ref: '#/components/schemas/complianceState'
                statusReason:
                  type: string
                  example: ''
            iloSettings:
              properties:
                status:
                  $ref: '#/components/schemas/complianceState'
                statusReason:
                  type: string
                  example: ''
    groupCollection-v1beta2:
      allOf:
        - description: Group collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/groupResponse-v1beta2'
    groupCreateRequest-v1beta2:
      required:
        - name
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        autoFwUpdateOnAdd:
          description: >-
            Enable automatic firmware updates to the configured baseline when a
            server is added to a group, This is equivalent to firmwareUpdate
            under serverPolicies. The value must be same if both are provided
          type: boolean
          default: false
        platformFamily:
          type:
            - string
          description: >-
            Platform family of all servers in this group. There are no
            restrictions for groups and all supported server types are allowed.
            This optional attribute will be set to a default value of "ANY", to
            indicate that any server platform family can be in this group,
            regardless of the value passed in.
          enum:
            - ANY
            - PROLIANT
          default: ANY
        serverSettingsUris:
          type: array
          description: URIs for group server settings
          items:
            type: string
          default: []
          example:
            - >-
              /compute-ops/v1beta1/server-settings/00000000-0000-0000-0000-800000000001
        data:
          type: object
          default: {}
        serverPolicies:
          type: object
          description: Stores policy settings for server group actions
          properties:
            onServerAdd:
              type: object
              description: Policies to be applied when a server is added to a group
              properties:
                firmwareDowngrade:
                  type: boolean
                  default: false
                  deprecated: true
                  description: >
                    **Deprecated, prefer using onSettingsApply.firmwareDowngrade
                    instead.** Allow downgrade of firmware when firmware update
                    is performed on server addition to a group. Valid only when
                    firmware update is set to true
                firmwareUpdate:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic firmware updates to the configured baseline
                    when a server is added to a group, This is equivalent to
                    autoFwUpdateOnAdd. The value must be same if both are
                    provided
                biosApplySettings:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic application of BIOS settings when a server
                    is added to a group.
                biosFactoryReset:
                  type: boolean
                  default: false
                  description: >-
                    When 'biosApplySettings' is enabled, reset the server BIOS
                    to its factory default configuration when a server is added
                    to a group.
                iloApplySettings:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic application of iLO settings when a server
                    is added to a group. A server group must have HPE
                    pre-defined iLO settngs to allow the auto apply of iLO
                    settings.
                storageConfiguration:
                  type: boolean
                  default: false
                  description: >-
                    When server is added to the group, the OS volume will be
                    created immediately if the server is activated or when the
                    server is activated at a later time.
                storageVolumeDeletion:
                  type: boolean
                  default: false
                  description: >-
                    When server is added to the group, any existing internal
                    storage configuration will be erased prior to creating the
                    new OS volume if the server is activated or when the server
                    is activated at a later time.
                storageVolumeName:
                  type: string
                  description: >-
                    When a server is added to the group, associate a name with
                    the created volume if the server is activated or when the
                    server is activated at a later time.
                externalStorageConfiguration:
                  type: boolean
                  default: false
                  description: >-
                    When a server is added to the group, apply the external
                    storage configuration immediately if the server is activated
                    or when the server is activated at a later time.
                osImageSettings:
                  type: boolean
                  default: false
                  description: >-
                    When a server is added to the group, install the operating
                    system image immediately if the server is activated or when
                    the server is activated at a later time.
                osCompletionTimeoutMin:
                  type: integer
                  default: 240
                  minimum: 60
                  maximum: 720
                  description: >-
                    When a server is added to the group and automatic install of
                    operating system is enabled, this property sets the amount
                    of time (in minutes) the operating system installation will
                    be allowed to continue before it times out. The timeout
                    specified is applicable for each individual server in the
                    group.
            onSettingsApply:
              type: object
              description: Policies to be applied on server group actions
              properties:
                firmwareDowngrade:
                  type: boolean
                  default: false
                  description: >-
                    Allow or forbid downgrade of a firmware when firmware update
                    is performed.
        autoAddServerTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add servers to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a server is onboarded or has its tags changed, the server's
            tags will be checked against the group's autoAddServerTags.  If at
            least one of the server tags matches one group's autoAddServerTags,
            the server will be placed into the associated group. Once a server
            has been connected, the server becomes ineligible for automatically
            being placed into groups, even if it is later disconnected.


            If a server's tags match more than one group, it will not be put
            into any group.


            If a server is in a group, any further tag changes will not move it
            to another group.  If the server was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the server tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    groupUpdateRequest-v1beta2:
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Group
        description:
          maxLength: 10000
          type: string
          example: All prod servers
        serverSettingsUris:
          title: Serversettingsuris
          description: URIs for group server settings
          type: array
          items:
            type: string
          default: []
          example:
            - >-
              /api/compute/v1/server-settings/00000000-0000-0000-0000-800000000001
        autoFwUpdateOnAdd:
          description: >-
            Enable automatic firmware updates to the configured baseline when a
            server is added to a group, This is equivalent to firmwareUpdate
            under serverPolicies. The value must be same if both are provided
          type: boolean
          default: false
        serverPolicies:
          type: object
          description: Stores policy settings for server group actions
          properties:
            onServerAdd:
              type: object
              description: Policies to be applied when a server is added to a group
              properties:
                firmwareDowngrade:
                  type: boolean
                  default: false
                  deprecated: true
                  description: >
                    **Deprecated, prefer using onSettingsApply.firmwareDowngrade
                    instead.** Allow downgrade of firmware when firmware update
                    is performed on server addition to a group. Valid only when
                    firmware update is set to true
                firmwareUpdate:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic firmware updates to the configured baseline
                    when a server is added to a group, This is equivalent to
                    autoFwUpdateOnAdd. The value must be same if both are
                    provided
                biosApplySettings:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic application of BIOS settings when a server
                    is added to a group.
                biosFactoryReset:
                  type: boolean
                  default: false
                  description: >-
                    When 'biosApplySettings' is enabled, reset the server BIOS
                    to its factory default configuration when a server is added
                    to a group.
                iloApplySettings:
                  type: boolean
                  default: false
                  description: >-
                    Enable automatic application of iLO settings when a server
                    is added to a group. A server group must have HPE
                    pre-defined iLO settngs to allow the auto apply of iLO
                    settings.
                storageConfiguration:
                  type: boolean
                  default: false
                  description: >-
                    When server is added to the group, the OS volume will be
                    created immediately if the server is activated or when the
                    server is activated at a later time.
                storageVolumeDeletion:
                  type: boolean
                  default: false
                  description: >-
                    When server is added to the group, any existing internal
                    storage configuration will be erased prior to creating the
                    new OS volume if the server is activated or when the server
                    is activated at a later time.
                storageVolumeName:
                  type: string
                  description: >-
                    When a server is added to the group, associate a name with
                    the created volume if the server is activated or when the
                    server is activated at a later time.
                externalStorageConfiguration:
                  type: boolean
                  default: false
                  description: >-
                    When a server is added to the group, apply the external
                    storage configuration immediately if the server is activated
                    or when the server is activated at a later time.
                osImageSettings:
                  type: boolean
                  default: false
                  description: >-
                    When a server is added to the group, install the operating
                    system image immediately if the server is activated or when
                    the server is activated at a later time.
                osCompletionTimeoutMin:
                  type: integer
                  default: 240
                  minimum: 60
                  maximum: 720
                  description: >-
                    When a server is added to the group and automatic install of
                    operating system is enabled, this property sets the amount
                    of time (in minutes) the operating system installation will
                    be allowed to continue before it times out. The timeout
                    specified is applicable for each individual server in the
                    group.
            onSettingsApply:
              type: object
              description: Policies to be applied on server group actions
              properties:
                firmwareDowngrade:
                  type: boolean
                  default: false
                  description: >-
                    Allow or forbid downgrade of a firmware when firmware update
                    is performed.
        autoAddServerTags:
          description: >
            A case insensitive tag that can be associated with a group to
            automatically add servers to the group. A group can have a maximum
            of one tag and multiple groups can not have the same tag.


            When a server is onboarded or has its tags changed, the server's
            tags will be checked against the group's autoAddServerTags.  If at
            least one of the server tags matches one group's autoAddServerTags,
            the server will be placed into the associated group. Once a server
            has been connected, the server becomes ineligible for automatically
            being placed into groups, even if it is later disconnected.


            If a server's tags match more than one group, it will not be put
            into any group. 


            If a server is in a group, any further tag changes will not move it
            to another group.  If the server was added to a group but has been
            removed, is not in any group, and still has not been activated,
            changing the server tags will automatically assign it to the
            matching group.


            Tags can contain any alphaneumeric characters, any Unicode space
            separators, and the following characters: `_` `.` `:` `=` `+` `-`
            `@`. An example of one of these tags can be seen in the sample
            request on this page.
          type: object
          example:
            Department: Development - Texas
    deviceDeviation-v1beta2:
      description: Device deviation details
      type: object
      properties:
        componentName:
          type: string
          description: >-
            Description of the firmware component which has a deviation with
            group firmware baseline
        installedVersion:
          type: string
          description: Installed version of firmware component
        expectedVersion:
          type: string
          description: Expected version for firmware component
        componentFilename:
          type: string
          description: Name of the firmware component file
    deviceCompliance-v1beta2:
      description: Device compliance details
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      type: object
      properties:
        id:
          description: Primary identifier for the compliance given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops/group/compliance
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the firmware compliance was checked.
        resourceUri:
          description: URI to the deviceCompliance itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops/v1beta2/groups/c26e618b-4048-4aee-8e75-fbc984897a51/compliance/b73718fb-30c3-4b0f-bee3-f5dd598414f3
        groupId:
          type: string
          format: uuid
        serial:
          type: string
        productId:
          type: string
        serverId:
          type: string
        complianceStatus:
          $ref: '#/components/schemas/complianceState'
        deviations:
          type: array
          items:
            $ref: '#/components/schemas/deviceDeviation-v1beta2'
        errorReason:
          type: string
          description: >-
            It will have the reason for why the compliance state is UNKNOWN. for
            other compliance states it will be empty string.
        complianceCategory:
          description: This refers to the Compliance Category
          const: FIRMWARE
    deviceComplianceCollection-v1beta2:
      allOf:
        - description: Device compliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            start:
              type: integer
              description: Zero-based resource offset, alias of `offset`
              minimum: 0
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceCompliance-v1beta2'
    deviceResponseCollection-v1beta2:
      allOf:
        - description: Device collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceResponse-v1beta2'
    deviceRequest-v1beta2:
      type: object
      properties:
        serial:
          type: string
        productId:
          type: string
        eTag:
          type: string
          description: >
            This property is required when a server is moved from one group to
            another. It is optional (and can be omitted) for all other requests.


            When moving a server from one group to another, the latest eTag for
            that server must be specified. To find the latest eTag(s) associated
            with one or more servers, send this request specifying those servers
            and set the query parameter `dry-run` to `true`. A server's eTag
            will change as it moves between groups, so it is essential to use
            the latest eTag to avoid any errors when moving a server.


            In the rare case that a request is made to assign a server to the
            group it is already in, the eTag check will not be performed. In
            other words, the device's assignment will have zero effect because
            the desired outcome has already been achieved.
        serverId:
          type: string
    groupAssignRequest-v1beta2:
      required:
        - devices
      type: object
      properties:
        devices:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/deviceRequest-v1beta2'
    deviceResponseCollectionNew-v1beta2:
      required:
        - devices
      type: object
      properties:
        devices:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/deviceResponse-v1beta2'
    iLOSettingsdeviceDeviation-v1beta2:
      description: iLO Settings Device deviation details
      type: object
      properties:
        category:
          description: Category of the settings
          type: string
          example: '1'
        settingName:
          type: string
          example: RequiredLoginForiLORBSU
        currentValue:
          type: string
          example: 'False'
        expectedValue:
          type: string
          example: 'True'
    deviceiLOSettingsCompliance-v1beta2:
      description: Device iLO Settings compliance details
      type: object
      properties:
        id:
          description: Primary identifier for the compliance given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops/group/ilo-settings-compliance
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of compliance entry creation
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: This refers to when the firmware compliance was checked.
        resourceUri:
          description: URI to the deviceCompliance itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops/v1beta2/groups/eb54e96e-21b8-4f54-9cd4-80fccbd06f55/ilo-settings-compliance/b73718fb-30c3-4b0f-bee3-f5dd598414f3
        serial:
          type: string
        productId:
          type: string
        serverId:
          type: string
        deviations:
          type: array
          items:
            $ref: '#/components/schemas/iLOSettingsdeviceDeviation-v1beta2'
        complianceState:
          description: The compliance state of ilo settings
          $ref: '#/components/schemas/complianceState'
        remediation:
          description: Specifies remediation actions for the device
          type: object
        complianceCategory:
          description: This refers to the Compliance Category
          const: ILO_SETTINGS
        groupId:
          type: string
          format: uuid
          description: The group id of the ilo settings
        serverUri:
          description: Server URI
          type: string
          format: uri-reference
          example: /compute-ops/v1beta2/servers/975017-V69+8899975017569500
        errorReason:
          type: string
          description: >-
            It will have the reason for why the compliance state is UNKNOWN. for
            other compliance states it will be empty string.
    deviceiLOSettingsComplianceCollection-v1beta2:
      allOf:
        - description: Device compliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            start:
              type: integer
              description: Zero-based resource offset, alias of `offset`
              minimum: 0
            items:
              type: array
              items:
                $ref: '#/components/schemas/deviceiLOSettingsCompliance-v1beta2'
    jobTemplate-v1beta2:
      description: Job template
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the job template given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/job-template
        resourceUri:
          description: URI to the job template itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/job-templates/e94fea5a-115e-41b2-8ca2-406b4bf710df
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 0
        createdAt:
          description: Time of job template creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last job template update
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        schema:
          type:
            - object
            - 'null'
          description: >-
            JSON Schema that describes the required data for an instance of this
            job
          format: JSON
          additionalProperties:
            type:
              - string
              - object
              - 'null'
    jobTemplateCollection-v1beta2:
      allOf:
        - description: Job template collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/jobTemplate-v1beta2'
    jobState:
      type: string
      enum:
        - PENDING
        - RUNNING
        - STALLED
        - ERROR
        - COMPLETE
      description: >-
        The current state of a job, indicating whether a job is waiting,
        running, or terminal
    job-v1:
      description: Job
      type: object
      properties:
        id:
          description: Primary identifier for the job given by the system
          type: string
          format: uuid
          example: 2500759c-b7dd-4c68-ab7e-6b644bcf4b9c
        parentJobId:
          description: The identifier of a job which triggered this job
          type:
            - string
            - 'null'
          format: uuid
          example: 284f3b7a-7a17-4f0a-9b40-a51bc887c7d0
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/job
        resourceUri:
          description: URI to the job itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1/jobs/2500759c-b7dd-4c68-ab7e-6b644bcf4b9c
        name:
          description: Name for the job
          type: string
          example: FirmwareUpdate.New
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
          example: 9
        deleteOnComplete:
          description: Automatically delete the job after it reaches the COMPLETE state.
          type: boolean
          example: true
        createdAt:
          description: Time of job creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last job update
          type: string
          format: date-time
        jobTemplate:
          description: ID of the job template this job is using
          type: string
          example: fd54a96c-cabc-42e3-aee3-374a2d009dba
        resource:
          type: object
          title: resource
          description: Reference to the associated resource this job is operating against
          properties:
            id:
              type: string
              example: 744674-N19+8899744674319686
            type:
              type: string
              example: compute-ops-mgmt/server
        jobParams:
          description: Parameters used to define this job
          type: object
          title: jobParams
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
        results:
          description: Results from job execution
          type: object
          title: results
          additionalProperties:
            type: string
        state:
          $ref: '#/components/schemas/jobState'
        resultCode:
          oneOf:
            - description: No result code
              type: 'null'
            - description: Result code representing the outcome of a completed job
              type: string
              enum:
                - SUCCESS
                - FAILURE
        status:
          description: Status message about the job
          type: string
        statusDetails:
          description: Additional information about the job's status
          type:
            - object
            - 'null'
    jobCollection-v1:
      allOf:
        - description: Job Collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/job-v1'
    jobCreate-v1:
      description: Create a job
      type: object
      required:
        - jobTemplate
        - resourceId
        - resourceType
      properties:
        jobTemplate:
          type: string
          description: ID of the job template for this job.
          example: aacfb3e0-6575-4d4f-a711-1ee1ae768407
        resourceType:
          type: string
          description: Type of the resource to run this job on
          example: compute-ops-mgmt/server
        resourceId:
          type: string
          description: Id of the resource to run this job on
          example: 744674-N19+8899744674319686
        jobParams:
          description: Parameters needed to define this job (based on the job schema)
          type: object
          additionalProperties:
            type: string
    jobUpdate-v1:
      description: Job update
      type: object
      properties:
        state:
          description: >-
            New state for the job (currently only Complete or Error is
            supported)
          type: string
          enum:
            - COMPLETE
            - ERROR
        input:
          description: Additional input (optional) for the job
          type: object
          properties:
            stopOnRequest:
              description: >
                Use this optional property to cancel a server group firmware
                update that is in  progress with the Serial update option
                enabled. Updates cannot be cancelled on  servers that have
                started or completed the firmware update and servers that  are
                in a stalled state.
              type: boolean
    job-v1beta3:
      description: Job
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the job given by the system
          type: string
          format: uuid
          example: 2500759c-b7dd-4c68-ab7e-6b644bcf4b9c
        parentJobId:
          description: The identifier of a job which triggered this job
          type:
            - string
            - 'null'
          format: uuid
          example: 284f3b7a-7a17-4f0a-9b40-a51bc887c7d0
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/job
        resourceUri:
          description: URI to the job itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1beta3/jobs/2500759c-b7dd-4c68-ab7e-6b644bcf4b9c
        name:
          description: Name for the job
          type: string
          example: FirmwareUpdate.New
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
          example: 9
        deleteOnComplete:
          description: Automatically delete the job after it reaches the COMPLETE state.
          type: boolean
          example: true
        createdAt:
          description: Time of job creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last job update
          type: string
          format: date-time
        jobTemplateUri:
          description: URI to the job template this job is using
          type: string
          example: >-
            /compute-ops-mgmt/v1beta2/job-templates/fd54a96c-cabc-42e3-aee3-374a2d009dba
        associatedResourceUri:
          description: URI to the resource this job is operating against
          type: string
          example: /compute-ops-mgmt/v1beta2/servers/744674-N19+8899744674319686
        resource:
          type: object
          title: resource
          description: Reference to the resource this job is operating against
          properties:
            resourceUri:
              type: string
              example: /compute-ops-mgmt/v1beta2/servers/744674-N19+8899744674319686
            type:
              type: string
              example: servers
        data:
          description: Data needed for this job
          type: object
          title: data
          example:
            state_reason_message:
              message_id: FWI-100
              message_args:
                - SPP 2022.12.00.00 (19 Dec 2022)
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
        jobParams:
          description: Parameters used to define this job
          type: object
          title: jobParams
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
        results:
          description: Results from job execution
          type: object
          title: results
          additionalProperties:
            type: string
        state:
          $ref: '#/components/schemas/jobState'
        resultCode:
          oneOf:
            - description: No result code
              type: 'null'
            - description: Result code representing the outcome of a completed job
              type: string
              enum:
                - SUCCESS
                - FAILURE
        status:
          description: Status message about the job
          type: string
        statusDetails:
          description: Additional information about the job's status
          type:
            - object
            - 'null'
    jobCollection-v1beta3:
      allOf:
        - description: Job Collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/job-v1beta3'
    jobCreate-v1beta3:
      description: Create a job
      type: object
      required:
        - jobTemplateUri
        - resourceUri
      properties:
        jobTemplateUri:
          type: string
          description: >-
            Identifier of the job template for this job. Supports
            ID(aacfb3e0-6575-4d4f-a711-1ee1ae768407) in addition to
            URI(/compute-ops-mgmt/v1beta3/job-templates/aacfb3e0-6575-4d4f-a711-1ee1ae768407)
          examples:
            - >-
              /compute-ops-mgmt/v1beta3/job-templates/aacfb3e0-6575-4d4f-a711-1ee1ae768407
            - aacfb3e0-6575-4d4f-a711-1ee1ae768407
        resourceUri:
          type: string
          description: Reference to the resource to run this job on
          example: /compute-ops-mgmt/v1beta2/servers/744674-N19+8899744674319686
        data:
          description: Data needed for this job (based on the job schema)
          type: object
          additionalProperties:
            type: string
    jobUpdate-v1beta3:
      description: Job update
      type: object
      properties:
        state:
          description: >-
            New state for the job (currently only Complete or Error is
            supported)
          type: string
          enum:
            - COMPLETE
            - ERROR
        input:
          description: Additional input (optional) for the job
          type: object
          properties:
            stopOnRequest:
              description: >
                Use this optional property to cancel a server group firmware
                update that is in  progress with the Serial update option
                enabled. Updates cannot be cancelled on  servers that have
                started or completed the firmware update and servers that  are
                in a stalled state.
              type: boolean
    job-v1beta2:
      description: Job
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the job given by the system
          type: string
          format: uuid
        parentJobId:
          description: The identifier of a job which triggered this job
          type:
            - string
            - 'null'
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/job
        resourceUri:
          description: URI to the job itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1beta2/jobs/2500759c-b7dd-4c68-ab7e-6b644bcf4b9c
        name:
          description: Name for the job
          type: string
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of job creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last job update
          type: string
          format: date-time
        jobTemplateUri:
          type: string
        associatedResourceUri:
          type: string
        resource:
          type: object
          title: resource
          description: Reference to the resource this job is operating against
          properties:
            resourceUri:
              type: string
            type:
              type: string
        data:
          description: Data needed for this job
          type: object
          title: data
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
        results:
          description: Results from job execution
          type: object
          title: results
          additionalProperties:
            type: string
        state:
          $ref: '#/components/schemas/jobState'
        status:
          type: string
        statusDetails:
          description: Additional information about the jobs status
          type:
            - object
            - 'null'
    jobCollection-v1beta2:
      allOf:
        - description: Job Collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/job-v1beta2'
    jobCreate-v1beta2:
      description: Create a job
      type: object
      required:
        - jobTemplateUri
        - resourceUri
      properties:
        jobTemplateUri:
          description: >-
            Identifier of the job template for this job. Supports
            ID(aacfb3e0-6575-4d4f-a711-1ee1ae768407) in addition to
            URI(/compute-ops-mgmt/v1beta2/job-templates/aacfb3e0-6575-4d4f-a711-1ee1ae768407)
          type: string
          format: uri-reference
          examples:
            - >-
              /compute-ops-mgmt/v1beta2/job-templates/aacfb3e0-6575-4d4f-a711-1ee1ae768407
            - aacfb3e0-6575-4d4f-a711-1ee1ae768407
        resourceUri:
          description: A resource URI that the job will operate on
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1beta2/servers/abc+123
        data:
          description: Any additional data required by this job
          type: object
          additionalProperties:
            type: string
    jobUpdate-v1beta2:
      description: Job update
      type: object
      properties:
        state:
          description: New state for the job (currently only Error is supported)
          type: string
          enum:
            - ERROR
        input:
          description: Additional input (optional) for the job
          type: object
          properties:
            stopOnRequest:
              description: >
                Use this optional property to cancel a server group firmware
                update that is in  progress with the Serial update option
                enabled. Updates cannot be cancelled on  servers that have
                started or completed the firmware update and servers that  are
                in a stalled state.
              type: boolean
    metricsConfigurationAlertResources-v1:
      type: object
      properties:
        id:
          description: Primary identifier for the alerts resource.
          type: string
          format: uuid
          example: a761f080-6448-48c5-d34a-d04f2d489159
        name:
          description: Unique name for the alert resource provided by the user.
          type: string
          example: Production Group
        type:
          description: The type of the resource for which power utilization is calculated.
          type: string
          example: group
    metricsConfigurationResponse-v1:
      description: Metrics data collection configuration response
      type: object
      properties:
        id:
          description: >-
            Primary identifier for the metrics configuration resource given by
            the system.
          type: string
          format: uuid
          readOnly: true
          example: b870f080-6448-48c5-b23a-d04f2d489174
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/metrics-configuration
        resourceUri:
          description: URI to the metrics-configuration itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1/metrics-configurations/b870f080-6448-48c5-b23a-d04f2d489174
        metricsCollection:
          description: >-
            Metrics collection method to indicate if the metrics collection is
            scheduled or generated on demand.
          type: string
          enum:
            - SYSTEM_SCHEDULED
            - ON_DEMAND
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of metrics configuration creation
          type: string
          format: date-time
          example: '2023-07-07T05:51:02.624513+00:00'
        updatedAt:
          description: Time of the metrics configuration update
          type: string
          format: date-time
          example: '2023-07-07T05:51:02.624513+00:00'
        powerThresholdAlerts:
          description: >-
            Boolean to indicate whether power utilization alerts have to be
            enabled or not.
          type: boolean
          default: true
        powerUtilizationThresholdPercentage:
          description: >-
            Threshold value in percentage beyond which power utilization alerts
            will be generated.
          type: integer
          default: 10
        alertResources:
          description: Alerts resources for power utilization alerts
          type: array
          items:
            $ref: '#/components/schemas/metricsConfigurationAlertResources-v1'
    metricsConfigurationCollection-v1:
      allOf:
        - description: Metrics configuration collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/metricsConfigurationResponse-v1'
    metricsConfigurationRequest-v1:
      description: Metrics configuration request
      type: object
      properties:
        metricsCollection:
          description: >-
            Metrics collection method to indicate if the metrics collection is
            scheduled or generated on demand.
          type: string
          enum:
            - SYSTEM_SCHEDULED
            - ON_DEMAND
        powerThresholdAlerts:
          description: >-
            Boolean to indicate whether power utilization alerts have to be
            enabled or not.
          type: boolean
          default: true
        powerUtilizationThresholdPercentage:
          description: >-
            Threshold value in percentage beyond which power utilization alerts
            will be generated.
          type: integer
          default: 10
        alertResources:
          description: Alerts resources for power utilization alerts
          type: array
          items:
            $ref: '#/components/schemas/metricsConfigurationAlertResources-v1'
    oneviewAppliance-v1beta1:
      description: OneView Appliance
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the appliance
          type: string
          format: uuid
          example: 87654321-f71a-43d2-8b93-4c7391b31234
        type:
          description: Type of resource
          type: string
          example: compute-ops-mgmt/oneview-appliance
        ipaddress:
          description: IP address of the appliance
          type: string
          format: ipv4
        device-id:
          description: Primary unique identifier for the appliance
          type: string
          example: oneview+87654321-f71a-43d2-8b93-4c7391b31234
        activationKey:
          description: Key to be used by customers to activate the appliance
          type: string
          example: >-
            ABCDEFGHOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwY2lkIjoiNjg0YTVhMWEyOTU3MTFlZGE1MDF
        applicationCustomerId:
          description: Primary identifier for application customer
          type: string
          format: uuid
        complianceId:
          description: Primary identifier for compliance state entry
          type: string
          format: uuid
        name:
          description: Name of the appliance
          type: string
          example: ci-005056abcdef.com
        complianceLastChecked:
          description: Time of last compliance check being performed
          type: string
          format: date-time
        complianceState:
          description: Compliance state of the appliance
          type: string
          enum:
            - Compliant
            - Not_compliant
            - Unknown
        createdAt:
          description: Time of appliance entry creation
          type: string
          example: '2023-03-01T10:50:33.736935+00:00'
        generation:
          description: Monotonically increasing update counter
          type: integer
          example: 1
        hostname:
          description: Host name of the appliance
          type: string
          example: ci-005056abcdef.com
        lastModified:
          description: Time of the last appliance update
          type: string
          format: date-time
        modelNumber:
          description: Model of the appliance
          type: string
          example: HPE OneView VM - VMware vSphere
        platformCustomerId:
          description: Primary identifier for platform customer
          type: string
          format: uuid
        productId:
          description: Product identifier for the appliance
          type: string
          example: oneview
        state:
          description: Connectivity state of the appliance
          type: string
          enum:
            - connected
            - not activated
            - disconnected
        templateId:
          description: Primary identifier of settings template created using this appliance
          type: string
          format: uuid
        templateName:
          description: Name of the settings template
          type: string
          example: Snmp_template
        updatedAt:
          description: Time of last appliance updated
          type: string
          example: '2023-03-01T11:05:00.554140+00:00'
        version:
          description: Version of the OneView appliance
          type: string
          example: 8.00.00
    oneviewApplianceCollection-v1beta1:
      allOf:
        - description: OneView Appliance collection
        - $ref: '#/components/schemas/resourceCollection2'
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/oneviewAppliance-v1beta1'
    oneviewApplianceAddRequest-v1beta1:
      type: object
      properties:
        id:
          description: Unique identifier of the OneView appliance to be added
          type: string
          format: uuid
          example: 497f6eca-6276-4993-bfeb-53cbbbbaabcd
    oneviewSettingsItemSnmp-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: snmp
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnySnmp-v1beta1'
    oneviewSettingsItemProxy-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: proxy
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnyProxy-v1beta1'
    oneviewSettingsItemUpdates-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: updates
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnyUpdates-v1beta1'
    oneviewSettingsItemSecurity-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: security
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnySecurity-v1beta1'
    oneviewSettingsItemNotifications-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: notifications
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnyNotifications-v1beta1'
    oneviewSettingsItemGlobalSettings-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: globalSettings
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnyGlobalSettings-v1beta1'
    oneviewSettingsItemTimeAndLocale-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: timeAndLocale
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnyTimeAndLocale-v1beta1'
    oneviewSettingsItemRemoteSupport-v1beta1:
      type: object
      properties:
        settingsType:
          description: Type of setting
          type: string
          const: remoteSupport
        settingsValue:
          $ref: '#/components/schemas/oveApplianceSettingsAnyRemoteSupport-v1beta1'
    oveApplianceSettingsAnySnmp-v1beta1:
      type: object
      description: SNMP settings
      properties:
        snmpv3Users:
          type: array
          description: The list of configured SNMPv3 users
          items:
            type: object
            properties:
              id:
                type: string
                description: The user ID
              userName:
                type: string
                description: The user name
              securityLevel:
                type: string
                description: The security level
              privacyProtocol:
                type: string
                description: The SNMPv3 privacy protocol
              authenticationProtocol:
                type: string
                description: The SNMPv3 authentication protocol
        snmpv1TrapDestinations:
          type: array
          description: SNMPv1 trap forwarding destinations
          items:
            type: object
            properties:
              uri:
                type: string
                description: URI of the trap destination
              port:
                type: integer
                description: The trap destination port
              destination:
                type: string
                description: The IP address or host name of the trap destination
              communityString:
                type: string
                description: The community string associated with this trap destination
        snmpv3TrapDestinations:
          description: SNMPv3 trap forwarding destinations
          type: array
          items:
            type: object
            properties:
              uri:
                type: string
                description: URI of the trap destination
              port:
                type: integer
                description: The trap destination port
              userId:
                type: string
                description: The user ID
              userName:
                type: string
                description: The user name
              destinationAddress:
                type: string
                description: The IP address or host name of the trap destination
        snmpv1ReadCommunityString:
          type: string
          description: The device read community string
    oveApplianceSettingsAnyProxy-v1beta1:
      type: object
      description: Proxy settings
      properties:
        port:
          type: integer
          description: Proxy port
        server:
          type: string
          description: Proxy server
        userName:
          type: string
          description: Proxy server's user name
        communicationProtocol:
          type: string
          description: Protocol by which the appliance communicates with the proxy server
    oveApplianceSettingsAnyUpdates-v1beta1:
      type: object
      description: Update settings
      required:
        - state
      properties:
        state:
          type: string
          description: >-
            Enables or disables the scheduled operation to perform check for
            updates
          enum:
            - ENABLED
            - DISABLED
        scheduleDay:
          type: string
          description: >-
            Specifies the day of the week when the check for updates would be
            performed by the scheduled operation
          enum:
            - MONDAY
            - TUESDAY
            - WEDNESDAY
            - THURSDAY
            - FRIDAY
            - SATURDAY
            - SUNDAY
        intervalInWeeks:
          type: integer
          description: >-
            Specifies the frequency in week intervals that the check for updates
            should run
        scheduleTimeUTC:
          type: string
          description: >-
            Specifies the time at which the check for updates would be performed
            by the scheduled operation
          format: hh:mm
        scheduleInterval:
          type: string
          description: >-
            Indicates if the check for updates should be scheduled or only
            performed on demand (manually)
          enum:
            - WEEKLY
            - MANUAL
    oveApplianceSettingsAnySecurity-v1beta1:
      type: object
      description: Security settings
      properties:
        allowSshAccess:
          type: boolean
          description: This setting is to enable or disable SSH access for appliance
        auditLogForwarding:
          type: object
          description: Audit log forwarding settings
          properties:
            forwardingEnabled:
              type: boolean
              description: This setting is to enable or disable audit log forwarding
            remoteDestinations:
              type: array
              description: The remote destinations that log entries are to be forwarded to
              items:
                type: object
                properties:
                  remotePort:
                    type: string
                    description: The remote destination port
                  remoteDestination:
                    type: string
                    description: The IP address or host name of the remote destination host
        productImprovement:
          type: boolean
          description: This setting is to enable or disable product improvement
        enableServiceAccess:
          type: boolean
          description: >-
            This setting is to enable or disable service console access to
            appliance by on-site authorized support representatives
        certValidationConfig:
          type: object
          description: Certificate validation settings
          required:
            - autoDownloadCRL
            - validateCertificate
            - checkCertificateRevocation
          properties:
            autoDownloadCRL:
              type: boolean
              description: >-
                This setting is to enable or disable automatic download of
                certificate revocation list
            validateCertificate:
              type: boolean
              description: This setting is to enable or disable certificate validation
            checkCertificateRevocation:
              type: boolean
              description: >-
                This setting is to enable or disable certificate revocation
                check
        enforceComplexPasswordEnabled:
          type: boolean
          description: This setting is to enable or disable enforcing complex password
        allowLocalLogin:
          type: boolean
          description: This setting is to enable or disable local user authentication.
        twoFactorAuthenticationEnabled:
          type: boolean
          description: This setting is to enable or disable two factor authentication.
        strictTwoFactorAuthentication:
          type: boolean
          description: The setting to enforce strict two factor authentication.
        emergencyLocalLoginEnabled:
          type: boolean
          description: This setting is to enable or disable emergency local login.
        emergencyLocalLoginType:
          type: string
          description: Type of emergency local login.
          enum:
            - APPLIANCE_CONSOLE_ONLY
            - NETWORK_AND_APPLIANCE_CONSOLE
        defaultLoginDomain:
          type: object
          description: The name of the default directory used for authentication.
          required:
            - loginDomain
            - name
          properties:
            loginDomain:
              type: string
              description: Unique identifier of the directory.
            name:
              type: string
              description: Name of the directory.
        directories:
          type: array
          description: List of directories
          items:
            type: object
            required:
              - name
              - orgUnits
              - userNamingAttribute
              - directoryBindingType
              - authProtocol
              - baseDN
              - directoryServers
            properties:
              name:
                type: string
                description: Name of the directory.
              loginDomain:
                type: string
                description: Unique identifier of the directory.
              baseDN:
                type: string
                description: Domain component of Distinguished Name(DN) of Directory user.
              uri:
                type: string
                description: The canonical URI of the resource.
              authProtocol:
                type: string
                description: >-
                  Type of Directory - AD or LDAP. Use AD to denote Microsoft
                  Active Directory and LDAP to denote OpenLDAP based directory.
                enum:
                  - AD
                  - LDAP
              directoryBindingType:
                type: string
                description: >-
                  Directory binding type that identifies the underlying
                  credentials to be used to connect to the enterprise directory.
                enum:
                  - SERVICE_ACCOUNT
                  - USER_ACCOUNT
              userNamingAttribute:
                type: string
                description: User naming attribute used in LDAP schema like CN, UID.
              orgUnits:
                type: array
                description: List of organizational units.
                items:
                  type: string
                  description: >-
                    Organizational units in the directory for locating users or
                    groups.
              authnType:
                type: string
                description: >-
                  Authentication type that denotes the authentication mechanism
                  to the enterprise directory.
                enum:
                  - CREDENTIAL
              credential:
                type: object
                description: User credentials for directory access.
                properties:
                  userName:
                    type: string
                    description: The user name for the directory.
              directoryServers:
                type: array
                description: List of directory servers configuration.
                items:
                  type: object
                  required:
                    - directoryServerCertificateBase64Data
                    - directoryServerIpAddress
                    - directoryServerSSLPortNumber
                  properties:
                    uri:
                      type: string
                      description: The canonical URI of the resource.
                    directoryServerCertificateBase64Data:
                      type: string
                      description: Encrypted content of SSL certificate.
                    sha1Fingerprint:
                      type: string
                      description: Directory server certificate sha1Fingerprint.
                    sha256Fingerprint:
                      type: string
                      description: Directory server certificate sha256Fingerprint.
                    sha384Fingerprint:
                      type: string
                      description: Directory server certificate sha384Fingerprint.
                    directoryServerIpAddress:
                      type: string
                      description: IP address of the directory server.
                    directoryServerSSLPortNumber:
                      type: string
                      description: LDAPS Port number of the directory server.
                    directoryServerCertificateStatus:
                      type: string
                      description: Certificate status.
                    serverStatus:
                      type: string
                      description: Directory server status.
                    validUntil:
                      type: string
                      description: Directory server certificate validity (Date/time).
                    expiresInDays:
                      type: string
                      description: Directory server certificate expiry in days.
        userGroups:
          type: array
          description: >-
            List of all directory group permission assignments across all
            configured directories.
          items:
            type: object
            required:
              - egroup
              - loginDomain
              - permissions
            properties:
              uri:
                type: string
                description: The canonical URI of the resource.
              directoryType:
                type: string
                description: Type of directory - group name.
              loginDomain:
                type: string
                description: The identifier of the directory.
              egroup:
                type: string
                description: The identifier of the directory group by common name.
              permissions:
                type: array
                description: List of permissions assigned to the directory group.
                items:
                  type: object
                  required:
                    - roleName
                  properties:
                    roleName:
                      type: string
                      description: The role name assigned to the group.
                    scopeUri:
                      type: string
                      description: The permission scopeUri.
        loginCertificates:
          type: object
          description: Default login domain.
          required:
            - subjectAlternateNamePatterns
            - certificateDomainIdentifier
            - certificateDomainIdentifierPattern
          properties:
            subjectPatterns:
              type: array
              description: List of Subject pattern.
              items:
                type: string
                description: Unique list of Subject pattern.
            subjectAlternateNamePatterns:
              type: array
              description: List of Subject Alternative Name pattern.
              items:
                type: string
                description: Unique list of Subject Alternate Name pattern.
            certificateDomainIdentifier:
              type: string
              description: Certificate domain identifier.
              enum:
                - ISSUER
                - SUBJECT
                - MANUALLY_SPECIFY
                - SUBJECT_ALTERNATIVE_NAME
            certificateDomainIdentifierPattern:
              type: string
              description: Card certificate domain identifier pattern.
            validationOids:
              type: array
              description: List of validation oids.
              items:
                type: object
                description: List of validation oids maps.
        certificates:
          type: array
          description: List of all configured certificate AuthorityInfo data.
          items:
            type: object
            required:
              - certType
              - expiryDate
              - certificateDetails
            properties:
              uri:
                type: string
                description: The canonical URI of the resource.
              certType:
                type: string
                description: Certificate type.
                enum:
                  - CUSTOM_ROOT
                  - INTERMEDIATE
              subjectName:
                type: string
                description: subject name of certificate.
              expiryDate:
                type: string
                description: expiry Date of certificate.
              certificateDetails:
                type: object
                required:
                  - base64Data
                  - sha256Fingerprint
                  - sha384Fingerprint
                description: Details of the certificate in human-readable format.
                properties:
                  base64Data:
                    type: string
                    description: Encrypted content of the SSL certificate.
                  aliasName:
                    type: string
                    description: Alias Name of the SSL certificate.
                  sha1Fingerprint:
                    type: string
                    description: >-
                      Unique identifier for the certificate encrypted using
                      SHA1.
                  sha256Fingerprint:
                    type: string
                    description: >-
                      Unique identifier for the certificate encrypted using
                      SHA256.
                  sha384Fingerprint:
                    type: string
                    description: >-
                      Unique identifier for the certificate encrypted using
                      SHA384.
    oveApplianceSettingsAnyNotifications-v1beta1:
      type: object
      description: Notification settings
      required:
        - smtpPort
        - smtpServer
        - smtpProtocol
        - senderEmailAddress
      properties:
        smtpPort:
          type: integer
          description: Port number of the SMTP server
        smtpServer:
          type: string
          description: The IP address or host name for SMTP server
        smtpProtocol:
          type: string
          description: Protocol used to connect to the SMTP server
          enum:
            - PLAINTEXT
            - TLS
            - STARTTLS
        alertEmailFilters:
          type: array
          description: List of alert email filters
          items:
            type: object
            required:
              - filterName
            properties:
              emails:
                type: array
                description: List of recipient email addresses to deliver an alert
                items:
                  type: string
              filter:
                type: string
                description: Alert filter query
              disabled:
                type: boolean
                description: Disable the alert email filter
              filterName:
                type: string
                description: Name of the alert email filter
              displayFilter:
                type: string
                description: Alert filter query in user-readable format
              userQueryFilter:
                type: string
                description: Alert filter user query containing free text
              customEmailSenderEnabled:
                type: boolean
                description: >-
                  Flag to indicate whether custom email sender address is
                  enabled for the alert filter
              customSenderEmailAddress:
                type: string
                description: Custom sender email address
              alertCriteria:
                type: string
                description: Criteria for alert email.
                enum:
                  - PRE_DEFINED
                  - GUIDED
                  - ADVANCED
        alertEmailDisabled:
          type: boolean
          description: >-
            Flag to indicate whether email notification is disabled for all
            alert filters
        senderEmailAddress:
          type: string
          description: Sender email address for the email notification
    oveApplianceSettingsAnyGlobalSettings-v1beta1:
      type: object
      description: Global settings
      properties:
        uiSettings:
          type: object
          description: User interface settings
          properties:
            restrictReadAccess:
              type: boolean
              description: >-
                Indicates whether to restrict scope of user interface to read
                access
        storageSettings:
          type: object
          description: Storage settings
          properties:
            storageVolumeTemplateRequired:
              type: boolean
              description: >-
                This setting controls whether or not root volume templates can
                be used to provision volumes
            storageDisableVolumeExtraAccessCheck:
              type: boolean
              description: Extra volume presentations check
        profileBIOSConsistency:
          type: boolean
          description: >-
            Indicates whether the BIOS settings are configured using the server
            profile
        serverManagementProcessorNtpSource:
          type: string
          description: >-
            Configures managed and monitored server hardware devices to use the
            HPE OneView appliance or configured external NTP servers as the NTP
            server.
          enum:
            - APPLIANCE
            - EXTERNAL_NTP_SERVERS
    oveApplianceSettingsAnyTimeAndLocale-v1beta1:
      type: object
      description: Time and locale settings
      properties:
        locale:
          type: string
          description: Contains locale details
        ntpServers:
          type: array
          description: List of NTP servers
          items:
            type: string
        timeSource:
          type: string
          description: Time source for NTP server
          enum:
            - MANUAL
            - SYNCHRONIZE_WITH_TIME_SERVER
        localeDisplayName:
          type: string
          description: Display name of the locale set on the appliance
    oveApplianceSettingsAnyRemoteSupport-v1beta1:
      type: object
      description: Remote support settings
      required:
        - sites
        - contacts
        - configuration
        - channelPartner
      properties:
        sites:
          type: array
          description: List of default sites
          items:
            type: object
            properties:
              uri:
                type: string
                description: URI of the site
              city:
                type: string
                description: City of the site
              name:
                type: string
                description: Name of the site
              default:
                type: boolean
                description: >-
                  Indicates whether the site is the default site for the
                  appliance
              siteKey:
                type: string
                description: The database key for the site
              timeZone:
                type: string
                description: Time zone of the site
              postalCode:
                type: string
                description: Postal code of the site
              countryCode:
                type: string
                description: Country code of the site
              dataCenterId:
                type: string
                description: The data center identifier
              provinceState:
                type: string
                description: Province or state of the site
              streetAddress1:
                type: string
                description: Street address of the site
              streetAddress2:
                type: string
                description: Additional street address information
        contacts:
          type: array
          description: List of contacts
          items:
            type: object
            properties:
              uri:
                type: string
                description: URI of the contact
              email:
                type: string
                description: Email address of the contact
              notes:
                type: string
                description: Additional notes for the contact
              default:
                type: boolean
                description: >-
                  Indicates whether the contact is the default contact for the
                  appliance
              primary:
                type: boolean
                description: Indicates whether the contact is set as the primary contact
              language:
                type: string
                description: Language of the contact
              lastName:
                type: string
                description: Last name of the contact
              firstName:
                type: string
                description: First name of the contact
              contactKey:
                type: string
                description: The database key that identifies this contact
              primaryPhone:
                type: string
                description: The primary phone number for the contact
              inheritedFrom:
                type: string
                description: >-
                  The URI of the resource from which the contact is derived. A
                  null value indicates that the contact is directly associated
                  with the resource.
              alternatePhone:
                type: string
                description: The alternate phone number of the contact
              additionalEmails:
                type: string
                description: >-
                  Additional email addresses of the contact separated by
                  semicolons
              defaultSecondary:
                type: boolean
                description: >-
                  Indicates if the contact is the secondary default for the
                  appliance
        schedule:
          type: array
          description: List of schedule
          items:
            type: object
            properties:
              uri:
                type: string
                description: The uri of the scheduled task
              minute:
                type: integer
                description: The minute of the hour the scheduled task will run
              enabled:
                type: boolean
                description: Indicates whether the schedule is enabled
              taskKey:
                type: string
                description: Internal identifier for a Remote Support task
              dayOfWeek:
                type: integer
                description: The day of the week the scheduled task will run
              hourOfDay:
                type: integer
                description: The hour of the day the scheduled task will run
              dayOfMonth:
                type: integer
                description: The day of the month the scheduled task will run
              serviceName:
                type: string
                description: Identifies which collection service is being used
                enum:
                  - SERVER_BASIC_CONFIGURATION_COLLECTION
                  - ACTIVE_HEALTH_SERVICE_COLLECTION
              repeatOption:
                type: string
                description: The interval options used for schedule tasks
                enum:
                  - BY_MINUTE
                  - DAILY
                  - HOURLY
                  - WEEKLY
                  - MONTHLY
                  - NONE
              scheduleName:
                type: string
                description: >-
                  The schedule that the task is associated with, either Server
                  Basic or AHS.
        configuration:
          type: object
          description: Configuration settings
          properties:
            companyName:
              type: string
              description: The company name
            marketingOptIn:
              type: boolean
              description: >-
                HPE has permission to contact the customer to optimize their
                environment
            autoEnableDevices:
              type: boolean
              description: >-
                When set, newly added devices will automatically be enabled for
                remote support.
            enableRemoteSupport:
              type: boolean
              description: Enable the remote support functionality
        channelPartner:
          type: array
          description: List of channel partners
          items:
            type: object
            properties:
              key:
                type: string
                description: The database key that identifies this channel partner
              uri:
                type: string
                description: The URI of the channel partner
              city:
                type: string
                description: The city of the channel partner
              name:
                type: string
                description: The name of the channel partner
              country:
                type: string
                description: The country of the channel partner
              default:
                type: boolean
                description: >-
                  Indicates whether the channel partner is the default channel
                  partner for the appliance
              partnerId:
                type: string
                description: The ID of the channel partner
              partnerType:
                type: string
                description: The type of the channel partner
                enum:
                  - RESELLER
                  - SUPPORT
              inheritedFrom:
                type: string
                description: >-
                  The URI of the resource from which the channel partner is
                  derived. A null value indicates that the channel partner is
                  directly associated with the resource.
        schedulesTimeZone:
          type: string
          description: The time zone the schedules run in
    oneviewSettingsItem-v1beta1:
      oneOf:
        - $ref: '#/components/schemas/oneviewSettingsItemSnmp-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemProxy-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemUpdates-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemSecurity-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemNotifications-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemGlobalSettings-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemTimeAndLocale-v1beta1'
        - $ref: '#/components/schemas/oneviewSettingsItemRemoteSupport-v1beta1'
      discriminator:
        propertyName: settingsType
        mapping:
          snmp: '#/components/schemas/oneviewSettingsItemSnmp-v1beta1'
          proxy: '#/components/schemas/oneviewSettingsItemProxy-v1beta1'
          updates: '#/components/schemas/oneviewSettingsItemUpdates-v1beta1'
          security: '#/components/schemas/oneviewSettingsItemSecurity-v1beta1'
          notifications: '#/components/schemas/oneviewSettingsItemNotifications-v1beta1'
          globalSettings: '#/components/schemas/oneviewSettingsItemGlobalSettings-v1beta1'
          timeAndLocale: '#/components/schemas/oneviewSettingsItemTimeAndLocale-v1beta1'
          remoteSupport: '#/components/schemas/oneviewSettingsItemRemoteSupport-v1beta1'
    oneviewSettings-v1beta1:
      description: OneView appliance settings
      type: object
      properties:
        applianceId:
          description: Primary identifier for the OneView appliance
          type: string
          example: e32413bb-620a-4c8a-adf4-ac1191c8dbf0
        createdAt:
          description: Time of OneView appliance settings creation
          type: string
          format: date-time
        description:
          description: Description of the OneView appliance settings
          type: string
          example: security settings
        generation:
          description: Monotonically increasing update counter
          type: integer
          example: 1
        id:
          description: >-
            Primary identifier for the OneView appliance settings given by
            system
          type: string
          format: uuid
        name:
          description: Name of OneView appliance settings
          type: string
          example: Security_settings
        resourceUri:
          description: URI to the OneView appliance settings itself (i.e. a self link)
          type: string
          format: uri
          example: >-
            /compute-ops-mgmt/v1beta1/oneview-settings/39147603-0418-4bfa-9e3c-77aa459b84ee
        settings:
          description: Settings which are associated with the appliance
          type: array
          items:
            $ref: '#/components/schemas/oneviewSettingsItem-v1beta1'
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/oneview-setting
        updatedAt:
          description: Time of last OneView appliance settings updated
          type: string
          format: date-time
    oneviewSettingsCollection-v1beta1:
      allOf:
        - description: OneView appliance settings collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - offset
            - count
            - total
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/oneviewSettings-v1beta1'
    oneviewServerTemplate-v1beta1:
      description: OneView Server Template
      type: object
      properties:
        createdAt:
          description: Time of OneView server template creation
          type: string
          format: date-time
        description:
          description: Description of the oneview server template
          type: string
          example: Server profile template
        id:
          description: Primary identifier for the OneView server template given by system
          type: string
          format: uuid
        applianceId:
          description: >-
            Primary identifier for the appliance where OneView server template
            is created
          type: string
          format: uuid
        applianceName:
          description: Name of the appliance where OneView server template is created
          type: string
          example: devcat-dhcp-cent77-53
        name:
          description: Name of OneView server template
          type: string
          example: Server_profile_template
        uri:
          description: URI of the server template in the OneView
          type: string
          format: uri
          example: /rest/server-profile-templates/a56e80bc-6ee4-4414-82e7-36dc7f79a62e
        attributes:
          description: Representation of the OneView server-profile-template REST resource
          type: object
        status:
          description: Health status of the resource
          type: string
          example: OK
        state:
          description: Current state of the resource
          type:
            - string
            - 'null'
        subscription:
          description: Subscription of the source appliance
          type:
            - string
            - 'null'
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/oneview-server-template
        updatedAt:
          description: Time of last server template modified
          type: string
          format: date-time
    serverTemplatesCollection-v1beta1:
      allOf:
        - description: Server templates collection
        - $ref: '#/components/schemas/resourceCollection2'
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/oneviewServerTemplate-v1beta1'
    reportType:
      type: string
      description: >-
        The type of report.  New report types may be added as a backward
        compatible change to the API.
      oneOf:
        - const: CARBON_FOOTPRINT
          deprecated: true
        - const: SERVER_HARDWARE_INVENTORY
    reportStatus:
      type: string
      enum:
        - IN_PROGRESS
        - COMPLETED
        - FAILED
      description: >-
        The current status of report generation, indicating whether a report is
        in progress, completed, or failed
    report-v1beta2:
      type: object
      description: The metadata for a report.
      properties:
        id:
          description: >-
            Primary identifier for the report metadata resource given by the
            system.
          type: string
          format: uuid
          example: 843023bd-9412-46c2-8ac2-a3691f657fdb
        name:
          description: The display name of the report.
          type: string
          example: Carbon Footprint Report (All Servers)
        type:
          description: The type of the resource.
          type: string
          const: compute-ops-mgmt/report
        generation:
          description: Monotonically increasing update counter.
          type: integer
          example: 1
          minimum: 1
        createdAt:
          description: Time of report resource creation.
          type: string
          format: date-time
          example: '2022-02-11T01:04:20.799937+00:00'
        updatedAt:
          description: Time of the last update to the report resource.
          type: string
          format: date-time
          example: '2022-02-11T01:04:20.799937+00:00'
        resourceUri:
          description: URI to the report metadata resource itself (i.e. a self link).
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/reports/843023bd-9412-46c2-8ac2-a3691f657fdb
        reportDataUri:
          description: URI to the data for the report.
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/reports/843023bd-9412-46c2-8ac2-a3691f657fdb/data
        reportType:
          $ref: '#/components/schemas/reportType'
        reportTypeDisplayName:
          description: The display name for the type of the report.
          type: string
          example: Carbon Footprint Report
        deviceIds:
          oneOf:
            - type: array
              description: List of IDs of devices included in the report.
              items:
                type: string
            - type: 'null'
              description: >-
                null is showed in the initial stage right after POST call and
                will be populated with correct details as the call progresses.
          example: 875765-S01+1M512501AB
        reportDataStartAt:
          oneOf:
            - type: string
              description: >-
                Beginning of time range covered by the report. This field is
                applicable only for time series based reports such as
                CARBON_FOOTPRINT.
              format: date-time
            - type: 'null'
              description: >-
                null is showed in the initial stage right after POST call and
                will be populated with correct details as the call progresses.
          example: '2022-02-04T01:04:20+00:00'
        reportDataEndAt:
          oneOf:
            - type: string
              description: >-
                End of time range covered by the report.  This field is
                applicable only for time series based reports such as
                CARBON_FOOTPRINT.
              format: date-time
            - type: 'null'
              description: >-
                Null in case of point in time based reports like
                SERVER_HARDWARE_INVENTORY report.
          example: '2022-02-11T01:04:20+00:00'
        status:
          $ref: '#/components/schemas/reportStatus'
        reportMetadata:
          type: object
          description: Metadata of the report.
          properties:
            associatedResourceName:
              type: string
              description: Name of the resource for which report generation was requested
              example: Demo group
            associatedResourceUri:
              type: string
              description: URI of the resource for which report generation was requested
              example: /compute-ops-mgmt/v1/groups/420372b6-af2e-464d-970d-e9339abfc74f
    reportCollection-v1beta2:
      allOf:
        - description: Paginated collection of report metadata resources.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            items:
              description: Array of resources in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/report-v1beta2'
    reportsRequest-v1beta2:
      description: Report creation request
      type: object
      required:
        - reportType
      properties:
        reportType:
          $ref: '#/components/schemas/reportType'
        reportStartTime:
          description: >-
            Start of time range covered by the report. Applicable for reports
            generated based on metrics data collection setting (ex.
            Sustainability report).
          type: string
          format: date-time
          example: '2022-02-04T01:04:20+00:00'
        reportEndTime:
          description: >-
            End of time range covered by the report. Applicable for reports
            generated based on metrics data collection setting (ex.
            Sustainability report).
          type: string
          format: date-time
          example: '2022-02-11T01:04:20+00:00'
        notifyViaEmail:
          description: >-
            Field to opt for email notification when report creation is
            complete.
          type: boolean
          default: false
        resourceUri:
          type: string
          default: >-
            /compute-ops-mgmt/v1beta1/filters/e7cef8e6-a3f6-4490-b669-136e3ca40617
          description: >
            URI of the resource for which report needs to be generated. This can
            be a filter or group URI.

            By default the value is URI of All servers filter and report will be
            generated for all servers.
          example: /compute-ops-mgmt/v1/groups/420372b6-af2e-464d-970d-e9339abfc74f
    carbonFootprintReportData-v1beta2:
      title: Carbon Footprint Report Data
      description: Content of the report, varies depending on reportType.
      type: object
      required:
        - series
      properties:
        series:
          description: >
            Array of time series data in the report.  Each series contains
            samples for a subject,

            partitioned into a fixed set of buckets for the report.
          type: array
          readOnly: true
          items:
            type: object
            properties:
              name:
                description: The display name for the time series.
                type: string
                readOnly: true
                example: Carbon Emissions
              seriesType:
                description: >
                  The type of the time series.  New series types may be added as
                  a backward compatible

                  change to the API.
                type: string
                readOnly: true
                enum:
                  - CO2_EMISSIONS
                  - ENERGY_CONSUMPTION
                  - ENERGY_COST
              units:
                description: Abbreviation of the units for the values in the time series.
                type: string
                readOnly: true
                example: kgCO2e
              unitsDisplayName:
                description: The units for the values in the time series.
                type: string
                readOnly: true
                example: kilograms of carbon dioxide equivalent
              subject:
                description: The subject of the data in the time series.
                type: object
                readOnly: true
                properties:
                  displayName:
                    description: >-
                      The display name for the subject of the data in the time
                      series.
                    type: string
                    readOnly: true
                    example: 1M512501AB
                  id:
                    description: The ID for the subject of the data in the time series.
                    type: string
                    readOnly: true
                    example: 875765-S01+1M512501AB
                  type:
                    description: The type of the subject of the data in the time series.
                    type: string
                    readOnly: true
                    enum:
                      - SERVER
                      - SERVER_MODEL
                      - SERVER_GENERATION
                      - SERVER_LOCATION
                      - SERVER_PROCESSOR_VENDOR
                      - TOTAL
                  server:
                    description: Server details when type is SERVER.
                    type: object
                    readOnly: true
                    properties:
                      hardware:
                        description: Server hardware details.
                        type: object
                        readOnly: true
                        properties:
                          model:
                            type: string
                            readOnly: true
                            example: ProLiant DL560 Gen11
                      processorVendor:
                        description: Type and brand of processor
                        type: string
                        readOnly: true
                        example: Genuine Intel(R) CPU 0000%@
                      serverGeneration:
                        description: Generation of the server
                        type: string
                        example: GEN_11
                        readOnly: true
                      locationDisplayName:
                        description: Location display name of the server
                        type: string
                        example: Houston, Texas, United States
                        readOnly: true
                  serverCount:
                    description: The count of servers in the subject.
                    type: number
                    readOnly: true
                    example: 1
              summary:
                description: Summary of data in the time series.
                type: object
                readOnly: true
                properties:
                  avg:
                    description: >-
                      The average of all samples in all buckets for the time
                      series.
                    type:
                      - number
                      - 'null'
                    readOnly: true
                    example: 6.4
                  sum:
                    description: The sum of all samples in all buckets for the time series.
                    type:
                      - number
                      - 'null'
                    readOnly: true
                    example: 6.4
              bucketDurationInSec:
                description: The width of each bucket in the time series, in seconds.
                type: number
                readOnly: true
                example: 86961.3
              expectedSamplesPerBucket:
                description: >
                  The number of samples that would be expected to fall into this
                  bucket,

                  if all samples are available for the subject.  May not be a
                  whole number,

                  as samples may be split across buckets to provide more
                  accurate data.
                type: number
                readOnly: true
                example: 289.9
              buckets:
                description: >
                  Array of buckets for the time series.  Each bucket summarizes
                  the available samples for the

                  subject in the time period starting at the timestamp and
                  ending `bucketDurationInSec` seconds later.
                type: array
                readOnly: true
                items:
                  type: object
                  properties:
                    timestamp:
                      description: The start time for the bucket.
                      type: string
                      format: date-time
                      readOnly: true
                    value:
                      description: >
                        The value for this bucket, based on all available
                        samples for the subject in the

                        time range of the bucket.  If no samples are available,
                        the value will be `null`.
                      type:
                        - number
                        - 'null'
                      readOnly: true
                      example: 6.4
                    numSamples:
                      description: >
                        The number of samples that contributed to the bucket. 
                        May not be a whole number,

                        as samples may be split across buckets to provide more
                        accurate data.
                      type: number
                      example: 233
                      readOnly: true
                    noValueReason:
                      description: >
                        If no samples are available for the bucket, the reason
                        that no data is available.

                        Exactly one of `value` and `noValueReason` will be
                        non-null for each bucket.
                      oneOf:
                        - description: A value is available for the bucket.
                          type:
                            - 'null'
                        - description: >-
                            The subject of the series was not connected at the
                            time of the report data collection.
                          const: NOT_CONNECTED
                          type: string
                        - description: >
                            The subject of the series did not have a
                            subscription at the time of the report data
                            collection.
                          const: SUBSCRIPTION_REQ
                          type: string
                        - description: >
                            The subscription for the subject of the series was
                            expired at the time of the report data

                            collection.
                          const: SUBSCRIPTION_EXPIRED
                          type: string
                        - description: >-
                            The subscription tier for the subject of the series
                            at the time of the report data collection was not
                            sufficient to allow data to be collected.
                          const: SUBSCRIPTION_TIER
                          type: string
                        - description: >-
                            A communications error occurred communicating with
                            the subject of the series.
                          const: ILO_COMM_ERROR
                          type: string
                        - description: >-
                            An internal error occurred collecting data from the
                            subject of the series.
                          const: INTERNAL_ERROR
                          type: string
                        - description: >-
                            The subject of the series requires a firmware update
                            to enable data to be collected.
                          const: ILO_VERSION
                          type: string
                        - description: >-
                            The subject of the series has no support for power
                            metering, or it is disabled.
                          const: NO_POWER_METERING
                          type: string
                        - description: >-
                            The reason no samples were available for the bucket
                            is not known.
                          const: UNKNOWN
                          type: string
                      example: null
                    extrapolated:
                      description: >
                        The value of this bucket, divided by the number of
                        samples and multiplied by the expected number of

                        samples.  If less than the "expected" number of samples
                        are available for the bucket, this value may

                        be considered a rough approximation of the value if all
                        expected samples were available.
                      type:
                        - number
                        - 'null'
                      readOnly: true
                      example: 8
    serverInventoryReportDataItem-v1beta2:
      type: object
      properties:
        name:
          description: Display name of the server.
          type: string
          example: linux
        serial:
          description: Serial number of the server.
          type: string
          example: MXQ1000017
        model:
          description: Server model.
          type: string
          example: ProLiant DL365 Gen11
        processorCount:
          description: Number of processors available in the server.
          type: number
          example: 1
        memoryInGB:
          description: Memory available in the server.
          type: number
          example: 262144
        driveCount:
          description: Number of drives available in the server.
          type: number
          example: 12
        deviceCount:
          description: Number of devices available in the server.
          type: number
          example: 4
        powerSupplyCount:
          description: Number of power supplies available in the server.
          type: number
          example: 1
        fanCount:
          description: Number of fans available in the server.
          type: number
          example: 12
        management:
          description: iLO management version of the server.
          type: string
          example: iLO 6
        formFactor:
          description: Form factor of the server chassis.
          type: string
          example: 1U
        noValueReason:
          description: >
            If no inventory data is available for the server, the reason for it
            will be displayed in this attribute.
          oneOf:
            - description: Inventory data is available for the server.
              type:
                - 'null'
            - description: >-
                The server was not connected at the time of the report data
                collection.
              const: NOT_CONNECTED
              type: string
            - description: >-
                The server did not have a subscription at the time of the report
                data collection.
              const: SUBSCRIPTION_REQ
              type: string
            - description: >-
                The subscription for the server was expired at the time of the
                report data collection.
              const: SUBSCRIPTION_EXPIRED
              type: string
            - description: >-
                The subscription tier for the server was not sufficient to allow
                data to be collected.
              const: SUBSCRIPTION_TIER
              type: string
            - description: A communications error occurred communicating with the server.
              const: ILO_COMM_ERROR
              type: string
            - description: >-
                An internal error occurred while collecting data from the
                server.
              const: INTERNAL_ERROR
              type: string
            - description: >-
                The report data collected may not be current as the server was
                in powered off state at the time of the report data collection.
              const: PARTIAL_INVENTORY
              type: string
            - description: The reason for unavailability of the inventory data is unknown.
              const: UNKNOWN
              type: string
          example: null
        id:
          description: >-
            Device ID of the device which is a combination of product ID and
            serial number.
          type: string
          example: PDL365-G11+MXQ1000017
    serverHardwareInventoryReportData-v1beta2:
      title: Server Hardware Inventory Report Data
      description: Content of the report, varies depending on reportType.
      type: object
      required:
        - columns
        - rows
      properties:
        columns:
          type: array
          description: >
            Array of all the attributes with property name that will be
            generated in the report.
          items:
            type: object
            properties:
              header:
                description: The column name that will be displayed in UI.
                type: string
                readOnly: true
                example: Server Name
              propertyName:
                description: The property name corresponding to the header attribute.
                type: string
                readOnly: true
                example: name
        rows:
          allOf:
            - description: A collection of inventory details of all the servers.
            - type: object
            - $ref: '#/components/schemas/resourceCollection2'
            - required:
                - count
                - offset
                - total
                - serverCount
                - items
              properties:
                serverCount:
                  type: integer
                  description: >-
                    Total number of servers in the collection that match the
                    filter query
                  example: 12
                items:
                  description: Array of resources in the page of the collection.
                  type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryReportDataItem-v1beta2'
    reportData-v1beta2:
      type: object
      description: The data for a report.
      properties:
        id:
          description: >-
            Primary identifier for the report metadata resource given by the
            system.
          type: string
          format: uuid
          example: 843023bd-9412-46c2-8ac2-a3691f657fdb
        type:
          description: The type of the resource.
          type: string
          const: compute-ops-mgmt/report-data
        name:
          description: The display name of the report.
          type: string
          example: Carbon Footprint Report (All Servers)
        request:
          type: object
          description: Information about the requested report data.
          properties:
            reportDataStartAt:
              description: >-
                Beginning of time range covered by the report. This field is
                applicable only for time series based reports such as
                CARBON_FOOTPRINT.
              type: string
              format: date-time
              example: '2022-02-04T01:04:20+00:00'
            reportDataEndAt:
              description: >-
                End of time range covered by the report.  This field is
                applicable only for time series based reports such as
                CARBON_FOOTPRINT.
              type: string
              format: date-time
              example: '2022-02-11T01:04:20+00:00'
            reportType:
              type: string
              description: >-
                The type of report.  New report types may be added as a backward
                compatible change to the API.
              enum:
                - CARBON_FOOTPRINT
                - SERVER_HARDWARE_INVENTORY
            groupBy:
              type: string
              description: >-
                Displays the parameter with which the report is grouped.  This
                field is applicable only for SERVER_HARDWARE_INVENTORY report.
        groupingName:
          type: string
          description: >-
            Specifies the groupby attribute. This field is applicable only for
            SERVER_HARDWARE_INVENTORY report
        data:
          oneOf:
            - $ref: '#/components/schemas/carbonFootprintReportData-v1beta2'
            - $ref: '#/components/schemas/serverHardwareInventoryReportData-v1beta2'
    scheduleRESTOperationPatch-v1beta2:
      type: object
      description: A scheduled REST request operation.
      allOf:
        - $ref: '#/components/schemas/scheduleBaseOperation-v1beta2'
        - type: object
          properties:
            method:
              description: HTTP method for the request.
              type: string
              readOnly: true
              enum:
                - DELETE
                - GET
                - HEAD
                - OPTIONS
                - PATCH
                - POST
                - PUT
                - TRACE
              example: POST
            uri:
              description: Relative URI for the request.
              type: string
              format: uri-reference
              readOnly: true
              maxLength: 128
              example: /compute-ops-mgmt/v1beta3/jobs
            headers:
              description: HTTP request headers for the request.
              type: object
              readOnly: false
              additionalProperties:
                type:
                  - string
                  - 'null'
                maxLength: 256
              propertyNames:
                minLength: 1
                maxLength: 128
                pattern: ^[0-9a-zA-Z!#$%&'*+.^_`|~-]+$
              maxProperties: 32
              example:
                Accept-Language: en
            query:
              description: Query parameters for the request.
              type: object
              readOnly: false
              additionalProperties:
                type:
                  - string
                  - 'null'
                maxLength: 256
              propertyNames:
                maxLength: 128
              maxProperties: 32
              example:
                force: 'true'
            body:
              description: HTTP request body JSON, for request methods that accept a body.
              type:
                - 'null'
                - boolean
                - object
                - array
                - number
                - string
              readOnly: false
    scheduleBaseOperation-v1beta2:
      type: object
      description: Base for any scheduled operation type.
      properties:
        type:
          type: string
          description: The type of the operation executed by the schedule.
          example: REST
        timeoutInSec:
          type: number
          description: >-
            Timeout for the operation. If the operation takes longer, it will be
            aborted.
          default: 20
          exclusiveMinimum: 0
          maximum: 60
    scheduleOperationPatch-v1beta2:
      type: object
      description: A PATCH request on the action triggered by the schedule.
      oneOf:
        - $ref: '#/components/schemas/scheduleRESTOperationPatch-v1beta2'
      discriminator:
        propertyName: type
        mapping:
          REST: '#/components/schemas/scheduleRESTOperationPatch-v1beta2'
      readOnly: false
    scheduleRESTHistory-v1beta2:
      type: object
      description: The result of a scheduled REST operation.
      readOnly: true
      required:
        - status
        - headers
      allOf:
        - $ref: '#/components/schemas/scheduleBaseHistory-v1beta2'
        - type: object
          properties:
            status:
              description: >-
                HTTP status code of the response, or `null` if there was an
                error without a status code.
              type:
                - integer
                - 'null'
              example: 200
            headers:
              description: The HTTP response headers.
              type: object
              additionalProperties:
                type: string
              example:
                Location: /api/compute/v1/jobs/01b7269f-d2c4-4da8-a66a-4675ef5787d1
            body:
              description: The JSON payload from the body of the response.
              type:
                - 'null'
                - boolean
                - object
                - array
                - number
                - string
    scheduleBaseHistory-v1beta2:
      type: object
      description: Base for the result of any scheduled operation type.
      readOnly: true
      required:
        - operationType
        - type
        - id
        - resourceUri
        - scheduleId
        - scheduleUri
        - startedAt
        - succeeded
        - summary
        - debugId
        - durationInSec
        - generation
        - createdAt
        - updatedAt
      properties:
        operationType:
          type: string
          description: The type of operation that was executed.
          example: REST
        type:
          type: string
          description: The type of the resource.
          const: compute-ops-mgmt/schedule/history
        id:
          description: A unique identifier for the execution of the schedule.
          type: string
          format: uuid
          example: b7bac910-fec8-4907-ab78-f42b499d9041
        resourceUri:
          description: The URI of the history resource.
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/schedules/37f66ae4-20a1-48f1-b552-b515457639ca/history/b7bac910-fec8-4907-ab78-f42b499d9041
        scheduleId:
          description: The ID of the schedule resource that owns the history resource.
          type: string
          format: uuid
          example: 37f66ae4-20a1-48f1-b552-b515457639ca
        scheduleUri:
          description: The URI of the schedule resource that owns the history resource.
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta2/schedules/37f66ae4-20a1-48f1-b552-b515457639ca
        startedAt:
          description: The time the execution of the schedule started.
          type: string
          format: date-time
          example: '2022-02-14T04:35:00.051732+00:00'
        succeeded:
          description: >-
            `true` if the operation was successful, e.g. if the REST request
            received a 2xx response.
          type: boolean
          example: true
        summary:
          description: >-
            A Human readable summary, e.g. for a REST request, the HTTP status
            line or short connection error.
          type: string
          example: OK
        debugId:
          description: >-
            A unique identifier for the execution of the schedule, to be used to
            help with troubleshooting.
          type: string
          example: 13628947084908729803 14233605946314091555
        durationInSec:
          description: Amount of time between the operation took to complete.
          type: number
          example: 0.035
        generation:
          description: >-
            Monotonically increasing update counter. Since history resources are
            immutable, the value is always 1.
          type: integer
          const: 1
        createdAt:
          description: Time of history resource creation.
          type: string
          format: date-time
          example: '2022-02-14T04:35:00.051732+00:00'
        updatedAt:
          description: Time of the last update to the history resource.
          type: string
          format: date-time
          example: '2022-02-14T04:35:00.051732+00:00'
    scheduleHistory-v1beta2:
      type: object
      description: A record of a past execution of the schedule.
      oneOf:
        - $ref: '#/components/schemas/scheduleRESTHistory-v1beta2'
      discriminator:
        propertyName: operationType
        mapping:
          REST: '#/components/schemas/scheduleRESTHistory-v1beta2'
      readOnly: true
    schedulePatch-v1beta2:
      type: object
      description: A PATCH request on a schedule resource.
      properties:
        id:
          description: Primary identifier for the schedule resource given by the system.
          type: string
          format: uuid
          readOnly: true
          example: 37f66ae4-20a1-48f1-b552-b515457639ca
        type:
          description: The type of the resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/schedule
        generation:
          description: Monotonically increasing update counter.
          type: integer
          readOnly: true
          example: 1
          minimum: 1
        createdAt:
          description: Time of schedule resource creation.
          type: string
          format: date-time
          readOnly: true
          example: '2022-02-11T01:04:20.799937+00:00'
        updatedAt:
          description: Time of the last update to the schedule resource.
          type: string
          format: date-time
          readOnly: true
          example: '2022-02-11T01:04:20.799937+00:00'
        resourceUri:
          description: URI to the schedule resource itself (i.e. a self link).
          type: string
          format: uri-reference
          readOnly: true
          example: >-
            /compute-ops-mgmt/v1beta2/schedules/37f66ae4-20a1-48f1-b552-b515457639ca
        historyUri:
          description: URI of collection of history entries for the schedule.
          type: string
          format: uri-reference
          readOnly: true
          example: >-
            /compute-ops-mgmt/v1beta2/schedules/37f66ae4-20a1-48f1-b552-b515457639ca/history
        name:
          description: >-
            The display name of the schedule. Note that multiple schedules can
            have the same name, so schedules should likely always also be
            displayed with their start time.
          type: string
          readOnly: false
          minLength: 1
          maxLength: 100
        description:
          description: A longer description of the schedule provided by the client.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 10000
        purpose:
          description: A machine-readable category for the schedule.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 64
        associatedResourceUri:
          description: >-
            Another compute-ops resource the schedule is associated with. If the
            resource associated with a schedule is deleted, the schedule is also
            deleted.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 128
          example: /compute-ops/v1beta2/groups/cad23390-5209-43d1-b38d-bc96258b47e5
        schedule:
          description: When to execute the scheduled operation.
          type: object
          readOnly: false
          properties:
            startAt:
              description: >-
                For a one-time schedule, the time the schedule should be
                executed. For a fixed interval schedule, the time the schedule
                should first be executed. The start must be within a year of the
                current time.
              type: string
              format: date-time
              readOnly: false
              example: '2022-02-14T04:35:00.000000+00:00'
            interval:
              description: >-
                How long between successive executions for a recurring schedule,
                or `null` for a one-time schedule. PT15M < `interval` < P1Y
              type:
                - string
                - 'null'
              format: duration
              readOnly: false
              example: P7D
        nextStartAt:
          description: >-
            The time the operation is scheduled to execute next, or `null` if no
            future executions are scheduled.
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
          example: '2022-02-14T04:35:00.000000+00:00'
        operation:
          $ref: '#/components/schemas/scheduleOperationPatch-v1beta2'
        lastRun:
          description: >-
            The most recent execution of the schedule, or `null` if the schedule
            has not yet executed.
          oneOf:
            - $ref: '#/components/schemas/scheduleHistory-v1beta2'
            - type:
                - 'null'
          readOnly: true
    scheduleRESTOperation-v1beta2:
      type: object
      description: A scheduled REST request operation.
      allOf:
        - $ref: '#/components/schemas/scheduleRESTOperationPost-v1beta2'
      required:
        - type
        - method
        - uri
      properties:
        headers:
          additionalProperties:
            type: string
            maxLength: 256
          default: {}
        query:
          additionalProperties:
            type: string
            maxLength: 256
          default: {}
        method:
          readOnly: false
          example: POST
        uri:
          readOnly: false
          example: /compute-ops-mgmt/v1beta3/jobs
        body:
          default: null
    scheduleRESTOperationPost-v1beta2:
      type: object
      description: A scheduled REST request operation.
      allOf:
        - $ref: '#/components/schemas/scheduleBaseOperation-v1beta2'
        - type: object
          properties:
            method:
              description: HTTP method for the request.
              type: string
              enum:
                - DELETE
                - GET
                - HEAD
                - OPTIONS
                - PATCH
                - POST
                - PUT
                - TRACE
              example: POST
            uri:
              description: Relative URI for the request.
              type: string
              format: uri-reference
              maxLength: 128
              example: /compute-ops-mgmt/v1beta3/jobs
            headers:
              description: HTTP request headers for the request.
              type: object
              readOnly: false
              additionalProperties:
                type:
                  - string
                  - 'null'
                maxLength: 256
              propertyNames:
                minLength: 1
                maxLength: 128
                pattern: ^[0-9a-zA-Z!#$%&'*+.^_`|~-]+$
              maxProperties: 32
              example:
                Accept-Language: en
            query:
              description: Query parameters for the request.
              type: object
              readOnly: false
              additionalProperties:
                type:
                  - string
                  - 'null'
                maxLength: 256
              propertyNames:
                maxLength: 128
              maxProperties: 32
              example:
                force: 'true'
            body:
              description: HTTP request body JSON, for request methods that accept a body.
              type:
                - 'null'
                - boolean
                - object
                - array
                - number
                - string
              readOnly: false
    scheduleOperation-v1beta2:
      type: object
      description: The action executed by the schedule.
      oneOf:
        - $ref: '#/components/schemas/scheduleRESTOperation-v1beta2'
      discriminator:
        propertyName: type
        mapping:
          REST: '#/components/schemas/scheduleRESTOperation-v1beta2'
      readOnly: false
    schedule-v1beta2:
      type: object
      description: A resource that represents a scheduled operation.
      allOf:
        - $ref: '#/components/schemas/schedulePatch-v1beta2'
      required:
        - id
        - type
        - name
        - schedule
        - operation
      properties:
        schedule:
          required:
            - startAt
          properties:
            interval:
              default: null
        operation:
          $ref: '#/components/schemas/scheduleOperation-v1beta2'
        description:
          default: null
        purpose:
          default: null
        associatedResourceUri:
          default: null
    scheduleCollection-v1beta2:
      allOf:
        - description: Paginated collection of schedule resources.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            items:
              description: Array of schedule resources in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/schedule-v1beta2'
    scheduleOperationPost-v1beta2:
      type: object
      description: A POST request on the action triggered by the schedule.
      oneOf:
        - $ref: '#/components/schemas/scheduleRESTOperationPost-v1beta2'
      discriminator:
        propertyName: type
        mapping:
          REST: '#/components/schemas/scheduleRESTOperationPost-v1beta2'
      readOnly: false
    schedulePost-v1beta2:
      type: object
      description: A POST request on a schedule resource.
      properties:
        name:
          description: >-
            The display name of the schedule. Note that multiple schedules can
            have the same name, so schedules should likely always also be
            displayed with their start time.
          type: string
          readOnly: false
          minLength: 1
          maxLength: 100
        description:
          description: A longer description of the schedule provided by the client.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 10000
        purpose:
          description: A machine-readable category for the schedule.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 64
        associatedResourceUri:
          description: >-
            Another compute-ops resource the schedule is associated with. If the
            resource associated with a schedule is deleted, the schedule is also
            deleted.
          type:
            - string
            - 'null'
          readOnly: false
          maxLength: 128
          example: /compute-ops/v1beta2/groups/cad23390-5209-43d1-b38d-bc96258b47e5
        schedule:
          description: When to execute the scheduled operation.
          type: object
          readOnly: false
          properties:
            startAt:
              description: >-
                For a one-time schedule, the time the schedule should be
                executed. For a fixed interval schedule, the time the schedule
                should first be executed. The start must be within a year of the
                current time.
              type: string
              format: date-time
              readOnly: false
              example: '2022-02-14T04:35:00.000000+00:00'
            interval:
              description: >-
                How long between successive executions for a recurring schedule,
                or `null` for a one-time schedule. PT15M < `interval` < P1Y
              type:
                - string
                - 'null'
              format: duration
              readOnly: false
              example: P7D
        operation:
          $ref: '#/components/schemas/scheduleOperationPost-v1beta2'
    scheduleHistoryCollection-v1beta2:
      allOf:
        - description: Paginated collection of schedule history entries.
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            items:
              description: Array of history entires in the page of the collection.
              type: array
              items:
                $ref: '#/components/schemas/scheduleHistory-v1beta2'
    serverLocationResponse-v1beta1:
      description: Server location
      type: object
      properties:
        id:
          description: Unique server-location identifier.
          type: string
          example: 36e00ac2-16fb-4dd5-8495-7e6df82fc15e
          format: uuid
        type:
          description: The type of the resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/server-location
        generation:
          description: Monotonically increasing update counter.
          type: integer
          example: 1
        createdAt:
          description: Time of the server-location's creation in UTC.
          type: string
          format: date-time
          example: '2023-12-25T01:04:21.799937+00:00'
        updatedAt:
          description: Time of the server-location's last update in UTC.
          type: string
          format: date-time
          example: '2023-12-25T01:06:30.799489+00:00'
        resourceUri:
          description: The URI of this resource.
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/server-locations/b870f080-6448-48c5-b23a-d04f2d489174
        servers:
          description: List of ids of servers assigned to server-location
          type: array
          items:
            type: string
            format: productId+serialNumber
          example:
            - 177751-Y66+89177751666
            - 320888-H80+89320888180
    assignServerLocationRequest-v1beta1:
      required:
        - servers
      description: Location assignment request body
      type: object
      properties:
        servers:
          description: List of server ids to assign location
          type: array
          items:
            type: string
            format: productId+serialNumber
          example:
            - 177751-Y66+89177751666
            - 320888-H80+89320888180
    serverSettingsResponseNoSetting-v1beta1:
      description: Server setting
      type: object
      required:
        - id
        - type
        - name
        - category
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the server-settings given by the system
          type: string
          format: uuid
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the server-settings item
          type: string
        description:
          maxLength: 10000
          description: Server settings description
          type:
            - string
            - 'null'
        category:
          description: >
            The category to which the settings data applies.


            The available server settings categories are:

            * BIOS - BIOS configuration

            * EXTERNAL_STORAGE - storage configured in HPE GreenLake for Data
            Services Cloud Console (DSCC)

            * FIRMWARE - firmware configuration

            * ILO - iLO security configuration

            * OS - operating system

            * STORAGE - internal storage configuration
          type: string
          enum:
            - FIRMWARE
            - BIOS
            - STORAGE
            - OS
            - EXTERNAL_STORAGE
            - ILO
        platformFamily:
          description: >-
            Server platform family to which this server setting applies. There
            are no restrictions for server settings and all supported server
            types are allowed. This optional attribute will be set to a default
            value of "ANY", to indicate that any server platform family can be
            in the group(s) which are associated with this server setting,
            regardless of the value passed in.
          type:
            - string
          enum:
            - ANY
            - PROLIANT
          default: ANY
        settings:
          description: Configuration data corresponding to the specified category
          type: object
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        resourceUri:
          description: URI to the server-settings itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops/v1beta1/server-settings/a2fdaf7a-4933-4c47-bfe0-891f0a83dc6e
        type:
          description: Type of the resource
          type: string
          const: compute-ops/server-setting
        createdAt:
          description: Time of server-settings creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last server-settings update
          type: string
          format: date-time
    serverSettingFirmware-v1beta1:
      type: object
      title: FIRMWARE server setting
      description: Settings for `FIRMWARE` category
      required:
        - id
      properties:
        id:
          description: Firmware bundle ID
          type: string
          example: a9383ef62e362a0072b2947c923ba257
    serverSettingBIOS-v1beta1:
      type: object
      title: BIOS server setting
      description: >
        Settings for `BIOS` category


        Settings that specify how servers in HPE Compute Ops Management (COM)
        configure their BIOS.


        **Example Configurations**


        1. Configure all servers with a 'GeneralPowerEfficientCompute' Workload
        Profile and name 'Luke' their administrator.

        ```

        {
          "redfishData": {
            "Attributes": {
              "AdminName": "Luke",
              "WorkloadProfile": "GeneralPowerEfficientCompute"
            }
          }
        }

        ```

        2. Configure a 'vRAN' workload profile, and then apply a 'Custom'
        Workload Profile to override its 'EnergyEfficientTurbo' attribute.

        ```

        {
          "enableCustomWorkloadProfile": true,
          "redfishData": {
            "Attributes": {
              "WorkloadProfile": "vRAN",
              "EnergyEfficientTurbo": "Enabled"
            }
          }
        }

        ```
      properties:
        enableCustomWorkloadProfile:
          type: boolean
          title: Use 'Custom' WorkloadProfile for final configuration
          description: >-
            Initially configure with the WorkloadProfile defined in
            'Attributes', then restart the device and configure all 'Attributes'
            with the 'Custom' workload profile.  Default is 'false'.
        redfishData:
          type: object
          title: DMTF Redfish® BIOS Schema Data
          description: >-
            Schema data for the BIOS subsystem as defined by the DMTF Redfish®
            standard.
          properties:
            Attributes:
              type: object
              title: BIOS Attributes
              description: >-
                A collection of BIOS attributes and their requested values.  For
                HPE devices, these are documented at
                https://servermanagementportal.ext.hpe.com/docs/redfishservices/
                under the 'Bios' Resource definition of the corresponding iLO
                reference document.
              example:
                AdminName: Luke
                WorkloadProfile: GeneralPowerEfficientCompute
    serverSettingMultiVolumeStorage-v1beta1:
      type: object
      title: Multiple volume STORAGE server setting
      description: >-
        Settings for `STORAGE` category containing one or more expected volume
        definitions for a server.
      properties:
        volumes:
          type: array
          description: >-
            Array containing one or more volume definitions to be configured
            upon applying the settings to a server.
          items:
            type: object
            description: Server settings volume definition.
            required:
              - raidType
            properties:
              id:
                type:
                  - string
                  - 'null'
                format: uuid
                description: >-
                  UUID identifying a specific volume on the server setting. Used
                  while applying server settings to distinguish volume
                  definitions from one another. If the id is not provided, one
                  will be generated automatically when the server setting is
                  created.
              raidType:
                type: string
                enum:
                  - RAID0
                  - RAID1
                  - RAID1_TRIPLE
                  - RAID10
                  - RAID10_TRIPLE
                  - RAID5
                  - RAID50
                  - RAID6
                  - RAID60
                description: The RAID type of the storage volume.
                example: RAID0
              capacityInGiB:
                type:
                  - integer
                  - 'null'
                description: >-
                  The size of the volume specified in GiB. A null value
                  indicates that the entire capacity of the drives included in
                  the volume will be used.
                example: 100
              driveCount:
                type:
                  - integer
                  - 'null'
                description: >-
                  The number of drives to be included within the volume. A null
                  value indicates that the fewest number of drives supported by
                  the raidType will be used.
                example: 2
              spareDriveCount:
                type:
                  - integer
                  - 'null'
                description: >-
                  The number of spare drives to be configured alongside the
                  volume.
                example: 1
              driveTechnology:
                type:
                  - string
                  - 'null'
                enum:
                  - SAS_HDD
                  - SAS_SSD
                  - SATA_HDD
                  - SATA_SSD
                  - NVME_SSD
                description: >-
                  The media type of the drives to be used when creating the
                  volume. A null value inidcates that the first media type found
                  which fulfils the drive count requirement will be used.
                example: NVME_SSD
              ioPerfModeEnabled:
                type:
                  - boolean
                  - 'null'
                description: >-
                  The value for the volume ioPerfModeEnabled attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
              writeCachePolicy:
                type:
                  - string
                  - 'null'
                enum:
                  - PROTECTED_WRITE_BACK
                  - UNPROTECTED_WRITE_BACK
                  - WRITE_THROUGH
                  - 'OFF'
                description: >-
                  The value for the volume writeCachePolicy attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
                example: WRITE_THROUGH
              readCachePolicy:
                type:
                  - string
                  - 'null'
                enum:
                  - READ_AHEAD
                  - ADAPTIVE_READ_AHEAD
                  - 'OFF'
                description: >-
                  The value for the volume readCachePolicy attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
                example: 'OFF'
    serverSettingSingleVolumeStorage-v1beta1:
      type: object
      title: Single volume STORAGE server setting
      description: Settings for `STORAGE` category
      required:
        - raidType
        - volumeSizeInGB
      properties:
        raidType:
          type: string
          enum:
            - RAID0
            - RAID1
            - RAID5
          description: Select the RAID type for the storage volume.
          example: RAID0
        volumeSizeInGB:
          type: number
          description: >-
            It must be a number >0 or -1, where -1 indicates to use the entire
            disk.
          example: 100
    serverSettingOS-v1beta1:
      type: object
      title: OS image server setting
      description: Settings for `OS` category
      required:
        - osType
        - mediaUrl
      properties:
        osType:
          type: string
          enum:
            - MICROSOFT_WINDOWS
            - VMWARE_ESXI
            - RHEL
            - SUSE_LINUX
            - UBUNTU_LINUX
            - CUSTOM
            - ORACLE_LINUX
            - ROCKY_LINUX
            - CENTOS_LINUX
          description: Select the Operating System Image.
          example: MICROSOFT_WINDOWS
        mediaUrl:
          type: string
          description: Enter the full URL location of the ISO file for the OS image.
        unattendedInstallationFileUrl:
          type: string
          description: >-
            Enter the full URL location of the ISO file for unattended
            installation file.
        imageToMountOnCD:
          type: string
          enum:
            - OS_IMAGE
            - UNATTENDED_INSTALLATION_FILE_IMAGE
          description: >-
            Select the Image to be mounted on cdRom, OS_IMAGE will be the
            default value.
    serverSettingExternalStorage-v1beta1:
      type: object
      title: EXTERNAL_STORAGE server setting
      description: >
        Settings for `EXTERNAL_STORAGE` category


        Settings that specify how servers in HPE Compute Ops Management (COM)
        can utilize external storage resources that are managed within HPE
        GreenLake for Data Services Cloud Console (DSCC)'s Data Ops Manager
        (DOM).


        Mapping of the terms used between COM and DSCC:

        | COM            | DSCC         |

        |----------------|--------------|

        | adapter port   | initiator    |

        | server         | host         |

        | server group   | host group   |
      required:
        - externalStorageHostOs
      properties:
        externalStorageHostOs:
          $ref: '#/components/schemas/externalStorageHostOS'
          description: >-
            Specify the operating system type to use when configuring Data
            Services Cloud Console hosts.
          example: WINDOWS_SERVER
    serverSettingILO-v1beta1:
      type: object
      title: ILO server setting
      description: Settings for `ILO` category
      required:
        - Attributes
      properties:
        Attributes:
          type: object
          description: >-
            Below are the attributes that make up the iLO Settings payload.
            Currently, the ILO Settings cannot be modified. To learn more about
            each, go through the ILO documentation
          properties:
            '1':
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                VSPLogDownloadEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables download of the
                    downloadable Virtual Serial Port (VSP) log.
                  default: false
                IdleConnectionTimeoutMinutes:
                  type: integer
                  description: >-
                    This setting specifies how long a user can be inactive
                    before an iLO web interface ends automatically.
                  default: 30
                RIBCLEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables RIBCL for the management
                    processor. The management processor will require reset when
                    this field is modified.
                  default: true
                iLORBSUEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables the iLO Configuration
                    Utility.
                  default: true
                WebGuiEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables WEB GUI access for the
                    management processor. The management processor will require
                    reset when this field is modified.
                  default: true
                RemoteConsoleThumbnailEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables the accessibility of
                    remote console thumbnail image in iLO. Disabling this
                    property will not disable remote console feature.
                  default: true
                RequireHostAuthentication:
                  type: boolean
                  description: >-
                    This property determines whether authentication is required
                    for host-based utilities which use CHIF (typically use of
                    CHIF requires Administrator/root credentials)
                  default: false
                RequiredLoginForiLORBSU:
                  type: boolean
                  description: >-
                    This property determines whether a user-credential prompt is
                    displayed when a user accesses the iLO RBSU or the iLO
                    Configuration Utility.
                  default: false
                SerialCLISpeed:
                  type: integer
                  description: Serial command line interface speed in bits/second.
                  default: 9600
                SerialCLIStatus:
                  type: string
                  description: Status of serial command line interface.
                  default: Disabled
                iLOIPduringPOSTEnabled:
                  type: boolean
                  description: >-
                    This property specifies whether displaying the iLO network
                    IP address during host server POST is enabled(default) or
                    not.
                  default: true
                PhysicalMonitorHealthStatusEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables the display of Server
                    Health Status on a physical monitor attached to the system.
                  default: true
                VideoPresenceDetectOverride:
                  type: boolean
                  description: >-
                    This property controls video presence detection on the VGA
                    port.
                  default: true
                VirtualNICEnabled:
                  type: boolean
                  description: >-
                    This property indicates whether the Virtual Network
                    Interface is enabled or not.
                  default: false
            SnmpService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/SnmpService", below are
                the attributes and values that gets patched as a part of apply
                iLO Settings.
              properties:
                SNMPv1RequestsEnabled:
                  type: boolean
                  description: >-
                    SNMPv1RequestsEnabled- Indicates if the SNMPv1 Query is
                    enabled.
                  default: false
                TrapSourceHostname:
                  type: string
                  description: >-
                    Determines the host name that is used in the SNMP-defined
                    sysName variable when the management processor generates
                    SNMP traps.
                  default: Manager
                SNMPv1TrapEnabled:
                  type: boolean
                  description: This property indicates if the SNMPv1 Trap is enabled.
                  default: true
                SNMPv3RequestsEnabled:
                  type: boolean
                  description: This property indicates if the SNMPv3 Query is enabled.
                  default: false
                SNMPv3TrapEnabled:
                  type: boolean
                  description: This property indicates if the SNMPv3 Trap is enabled.
                  default: true
                SNMPColdStartTrapBroadcast:
                  type: boolean
                  description: >-
                    If set to true, the Cold Start Trap will be enabled. The
                    Cold Start Trap is broadcast to a subnet broadcast address
                    if there are no trap destinations configured in the SNMP
                    Alert Destination(s) boxes.
                  default: true
                PeriodicHSATrapConfig:
                  type: string
                  description: >-
                    If there are any component in health status array(HSA) Trap
                    are in degraded or failed condition then HSA trap will be
                    sent periodically till the component status becomes ok or
                    fine condition.
                  default: Disabled
                Location:
                  type: string
                  description: >-
                    The string of up to 49 characters that specifies the
                    physical location of the server.
                Contact:
                  type: string
                  description: >-
                    The string of up to 49 characters that specifies the system
                    administrator or server owner. The string can include a
                    name, email address, or phone number.
                Role:
                  type: string
                  description: >-
                    The string of up to 64 characters that describes the server
                    role or function.
                RoleDetail:
                  type: string
                  description: >-
                    The string of up to 512 characters that describes specific
                    tasks that the server might perform.
                ReadCommunities:
                  type: array
                  items:
                    type: string
                  description: >-
                    ReadCommunities is an array containing elements of
                    ReadCommunities[{item}]
                SNMPv3EngineID:
                  type: string
                  description: >-
                    The SNMPv3 Engine ID is the unique identifier of an SNMP
                    engine that belongs to an SNMP agent entity.
                SNMPv3InformRetryAttempt:
                  type: integer
                  description: >-
                    This property specifies the number of retries to be used in
                    SNMPv3 inform.
                  default: 2
                SNMPv3InformRetryIntervalSeconds:
                  type: integer
                  description: >-
                    This property specifies the interval in seconds between
                    SNMPv3 inform retries.
                  default: 15
            SNMPUsers:
              type: object
              description: >-
                For the endpoint
                "/redfish/v1/Managers/1/SnmpService/SNMPUsers/{item}/", below
                are the attributes and values that gets patched as a part of
                apply iLO Settings.
              properties:
                SecurityName:
                  type: string
                  description: >-
                    The user profile name. Enter an alphanumeric string of 1 to
                    32 characters.
                AuthProtocol:
                  type: string
                  description: >-
                    Sets the message digest algorithm to use for encoding the
                    authorization passphrase.
                AuthPassphrase:
                  type: string
                  description: >-
                    Sets the passphrase to use for sign operations. Enter a
                    value of 8 to 49 characters.
                PrivacyProtocol:
                  type: string
                  description: >-
                    Sets the encryption algorithm to use for encoding the
                    privacy passphrase. A portion of an SNMP message is
                    encrypted before transmission.
                PrivacyPassphrase:
                  type: string
                  description: >-
                    Sets the passphrase to use for encrypt operations. Enter a
                    value of 8 to 49 characters.
                UserEngineID:
                  type: string
                  description: >-
                    The UserEngineID is combined with the SecurityName to create
                    a SNMPv3 user for each manager. It is only used for creating
                    remote accounts used with INFORM messages.
            SNMPAlertDestinations:
              type: object
              description: >-
                For the endpoint
                "/redfish/v1/Managers/1/SnmpService/SNMPAlertDestinations/{item}/",
                below are the attributes and values that gets patched as a part
                of apply iLO Settings.
              properties:
                AlertDestination:
                  type: string
                  description: >-
                    The IP address or FQDN of remote management system that
                    receive SNMP alerts.
                TrapCommunity:
                  type: string
                  description: The configured SNMPv1 trap community string.
                SNMPAlertProtocol:
                  type: string
                  description: >-
                    Indicate the SNMP protocol associated with the
                    AlertDestination.
            AccountService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/AccountService", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                AuthFailureLoggingThreshold:
                  type: integer
                  description: >-
                    This property enables you to view and configure logging
                    criteria for failed authentications.
                  default: 3
                AuthFailuresBeforeDelay:
                  type: integer
                  description: >-
                    The number of failed authentication attempts allowed before
                    authentication is delayed by AuthFailureDelayTimeSeconds.
                    Values of 0, 1, 3, and 5 are valid, with 0 indicating delay
                    after every authentication failure.
                  default: 1
                AuthFailureDelayTimeSeconds:
                  type: integer
                  description: >-
                    The time in seconds to delay for each failure after
                    AuthFailuresBeforeDelay authentication attempts have failed.
                    Values of 2, 5, 10, and 30 seconds are valid.
                  default: 10
                EnforcePasswordComplexity:
                  type: boolean
                  description: >-
                    Enforce complexity rules when a user password is set or
                    changed.
                  default: false
                MinPasswordLength:
                  type: integer
                  description: >-
                    The minimum length for a password to log in to the
                    management processor.
                  default: 8
            UpdateService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/UpdateService", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                Accept3rdPartyFirmware:
                  type: boolean
                  description: >-
                    Enable or disable support for 3rd party firmware update
                    packages..
                  default: false
            NetworkProtocol:
              type: object
              description: "For the endpoint \"/redfish/v1/Managers/1/NetworkProtocol\t\", below are the attributes and values that gets patched as a part of apply iLO Settings."
              properties:
                XMLResponseEnabled:
                  type: boolean
                  description: >-
                    Determines whether management processor responds to
                    anonymous XML discovery requests.
                  default: true
                SNMPTrapPort:
                  type: integer
                  description: The SNMP trap port number.
                  default: 162
                SerialOverLanLogging:
                  type: boolean
                  description: >-
                    Indicates whether Serial Over LAN (SOL) or Virtual Serial
                    Port (VSP) logging is enabled.
                  default: false
                IPMI:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",The IPMI over LAN is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: >-
                        Indicates whether IPMI over LAN is enabled for the
                        manager.
                      default: false
                    Port:
                      type: integer
                      description: The IPMI over LAN port number.
                      default: 623
                KVMIP:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",The KVM-IP is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether KVM-IP is enabled for the manager.
                      default: true
                    Port:
                      type: integer
                      description: The KVM-IP port number.
                      default: 17990
                SSH:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",SSH is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: >-
                        Indicates whether SSH is enabled for the manager. When
                        this field is modified, the Manager will reset
                        automatically.
                      default: true
                    Port:
                      type: integer
                      description: >-
                        The SSH port number. When this field is modified, the
                        Manager will reset automatically.
                      default: 22
                SNMP:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",SNMP is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether SNMP is enabled for the manager.
                      default: true
                    Port:
                      type: integer
                      description: The SNMP port number.
                      default: 161
                VirtualMedia:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",VirtualMedia is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: >-
                        Indicates whether Virtual Media is enabled for the
                        manager.
                      default: true
                    Port:
                      type: integer
                      description: The Virtual Media port number.
                      default: 17988
                HTTPS:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",HTTPS/SSL is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether HTTPS/SSL is enabled or disabled.
                      default: true
                    Port:
                      type: integer
                      description: The HTTPS/SSL port number.
                      default: 443
                HTTP:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",HTTP is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether HTTP is enabled or disabled.
                      default: true
                    Port:
                      type: integer
                      description: The HTTP port number.
                      default: 80
            SecurityService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/SecurityService/",
                below are the attributes and values that gets patched as a part
                of apply iLO Settings.
              properties:
                GlobalComponentIntegrity:
                  type: string
                  description: Indicate whether SPDM results are to be ignored or not.
                  default: Disabled
                ComponentIntegrityPolicy:
                  type: string
                  description: >-
                    Controls the system boot policy based on the SPDM
                    authentication results of the devices in the server.
                  default: NoPolicy
    serverSettingsResponse-v1beta1:
      allOf:
        - $ref: '#/components/schemas/serverSettingsResponseNoSetting-v1beta1'
        - type: object
          properties:
            settings:
              type: object
              properties:
                GEN10:
                  oneOf:
                    - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
                GEN11:
                  oneOf:
                    - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
                GEN12:
                  oneOf:
                    - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
                DEFAULT:
                  oneOf:
                    - $ref: '#/components/schemas/serverSettingBIOS-v1beta1'
                    - $ref: >-
                        #/components/schemas/serverSettingMultiVolumeStorage-v1beta1
                    - $ref: >-
                        #/components/schemas/serverSettingSingleVolumeStorage-v1beta1
                    - $ref: '#/components/schemas/serverSettingOS-v1beta1'
                    - $ref: >-
                        #/components/schemas/serverSettingExternalStorage-v1beta1
                    - $ref: '#/components/schemas/serverSettingILO-v1beta1'
    serverSettingsCollection-v1beta1:
      allOf:
        - description: Server settings collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/serverSettingsResponse-v1beta1'
    serverSettingsCreateRequest-v1beta1:
      description: Server settings
      type: object
      required:
        - name
        - category
      properties:
        name:
          minLength: 1
          maxLength: 100
          description: The display name for the server-settings item
          type:
            - string
        category:
          description: >
            The category to which the settings data applies.


            The available server settings categories are:


            | Category         |
            Purpose                                                            |

            |------------------|--------------------------------------------------------------------|

            | BIOS             | BIOS
            configuration                                                 |

            | EXTERNAL_STORAGE | HPE GreenLake for Data Services Cloud Console
            (DSCC) configuration |

            | FIRMWARE         | firmware
            configuration                                             |

            | ILO              | iLO security
            configuration                                         |

            | OS               | operating
            system                                                   |

            | STORAGE          | internal storage
            configuration                                     |
          type: string
          enum:
            - BIOS
            - EXTERNAL_STORAGE
            - FIRMWARE
            - ILO
            - OS
            - STORAGE
        description:
          maxLength: 10000
          type:
            - string
            - 'null'
          example: Firmware server setting
        platformFamily:
          description: >-
            Server platform family to which this server setting applies. There
            are no restrictions for server setting and all supported server
            types are allowed. This optional attribute will be set to a default
            value of "ANY", to indicate that any server platform family servers
            can be in the group(s) which are associated with this server
            setting, regardless of the value passed in.
          type:
            - string
          enum:
            - ANY
            - PROLIANT
          default: ANY
        settings:
          description: >
            Configuration data corresponding to the specified category.


            ILO settings are HPE-defined only. Adding a new ILO setting is not
            supported.


            The following table shows the available schema keys for each
            settings category:


            | Category         | Key(s)              |
            Details                                      |

            |------------------|---------------------|----------------------------------------------|

            | BIOS             | DEFAULT             | server BIOS
            configuration                    |

            | EXTERNAL_STORAGE | DEFAULT             | HPE GreenLake for DSCC
            storage configuration |

            | FIRMWARE         | GEN10, GEN11, GEN12 | Firmware for the
            specified platform(s)       |

            | ILO              | DEFAULT             | iLO security
            configuration                   |

            | OS               | DEFAULT             | Installed operating
            system                   |

            | STORAGE          | DEFAULT             | Internal storage
            configuration               |
          type: object
          properties:
            GEN10:
              oneOf:
                - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
            GEN11:
              oneOf:
                - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
            GEN12:
              oneOf:
                - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
            DEFAULT:
              oneOf:
                - $ref: '#/components/schemas/serverSettingBIOS-v1beta1'
                - $ref: '#/components/schemas/serverSettingMultiVolumeStorage-v1beta1'
                - $ref: >-
                    #/components/schemas/serverSettingSingleVolumeStorage-v1beta1
                - $ref: '#/components/schemas/serverSettingOS-v1beta1'
                - $ref: '#/components/schemas/serverSettingExternalStorage-v1beta1'
                - $ref: '#/components/schemas/serverSettingILO-v1beta1'
    serverSettingsUpdateRequest-v1beta1:
      type: object
      properties:
        description:
          maxLength: 10000
          type:
            - string
            - 'null'
          example: All prod server settings
        name:
          maxLength: 100
          minLength: 1
          type: string
          example: Production Server Settings
        settings:
          description: >
            Configuration data corresponding to the specified category.


            ILO Security server settings are HPE-defined only. Adding a new ILO
            Security server setting is not supported.
          type: object
          properties:
            GEN10:
              oneOf:
                - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
            GEN11:
              oneOf:
                - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
            GEN12:
              oneOf:
                - $ref: '#/components/schemas/serverSettingFirmware-v1beta1'
            DEFAULT:
              oneOf:
                - $ref: '#/components/schemas/serverSettingBIOS-v1beta1'
                - $ref: '#/components/schemas/serverSettingMultiVolumeStorage-v1beta1'
                - $ref: >-
                    #/components/schemas/serverSettingSingleVolumeStorage-v1beta1
                - $ref: '#/components/schemas/serverSettingOS-v1beta1'
                - $ref: '#/components/schemas/serverSettingExternalStorage-v1beta1'
                - $ref: '#/components/schemas/serverSettingILO-v1beta1'
    settingsResponseNoSetting-v1:
      description: Device setting
      type: object
      properties:
        id:
          description: Primary identifier for the setting given by the system
          type: string
          format: uuid
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the setting
          type: string
        description:
          maxLength: 10000
          description: The description for the setting
          type:
            - string
            - 'null'
        category:
          description: >
            The category to which the settings data applies.


            The available server settings categories are:


            | Category         |
            Purpose                                                            |

            |------------------|--------------------------------------------------------------------|

            | BIOS             | BIOS
            configuration                                                 |

            | EXTERNAL_STORAGE | HPE GreenLake for Data Services Cloud Console
            (DSCC) configuration |

            | FIRMWARE         | firmware
            configuration                                             |

            | ILO              | iLO security
            configuration                                         |

            | OS               | operating
            system                                                   |

            | STORAGE          | internal storage
            configuration                                     |


            The available OneView VM appliance settings categories are:


            | Category                       |
            Purpose                                              |

            |--------------------------------|------------------------------------------------------|

            | OVE_APPLIANCE_SETTINGS_ANY     | appliance
            configuration                              |

            | OVE_SERVER_TEMPLATES_VM        | server profile
            templates                             |

            | OVE_SOFTWARE_VM                | OneView appliance
            software                           |


            The available OneView Synergy appliance settings categories are:


            | Category                       |
            Purpose                                              |

            |--------------------------------|------------------------------------------------------|

            | OVE_APPLIANCE_SETTINGS_ANY     | appliance
            configuration                              |

            | OVE_APPLIANCE_SETTINGS_SYNERGY | synergy-specific appliance
            configuration             |

            | OVE_SERVER_TEMPLATES_SYNERGY   | server profile
            templates                             |

            | OVE_SOFTWARE_SYNERGY           | OneView Synergy appliance
            software                   |
          type: string
          enum:
            - BIOS
            - EXTERNAL_STORAGE
            - FIRMWARE
            - ILO
            - OS
            - STORAGE
            - OVE_APPLIANCE_SETTINGS_ANY
            - OVE_APPLIANCE_SETTINGS_SYNERGY
            - OVE_SERVER_TEMPLATES_SYNERGY
            - OVE_SERVER_TEMPLATES_VM
            - OVE_SOFTWARE_VM
            - OVE_SOFTWARE_SYNERGY
        settings:
          description: Configuration data corresponding to the specified category
          type: object
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        resourceUri:
          description: URI to the settings itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1/settings/a2fdaf7a-4933-4c47-bfe0-891f0a83dc6e
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/setting
        createdAt:
          description: Time of settings creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last settings update
          type: string
          format: date-time
    settingFirmware-v1:
      type: object
      title: FIRMWARE server setting
      description: Settings for `FIRMWARE` category
      required:
        - id
      properties:
        id:
          description: Firmware bundle ID
          type: string
          example: a9383ef62e362a0072b2947c923ba257
    settingBIOS-v1:
      type: object
      title: BIOS server setting
      description: >
        Settings for `BIOS` category


        Settings that specify how servers in HPE Compute Ops Management (COM)
        configure their BIOS.


        **Example Configurations**


        1. Configure all servers with a 'GeneralPowerEfficientCompute' Workload
        Profile and name 'Luke' their administrator.

        ```

        {
          "redfishData": {
            "Attributes": {
              "AdminName": "Luke",
              "WorkloadProfile": "GeneralPowerEfficientCompute"
            }
          }
        }

        ```

        2. Configure a 'vRAN' workload profile, and then apply a 'Custom'
        Workload Profile to override its 'EnergyEfficientTurbo' attribute.

        ```

        {
          "enableCustomWorkloadProfile": true,
          "redfishData": {
            "Attributes": {
              "WorkloadProfile": "vRAN",
              "EnergyEfficientTurbo": "Enabled"
            }
          }
        }

        ```
      properties:
        enableCustomWorkloadProfile:
          type: boolean
          title: Use 'Custom' WorkloadProfile for final configuration
          description: >-
            Initially configure with the WorkloadProfile defined in
            'Attributes', then restart the device and configure all 'Attributes'
            with the 'Custom' workload profile.  Default is 'false'.
        redfishData:
          type: object
          title: DMTF Redfish® BIOS Schema Data
          description: >-
            Schema data for the BIOS subsystem as defined by the DMTF Redfish®
            standard.
          properties:
            Attributes:
              type: object
              title: BIOS Attributes
              description: >-
                A collection of BIOS attributes and their requested values.  For
                HPE devices, these are documented at
                https://servermanagementportal.ext.hpe.com/docs/redfishservices/
                under the 'Bios' Resource definition of the corresponding iLO
                reference document.
              example:
                AdminName: Luke
                WorkloadProfile: GeneralPowerEfficientCompute
    settingMultiVolumeStorage-v1:
      type: object
      title: Multiple volume STORAGE server setting
      description: >-
        Settings for `STORAGE` category containing one or more expected volume
        definitions for a server.
      properties:
        volumes:
          type: array
          description: >-
            Array containing one or more volume definitions to be configured
            upon applying the settings to a server.
          items:
            type: object
            description: Server settings volume definition.
            required:
              - raidType
            properties:
              id:
                type:
                  - string
                  - 'null'
                format: uuid
                description: >-
                  UUID identifying a specific volume on the server setting. Used
                  while applying server settings to distinguish volume
                  definitions from one another. If the id is not provided, one
                  will be generated automatically when the server setting is
                  created.
              raidType:
                type: string
                enum:
                  - RAID0
                  - RAID1
                  - RAID1_TRIPLE
                  - RAID10
                  - RAID10_TRIPLE
                  - RAID5
                  - RAID50
                  - RAID6
                  - RAID60
                description: The RAID type of the storage volume.
                example: RAID0
              capacityInGiB:
                type:
                  - integer
                  - 'null'
                description: >-
                  The size of the volume specified in GiB. A null value
                  indicates that the entire capacity of the drives included in
                  the volume will be used.
                example: 100
              driveCount:
                type:
                  - integer
                  - 'null'
                description: >-
                  The number of drives to be included within the volume. A null
                  value indicates that the fewest number of drives supported by
                  the raidType will be used.
                example: 2
              spareDriveCount:
                type:
                  - integer
                  - 'null'
                description: >-
                  The number of spare drives to be configured alongside the
                  volume.
                example: 1
              driveTechnology:
                type:
                  - string
                  - 'null'
                enum:
                  - SAS_HDD
                  - SAS_SSD
                  - SATA_HDD
                  - SATA_SSD
                  - NVME_SSD
                description: >-
                  The media type of the drives to be used when creating the
                  volume. A null value inidcates that the first media type found
                  which fulfils the drive count requirement will be used.
                example: NVME_SSD
              ioPerfModeEnabled:
                type:
                  - boolean
                  - 'null'
                description: >-
                  The value for the volume ioPerfModeEnabled attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
              writeCachePolicy:
                type:
                  - string
                  - 'null'
                enum:
                  - PROTECTED_WRITE_BACK
                  - UNPROTECTED_WRITE_BACK
                  - WRITE_THROUGH
                  - 'OFF'
                description: >-
                  The value for the volume writeCachePolicy attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
                example: WRITE_THROUGH
              readCachePolicy:
                type:
                  - string
                  - 'null'
                enum:
                  - READ_AHEAD
                  - ADAPTIVE_READ_AHEAD
                  - 'OFF'
                description: >-
                  The value for the volume readCachePolicy attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
                example: 'OFF'
    settingSingleVolumeStorage-v1:
      type: object
      title: Single volume STORAGE server setting
      description: Settings for `STORAGE` category
      required:
        - raidType
        - volumeSizeInGB
      properties:
        raidType:
          type: string
          enum:
            - RAID0
            - RAID1
            - RAID5
          description: Select the RAID type for the storage volume.
          example: RAID0
        volumeSizeInGB:
          type: number
          description: >-
            It must be a number >0 or -1, where -1 indicates to use the entire
            disk.
          example: 100
    settingOS-v1:
      type: object
      title: OS image server setting
      description: Settings for `OS` category
      required:
        - osType
        - mediaUrl
      properties:
        osType:
          type: string
          enum:
            - MICROSOFT_WINDOWS
            - VMWARE_ESXI
            - RHEL
            - SUSE_LINUX
          description: Select the Operating System Image.
          example: MICROSOFT_WINDOWS
        mediaUrl:
          type: string
          description: Enter the full URL location of the ISO file for the OS image.
        unattendedInstallationFileUrl:
          type: string
          description: >-
            Enter the full URL location of the ISO file for unattended
            installation file.
    settingExternalStorage-v1:
      type: object
      title: EXTERNAL_STORAGE server setting
      description: >
        Settings for `EXTERNAL_STORAGE` category


        Settings that specify how servers in HPE Compute Ops Management (COM)
        can utilize external storage resources that are managed within HPE
        GreenLake for Data Services Cloud Console (DSCC)'s Data Ops Manager
        (DOM).


        Mapping of the terms used between COM and DSCC:

        | COM            | DSCC         |

        |----------------|--------------|

        | adapter port   | initiator    |

        | server         | host         |

        | server group   | host group   |
      required:
        - externalStorageHostOs
      properties:
        externalStorageHostOs:
          $ref: '#/components/schemas/externalStorageHostOS'
          description: >-
            Specify the operating system type to use when configuring Data
            Services Cloud Console hosts.
          example: WINDOWS_SERVER
    settingILO-v1:
      type: object
      title: ILO server setting
      description: Settings for `ILO` category
      required:
        - Attributes
      properties:
        Attributes:
          type: object
          description: >-
            Below are the attributes that make up the iLO Settings payload.
            Currently, the ILO Settings cannot be modified. To learn more about
            each, go through the ILO documentation
          properties:
            '1':
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                VSPLogDownloadEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables download of the
                    downloadable Virtual Serial Port (VSP) log.
                  default: false
                IdleConnectionTimeoutMinutes:
                  type: integer
                  description: >-
                    This setting specifies how long a user can be inactive
                    before an iLO web interface ends automatically.
                  default: 30
                RIBCLEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables RIBCL for the management
                    processor. The management processor will require reset when
                    this field is modified.
                  default: true
                iLORBSUEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables the iLO Configuration
                    Utility.
                  default: true
                WebGuiEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables WEB GUI access for the
                    management processor. The management processor will require
                    reset when this field is modified.
                  default: true
                RemoteConsoleThumbnailEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables the accessibility of
                    remote console thumbnail image in iLO. Disabling this
                    property will not disable remote console feature.
                  default: true
                RequireHostAuthentication:
                  type: boolean
                  description: >-
                    This property determines whether authentication is required
                    for host-based utilities which use CHIF (typically use of
                    CHIF requires Administrator/root credentials)
                  default: false
                RequiredLoginForiLORBSU:
                  type: boolean
                  description: >-
                    This property determines whether a user-credential prompt is
                    displayed when a user accesses the iLO RBSU or the iLO
                    Configuration Utility.
                  default: false
                SerialCLISpeed:
                  type: integer
                  description: Serial command line interface speed in bits/second.
                  default: 9600
                SerialCLIStatus:
                  type: string
                  description: Status of serial command line interface.
                  default: Disabled
                iLOIPduringPOSTEnabled:
                  type: boolean
                  description: >-
                    This property specifies whether displaying the iLO network
                    IP address during host server POST is enabled(default) or
                    not.
                  default: true
                PhysicalMonitorHealthStatusEnabled:
                  type: boolean
                  description: >-
                    This property enables or disables the display of Server
                    Health Status on a physical monitor attached to the system.
                  default: true
                VideoPresenceDetectOverride:
                  type: boolean
                  description: >-
                    This property controls video presence detection on the VGA
                    port.
                  default: true
                VirtualNICEnabled:
                  type: boolean
                  description: >-
                    This property indicates whether the Virtual Network
                    Interface is enabled or not.
                  default: false
            SnmpService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/SnmpService", below are
                the attributes and values that gets patched as a part of apply
                iLO Settings.
              properties:
                SNMPv1RequestsEnabled:
                  type: boolean
                  description: >-
                    SNMPv1RequestsEnabled- Indicates if the SNMPv1 Query is
                    enabled.
                  default: false
                TrapSourceHostname:
                  type: string
                  description: >-
                    Determines the host name that is used in the SNMP-defined
                    sysName variable when the management processor generates
                    SNMP traps.
                  default: Manager
                SNMPv1TrapEnabled:
                  type: boolean
                  description: This property indicates if the SNMPv1 Trap is enabled.
                  default: true
                SNMPv3RequestsEnabled:
                  type: boolean
                  description: This property indicates if the SNMPv3 Query is enabled.
                  default: false
                SNMPv3TrapEnabled:
                  type: boolean
                  description: This property indicates if the SNMPv3 Trap is enabled.
                  default: true
                SNMPColdStartTrapBroadcast:
                  type: boolean
                  description: >-
                    If set to true, the Cold Start Trap will be enabled. The
                    Cold Start Trap is broadcast to a subnet broadcast address
                    if there are no trap destinations configured in the SNMP
                    Alert Destination(s) boxes.
                  default: true
                PeriodicHSATrapConfig:
                  type: string
                  description: >-
                    If there are any component in health status array(HSA) Trap
                    are in degraded or failed condition then HSA trap will be
                    sent periodically till the component status becomes ok or
                    fine condition.
                  default: Disabled
                Location:
                  type: string
                  description: >-
                    The string of up to 49 characters that specifies the
                    physical location of the server.
                Contact:
                  type: string
                  description: >-
                    The string of up to 49 characters that specifies the system
                    administrator or server owner. The string can include a
                    name, email address, or phone number.
                Role:
                  type: string
                  description: >-
                    The string of up to 64 characters that describes the server
                    role or function.
                RoleDetail:
                  type: string
                  description: >-
                    The string of up to 512 characters that describes specific
                    tasks that the server might perform.
                ReadCommunities:
                  type: array
                  items:
                    type: string
                  description: >-
                    ReadCommunities is an array containing elements of
                    ReadCommunities[{item}]
                SNMPv3EngineID:
                  type: string
                  description: >-
                    The SNMPv3 Engine ID is the unique identifier of an SNMP
                    engine that belongs to an SNMP agent entity.
                SNMPv3InformRetryAttempt:
                  type: integer
                  description: >-
                    This property specifies the number of retries to be used in
                    SNMPv3 inform.
                  default: 2
                SNMPv3InformRetryIntervalSeconds:
                  type: integer
                  description: >-
                    This property specifies the interval in seconds between
                    SNMPv3 inform retries.
                  default: 15
            SNMPUsers:
              type: object
              description: >-
                For the endpoint
                "/redfish/v1/Managers/1/SnmpService/SNMPUsers/{item}/", below
                are the attributes and values that gets patched as a part of
                apply iLO Settings.
              properties:
                SecurityName:
                  type: string
                  description: >-
                    The user profile name. Enter an alphanumeric string of 1 to
                    32 characters.
                AuthProtocol:
                  type: string
                  description: >-
                    Sets the message digest algorithm to use for encoding the
                    authorization passphrase.
                AuthPassphrase:
                  type: string
                  description: >-
                    Sets the passphrase to use for sign operations. Enter a
                    value of 8 to 49 characters.
                PrivacyProtocol:
                  type: string
                  description: >-
                    Sets the encryption algorithm to use for encoding the
                    privacy passphrase. A portion of an SNMP message is
                    encrypted before transmission.
                PrivacyPassphrase:
                  type: string
                  description: >-
                    Sets the passphrase to use for encrypt operations. Enter a
                    value of 8 to 49 characters.
                UserEngineID:
                  type: string
                  description: >-
                    The UserEngineID is combined with the SecurityName to create
                    a SNMPv3 user for each manager. It is only used for creating
                    remote accounts used with INFORM messages.
            SNMPAlertDestinations:
              type: object
              description: >-
                For the endpoint
                "/redfish/v1/Managers/1/SnmpService/SNMPAlertDestinations/{item}/",
                below are the attributes and values that gets patched as a part
                of apply iLO Settings.
              properties:
                AlertDestination:
                  type: string
                  description: >-
                    The IP address or FQDN of remote management system that
                    receive SNMP alerts.
                TrapCommunity:
                  type: string
                  description: The configured SNMPv1 trap community string.
                SNMPAlertProtocol:
                  type: string
                  description: >-
                    Indicate the SNMP protocol associated with the
                    AlertDestination.
            AccountService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/AccountService", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                AuthFailureLoggingThreshold:
                  type: integer
                  description: >-
                    This property enables you to view and configure logging
                    criteria for failed authentications.
                  default: 3
                AuthFailuresBeforeDelay:
                  type: integer
                  description: >-
                    The number of failed authentication attempts allowed before
                    authentication is delayed by AuthFailureDelayTimeSeconds.
                    Values of 0, 1, 3, and 5 are valid, with 0 indicating delay
                    after every authentication failure.
                  default: 1
                AuthFailureDelayTimeSeconds:
                  type: integer
                  description: >-
                    The time in seconds to delay for each failure after
                    AuthFailuresBeforeDelay authentication attempts have failed.
                    Values of 2, 5, 10, and 30 seconds are valid.
                  default: 10
                EnforcePasswordComplexity:
                  type: boolean
                  description: >-
                    Enforce complexity rules when a user password is set or
                    changed.
                  default: false
                MinPasswordLength:
                  type: integer
                  description: >-
                    The minimum length for a password to log in to the
                    management processor.
                  default: 8
            UpdateService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/UpdateService", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                Accept3rdPartyFirmware:
                  type: boolean
                  description: >-
                    Enable or disable support for 3rd party firmware update
                    packages..
                  default: false
            NetworkProtocol:
              type: object
              description: "For the endpoint \"/redfish/v1/Managers/1/NetworkProtocol\t\", below are the attributes and values that gets patched as a part of apply iLO Settings."
              properties:
                XMLResponseEnabled:
                  type: boolean
                  description: >-
                    Determines whether management processor responds to
                    anonymous XML discovery requests.
                  default: true
                SNMPTrapPort:
                  type: integer
                  description: The SNMP trap port number.
                  default: 162
                SerialOverLanLogging:
                  type: boolean
                  description: >-
                    Indicates whether Serial Over LAN (SOL) or Virtual Serial
                    Port (VSP) logging is enabled.
                  default: false
                IPMI:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",The IPMI over LAN is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: >-
                        Indicates whether IPMI over LAN is enabled for the
                        manager.
                      default: false
                    Port:
                      type: integer
                      description: The IPMI over LAN port number.
                      default: 623
                KVMIP:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",The KVM-IP is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether KVM-IP is enabled for the manager.
                      default: true
                    Port:
                      type: integer
                      description: The KVM-IP port number.
                      default: 17990
                SSH:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",SSH is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: >-
                        Indicates whether SSH is enabled for the manager. When
                        this field is modified, the Manager will reset
                        automatically.
                      default: true
                    Port:
                      type: integer
                      description: >-
                        The SSH port number. When this field is modified, the
                        Manager will reset automatically.
                      default: 22
                SNMP:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",SNMP is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether SNMP is enabled for the manager.
                      default: true
                    Port:
                      type: integer
                      description: The SNMP port number.
                      default: 161
                VirtualMedia:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",VirtualMedia is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: >-
                        Indicates whether Virtual Media is enabled for the
                        manager.
                      default: true
                    Port:
                      type: integer
                      description: The Virtual Media port number.
                      default: 17988
                HTTPS:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",HTTPS/SSL is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether HTTPS/SSL is enabled or disabled.
                      default: true
                    Port:
                      type: integer
                      description: The HTTPS/SSL port number.
                      default: 443
                HTTP:
                  type: object
                  description: "In the endpoint \"/redfish/v1/Managers/1/NetworkProtocol/\t\",HTTP is an object and below are the attributes and values that gets patched as a part of apply iLO Settings."
                  properties:
                    ProtocolEnabled:
                      type: boolean
                      description: Indicates whether HTTP is enabled or disabled.
                      default: true
                    Port:
                      type: integer
                      description: The HTTP port number.
                      default: 80
            SecurityService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/SecurityService/",
                below are the attributes and values that gets patched as a part
                of apply iLO Settings.
              properties:
                GlobalComponentIntegrity:
                  type: string
                  description: Indicate whether SPDM results are to be ignored or not.
                  default: Disabled
                ComponentIntegrityPolicy:
                  type: string
                  description: >-
                    Controls the system boot policy based on the SPDM
                    authentication results of the devices in the server.
                  default: NoPolicy
    settingOperationStatus:
      type: string
      enum:
        - IN_PROGRESS
        - SUCCESS
        - FAILURE
      description: >
        The current status of a setting create or update operation. This value
        is controlled by Compute Ops Management and is read-only for the user.

        * `IN_PROGRESS` - Active, not terminal. The operation is in progress.

        * `SUCCESS` - Inactive, terminal. The operation is complete and
        succeeded.

        * `FAILURE` - Inactive, terminal. The operation is complete and failed.
    oveApplianceSettingsAny-v1beta1:
      type: object
      title: OneView appliance settings
      description: >
        Settings for `OVE_APPLIANCE_SETTINGS_ANY` category.


        These include common settings that apply to both HPE OneView virtual
        machine appliances (`OVE_APPLIANCE_VM`) and HPE OneView Synergy
        appliances (`OVE_APPLIANCE_SYNERGY`).


        Supportability matrix of group device type and settings category:


        | Group device type     | Settings category             |

        |-----------------------|-------------------------------|

        | OVE_APPLIANCE_VM      | OVE_APPLIANCE_SETTINGS_ANY    |

        | OVE_APPLIANCE_SYNERGY | OVE_APPLIANCE_SETTINGS_ANY    |

        | OVE_APPLIANCE_SYNERGY | OVE_APPLIANCE_SETTINGS_SYNERGY|
      required:
        - sourceApplianceId
        - allowSensitiveInfoUse
      properties:
        snmp:
          $ref: '#/components/schemas/oveApplianceSettingsAnySnmp-v1beta1'
        proxy:
          $ref: '#/components/schemas/oveApplianceSettingsAnyProxy-v1beta1'
        updates:
          $ref: '#/components/schemas/oveApplianceSettingsAnyUpdates-v1beta1'
        security:
          $ref: '#/components/schemas/oveApplianceSettingsAnySecurity-v1beta1'
        notifications:
          $ref: '#/components/schemas/oveApplianceSettingsAnyNotifications-v1beta1'
        remoteSupport:
          $ref: '#/components/schemas/oveApplianceSettingsAnyRemoteSupport-v1beta1'
        timeAndLocale:
          $ref: '#/components/schemas/oveApplianceSettingsAnyTimeAndLocale-v1beta1'
        globalSettings:
          $ref: '#/components/schemas/oveApplianceSettingsAnyGlobalSettings-v1beta1'
        status:
          $ref: '#/components/schemas/settingOperationStatus'
        sourceApplianceId:
          type: string
          description: >-
            The appliance ID of the OneView appliance from which the settings
            are copied
        allowSensitiveInfoUse:
          type: boolean
          description: >-
            User agreement to allow sensitive information from OneView
            appliances to be encrypted, sent and stored in the Compute Ops
            Management database. The value must be set to `true` to allow the
            operation.
    oveApplianceSettingsSynergyGlobalSettings-v1beta1:
      type: object
      description: Global settings
      properties:
        reservedVlanRange:
          type: object
          description: >-
            The range of contiguous VLAN IDs which are reserved for internal use
            and excluded from availability for externally visible networks
            (tagged Ethernet and FCoE networks)
          properties:
            start:
              type: integer
              description: >-
                The lowest numbered VLAN ID which is in the excluded range (if
                the length is not 0). Must be between 1 and 4094, inclusive.
            length:
              type: integer
              description: >-
                The number of contiguous VLAN IDs which are in the excluded
                range. Must be 0 or between 60 and 128, inclusive. The length
                may not be 0 on an embedded platform. The sum of start and
                length may not exceed 4095.
            vlanRange:
              type: string
              description: VLAN range is specified as a combination of values or ranges.
        interconnectManagerNtpSource:
          type: string
          description: >-
            Configures managed and monitored interconnect devices to use the HPE
            OneView appliance or external NTP servers as the NTP server.
          enum:
            - APPLIANCE
            - EXTERNAL_NTP_SERVERS
    oveApplianceSettingsSynergy-v1beta1:
      type: object
      title: OneView Synergy appliance settings
      description: >
        Settings for `OVE_APPLIANCE_SETTINGS_SYNERGY` category.


        These include settings that apply only to HPE OneView Synergy appliances
        (`OVE_APPLIANCE_SYNERGY`).


        Supportability matrix of group device type and settings category:


        | Group device type     | Settings category             |

        |-----------------------|-------------------------------|

        | OVE_APPLIANCE_VM      | OVE_APPLIANCE_SETTINGS_ANY    |

        | OVE_APPLIANCE_SYNERGY | OVE_APPLIANCE_SETTINGS_ANY    |

        | OVE_APPLIANCE_SYNERGY | OVE_APPLIANCE_SETTINGS_SYNERGY|
      required:
        - sourceApplianceId
        - allowSensitiveInfoUse
      properties:
        globalSettings:
          $ref: >-
            #/components/schemas/oveApplianceSettingsSynergyGlobalSettings-v1beta1
        status:
          $ref: '#/components/schemas/settingOperationStatus'
        sourceApplianceId:
          type: string
          description: >-
            The appliance ID of the OneView appliance from which the settings
            are copied
        allowSensitiveInfoUse:
          type: boolean
          description: >-
            User agreement to allow sensitive information from OneView
            appliances to be encrypted, sent and stored in the Compute Ops
            Management database. The value must be set to `true` to allow the
            operation.
    oveServerTemplates-v1beta1:
      type: object
      title: OneView Server Template setting
      description: >
        Settings for `OVE_SERVER_TEMPLATES_VM` and
        `OVE_SERVER_TEMPLATES_SYNERGY` category

        Settings that is a collection of OneView server templates from different
        OneView VM and Synergy appliances.
      required:
        - data
      properties:
        data:
          description: List of appliance ID and corresponding server templates
          type: array
          items:
            type: object
            properties:
              applianceId:
                description: Primary identifier for the appliance
                type: string
                example: 034224f8-0ee0-470c-bd89-42c1c50c00db
              templates:
                type: array
                items:
                  type: object
                  properties:
                    uri:
                      description: URI to the OneView server template
                      type: string
                      example: >-
                        /rest/server-profile-templates/64fbb9b9-1671-43ce-81ca-e2ee3709acda
    oveApplianceSoftwareVm-v1:
      type: object
      title: OneView appliance software
      description: >
        Settings for `OVE_SOFTWARE_VM` category.


        Settings specify OneView appliance version to update to.


        This settings category is supported for groups with device type
        OVE_APPLIANCE_VM.
      required:
        - applianceFirmwareId
      properties:
        applianceFirmwareId:
          type: string
          description: >-
            The bundle id of the OneView appliance software. To obtain the
            firmware bundle UUID, use `GET
            /compute-ops-mgmt/v1/appliance-firmware-bundles` and look at the
            `id` property in the response.
    oveApplianceSoftwareSynergy-v1:
      type: object
      title: OneView Synergy appliance software
      description: >
        Settings for `OVE_SOFTWARE_SYNERGY` category.


        Settings specify OneView Synergy appliance version to update to.


        This settings category is supported for groups with device type
        OVE_APPLIANCE_SYNERGY.
      required:
        - applianceFirmwareId
      properties:
        applianceFirmwareId:
          type: string
          description: >-
            The bundle id of the OneView Synergy appliance software. To obtain
            the firmware bundle UUID, use `GET
            /compute-ops-mgmt/v1/appliance-firmware-bundles` and look at the
            `id` property in the response.
    settingsResponse-v1:
      allOf:
        - $ref: '#/components/schemas/settingsResponseNoSetting-v1'
        - type: object
          properties:
            settings:
              type: object
              properties:
                GEN10:
                  oneOf:
                    - $ref: '#/components/schemas/settingFirmware-v1'
                GEN11:
                  oneOf:
                    - $ref: '#/components/schemas/settingFirmware-v1'
                GEN12:
                  oneOf:
                    - $ref: '#/components/schemas/settingFirmware-v1'
                DEFAULT:
                  oneOf:
                    - $ref: '#/components/schemas/settingBIOS-v1'
                    - $ref: '#/components/schemas/settingMultiVolumeStorage-v1'
                    - $ref: '#/components/schemas/settingSingleVolumeStorage-v1'
                    - $ref: '#/components/schemas/settingOS-v1'
                    - $ref: '#/components/schemas/settingExternalStorage-v1'
                    - $ref: '#/components/schemas/settingILO-v1'
                    - $ref: '#/components/schemas/oveApplianceSettingsAny-v1beta1'
                    - $ref: '#/components/schemas/oveApplianceSettingsSynergy-v1beta1'
                    - $ref: '#/components/schemas/oveServerTemplates-v1beta1'
                    - $ref: '#/components/schemas/oveApplianceSoftwareVm-v1'
                    - $ref: '#/components/schemas/oveApplianceSoftwareSynergy-v1'
    settingsCollection-v1:
      allOf:
        - description: Device settings collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/settingsResponse-v1'
    settingsCreateRequest-v1:
      description: Device settings
      type: object
      required:
        - name
        - category
      properties:
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the setting
          type: string
        description:
          maxLength: 10000
          description: The description for the setting
          type:
            - string
            - 'null'
          example: Firmware setting
        category:
          description: >
            The category to which the settings data applies.


            The available server settings categories are:


            | Category         |
            Purpose                                                            |

            |------------------|--------------------------------------------------------------------|

            | BIOS             | BIOS
            configuration                                                 |

            | EXTERNAL_STORAGE | HPE GreenLake for Data Services Cloud Console
            (DSCC) configuration |

            | FIRMWARE         | firmware
            configuration                                             |

            | ILO              | iLO security
            configuration                                         |

            | OS               | operating
            system                                                   |

            | STORAGE          | internal storage
            configuration                                     |


            The available OneView VM appliance settings categories are:


            | Category                       |
            Purpose                                              |

            |--------------------------------|------------------------------------------------------|

            | OVE_APPLIANCE_SETTINGS_ANY     | appliance
            configuration                              |

            | OVE_SERVER_TEMPLATES_VM        | server profile
            templates                             |

            | OVE_SOFTWARE_VM                | OneView appliance
            software                           |


            The available OneView Synergy appliance settings categories are:


            | Category                       |
            Purpose                                              |

            |--------------------------------|------------------------------------------------------|

            | OVE_APPLIANCE_SETTINGS_ANY     | appliance
            configuration                              |

            | OVE_APPLIANCE_SETTINGS_SYNERGY | synergy-specific appliance
            configuration             |

            | OVE_SERVER_TEMPLATES_SYNERGY   | server profile
            templates                             |      

            | OVE_SOFTWARE_SYNERGY           | OneView Synergy appliance
            software                   |
          type: string
          enum:
            - BIOS
            - EXTERNAL_STORAGE
            - FIRMWARE
            - ILO
            - OS
            - STORAGE
            - OVE_APPLIANCE_SETTINGS_ANY
            - OVE_APPLIANCE_SETTINGS_SYNERGY
            - OVE_SERVER_TEMPLATES_SYNERGY
            - OVE_SERVER_TEMPLATES_VM
            - OVE_SOFTWARE_VM
            - OVE_SOFTWARE_SYNERGY
        settings:
          description: >
            Configuration data corresponding to the specified category.


            ILO settings are HPE-defined only. Adding a new ILO setting is not
            supported.


            The following table shows the available schema keys for each
            settings category:


            | Category         | Key(s)              |
            Details                                      |

            |------------------|---------------------|----------------------------------------------|

            | BIOS             | DEFAULT             | server BIOS
            configuration                    |

            | EXTERNAL_STORAGE | DEFAULT             | HPE GreenLake for DSCC
            storage configuration |

            | FIRMWARE         | GEN10, GEN11, GEN12 | Firmware for the
            specified platform(s)       |

            | ILO              | DEFAULT             | iLO security
            configuration                   |

            | OS               | DEFAULT             | Installed operating
            system                   |

            | STORAGE          | DEFAULT             | Internal storage
            configuration               |

            | OVE_*            | DEFAULT             | All OneView appliance
            settings categories    |
          type: object
          properties:
            GEN10:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1'
            GEN11:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1'
            GEN12:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1'
            DEFAULT:
              oneOf:
                - $ref: '#/components/schemas/settingBIOS-v1'
                - $ref: '#/components/schemas/settingMultiVolumeStorage-v1'
                - $ref: '#/components/schemas/settingSingleVolumeStorage-v1'
                - $ref: '#/components/schemas/settingOS-v1'
                - $ref: '#/components/schemas/settingExternalStorage-v1'
                - $ref: '#/components/schemas/oveApplianceSettingsAny-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSettingsSynergy-v1beta1'
                - $ref: '#/components/schemas/oveServerTemplates-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSoftwareVm-v1'
                - $ref: '#/components/schemas/oveApplianceSoftwareSynergy-v1'
                - $ref: '#/components/schemas/settingILO-v1'
    settingsUpdateRequest-v1:
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the setting
          type: string
        description:
          maxLength: 10000
          description: The description for the setting
          type:
            - string
            - 'null'
        settings:
          description: Configuration data corresponding to the specified category
          type: object
          properties:
            GEN10:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1'
            GEN11:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1'
            GEN12:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1'
            DEFAULT:
              oneOf:
                - $ref: '#/components/schemas/settingBIOS-v1'
                - $ref: '#/components/schemas/settingMultiVolumeStorage-v1'
                - $ref: '#/components/schemas/settingSingleVolumeStorage-v1'
                - $ref: '#/components/schemas/settingOS-v1'
                - $ref: '#/components/schemas/settingExternalStorage-v1'
                - $ref: '#/components/schemas/oveApplianceSettingsAny-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSettingsSynergy-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSoftwareVm-v1'
                - $ref: '#/components/schemas/oveApplianceSoftwareSynergy-v1'
                - $ref: '#/components/schemas/settingILO-v1'
    settingsResponseNoSetting-v1beta1:
      description: Device setting
      type: object
      properties:
        id:
          description: Primary identifier for the setting given by the system
          type: string
          format: uuid
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the setting
          type: string
        description:
          maxLength: 10000
          description: The description for the setting
          type:
            - string
            - 'null'
        category:
          description: >
            The category to which the settings data applies.


            The available server settings categories are:

            * BIOS - BIOS configuration

            * EXTERNAL_STORAGE - storage configured in HPE GreenLake for Data
            Services Cloud Console (DSCC)

            * FIRMWARE - firmware configuration

            * ILO - iLO security configuration

            * OS - operating system

            * STORAGE - internal storage configuration


            The available OneView VM appliance settings categories are:

            * OVE_APPLIANCE_SETTINGS_ANY - appliance configuration

            * OVE_SERVER_TEMPLATES_VM - server profile templates

            * OVE_SOFTWARE_VM - OneView appliance software


            The available OneView Synergy appliance settings categories are:

            * OVE_APPLIANCE_SETTINGS_ANY - appliance configuration

            * OVE_APPLIANCE_SETTINGS_SYNERGY - synergy-specific appliance
            configuration

            * OVE_SERVER_TEMPLATES_SYNERGY - server profile templates

            * OVE_SOFTWARE_SYNERGY - OneView Synergy appliance software
          type: string
          enum:
            - BIOS
            - EXTERNAL_STORAGE
            - FIRMWARE
            - ILO
            - OS
            - STORAGE
            - OVE_APPLIANCE_SETTINGS_ANY
            - OVE_APPLIANCE_SETTINGS_SYNERGY
            - OVE_SERVER_TEMPLATES_SYNERGY
            - OVE_SERVER_TEMPLATES_VM
            - OVE_SOFTWARE_VM
            - OVE_SOFTWARE_SYNERGY
        settings:
          description: Configuration data corresponding to the specified category
          type: object
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        resourceUri:
          description: URI to the settings itself (i.e. a self link)
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/settings/a2fdaf7a-4933-4c47-bfe0-891f0a83dc6e
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/setting
        createdAt:
          description: Time of settings creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last settings update
          type: string
          format: date-time
    settingFirmware-v1beta1:
      type: object
      title: FIRMWARE server setting
      description: Settings for `FIRMWARE` category
      required:
        - id
      properties:
        id:
          description: Firmware bundle ID
          type: string
          example: a9383ef62e362a0072b2947c923ba257
    settingBIOS-v1beta1:
      type: object
      title: BIOS server setting
      description: >
        Settings for `BIOS` category


        Settings that specify how servers in HPE Compute Ops Management (COM)
        configure their BIOS.


        **Example Configurations**


        1. Configure all servers with a 'GeneralPowerEfficientCompute' Workload
        Profile and name 'Luke' their administrator.

        ```

        {
          "redfishData": {
            "Attributes": {
              "AdminName": "Luke",
              "WorkloadProfile": "GeneralPowerEfficientCompute"
            }
          }
        }

        ```

        2. Configure a 'vRAN' workload profile, and then apply a 'Custom'
        Workload Profile to override its 'EnergyEfficientTurbo' attribute.

        ```

        {
          "enableCustomWorkloadProfile": true,
          "redfishData": {
            "Attributes": {
              "WorkloadProfile": "vRAN",
              "EnergyEfficientTurbo": "Enabled"
            }
          }
        }

        ```
      properties:
        enableCustomWorkloadProfile:
          type: boolean
          title: Use 'Custom' WorkloadProfile for final configuration
          description: >-
            Initially configure with the WorkloadProfile defined in
            'Attributes', then restart the device and configure all 'Attributes'
            with the 'Custom' workload profile.  Default is 'false'.
        redfishData:
          type: object
          title: DMTF Redfish® BIOS Schema Data
          description: >-
            Schema data for the BIOS subsystem as defined by the DMTF Redfish®
            standard.
          properties:
            Attributes:
              type: object
              title: BIOS Attributes
              description: >-
                A collection of BIOS attributes and their requested values.  For
                HPE devices, these are documented at
                https://servermanagementportal.ext.hpe.com/docs/redfishservices/
                under the 'Bios' Resource definition of the corresponding iLO
                reference document.
              example:
                AdminName: Luke
                WorkloadProfile: GeneralPowerEfficientCompute
    settingMultiVolumeStorage-v1beta1:
      type: object
      title: Multiple volume STORAGE server setting
      description: >-
        Settings for `STORAGE` category containing one or more expected volume
        definitions for a server.
      properties:
        volumes:
          type: array
          description: >-
            Array containing one or more volume definitions to be configured
            upon applying the settings to a server.
          items:
            type: object
            description: Server settings volume definition.
            required:
              - raidType
            properties:
              id:
                type:
                  - string
                  - 'null'
                format: uuid
                description: >-
                  UUID identifying a specific volume on the server setting. Used
                  while applying server settings to distinguish volume
                  definitions from one another. If the id is not provided, one
                  will be generated automatically when the server setting is
                  created.
              raidType:
                type: string
                enum:
                  - RAID0
                  - RAID1
                  - RAID1_TRIPLE
                  - RAID10
                  - RAID10_TRIPLE
                  - RAID5
                  - RAID50
                  - RAID6
                  - RAID60
                description: The RAID type of the storage volume.
                example: RAID0
              capacityInGiB:
                type:
                  - integer
                  - 'null'
                description: >-
                  The size of the volume specified in GiB. A null value
                  indicates that the entire capacity of the drives included in
                  the volume will be used.
                example: 100
              driveCount:
                type:
                  - integer
                  - 'null'
                description: >-
                  The number of drives to be included within the volume. A null
                  value indicates that the fewest number of drives supported by
                  the raidType will be used.
                example: 2
              spareDriveCount:
                type:
                  - integer
                  - 'null'
                description: >-
                  The number of spare drives to be configured alongside the
                  volume.
                example: 1
              driveTechnology:
                type:
                  - string
                  - 'null'
                enum:
                  - SAS_HDD
                  - SAS_SSD
                  - SATA_HDD
                  - SATA_SSD
                  - NVME_SSD
                description: >-
                  The media type of the drives to be used when creating the
                  volume. A null value inidcates that the first media type found
                  which fulfils the drive count requirement will be used.
                example: NVME_SSD
              ioPerfModeEnabled:
                type:
                  - boolean
                  - 'null'
                description: >-
                  The value for the volume ioPerfModeEnabled attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
              writeCachePolicy:
                type:
                  - string
                  - 'null'
                enum:
                  - PROTECTED_WRITE_BACK
                  - UNPROTECTED_WRITE_BACK
                  - WRITE_THROUGH
                  - 'OFF'
                description: >-
                  The value for the volume writeCachePolicy attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
                example: WRITE_THROUGH
              readCachePolicy:
                type:
                  - string
                  - 'null'
                enum:
                  - READ_AHEAD
                  - ADAPTIVE_READ_AHEAD
                  - 'OFF'
                description: >-
                  The value for the volume readCachePolicy attribute. A null
                  value indicates that the storage controller will determine the
                  value on the volume.
                example: 'OFF'
    settingSingleVolumeStorage-v1beta1:
      type: object
      title: Single volume STORAGE server setting
      description: Settings for `STORAGE` category
      required:
        - raidType
        - volumeSizeInGB
      properties:
        raidType:
          type: string
          enum:
            - RAID0
            - RAID1
            - RAID5
          description: Select the RAID type for the storage volume.
          example: RAID0
        volumeSizeInGB:
          type: number
          description: >-
            It must be a number >0 or -1, where -1 indicates to use the entire
            disk.
          example: 100
    settingOS-v1beta1:
      type: object
      title: OS image server setting
      description: Settings for `OS` category
      required:
        - osType
        - mediaUrl
      properties:
        osType:
          type: string
          enum:
            - MICROSOFT_WINDOWS
            - VMWARE_ESXI
            - RHEL
            - SUSE_LINUX
            - UBUNTU_LINUX
            - CUSTOM
          description: Select the Operating System Image.
          example: MICROSOFT_WINDOWS
        mediaUrl:
          type: string
          description: Enter the full URL location of the ISO file for the OS image.
        unattendedInstallationFileUrl:
          type: string
          description: >-
            Enter the full URL location of the ISO file for unattended
            installation file.
    settingExternalStorage-v1beta1:
      type: object
      title: EXTERNAL_STORAGE server setting
      description: >
        Settings for `EXTERNAL_STORAGE` category


        Settings that specify how servers in HPE Compute Ops Management (COM)
        can utilize external storage resources that are managed within HPE
        GreenLake for Data Services Cloud Console (DSCC)'s Data Ops Manager
        (DOM).


        Mapping of the terms used between COM and DSCC:

        | COM            | DSCC         |

        |----------------|--------------|

        | adapter port   | initiator    |

        | server         | host         |

        | server group   | host group   |
      required:
        - externalStorageHostOs
      properties:
        externalStorageHostOs:
          $ref: '#/components/schemas/externalStorageHostOS'
          description: >-
            Specify the operating system type to use when configuring Data
            Services Cloud Console hosts.
          example: WINDOWS_SERVER
    settingILO-v1beta1:
      type: object
      title: ILO server setting
      description: Settings for `ILO` category
      required:
        - Attributes
      properties:
        Attributes:
          type: object
          description: >-
            Below are the attributes that make up the iLO Settings payload.
            Currently, the ILO Settings cannot be modified. To learn more about
            each, go through the ILO documentation
          properties:
            '1':
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                RequiredLoginForiLORBSU:
                  type: boolean
                  description: >-
                    RequiredLoginForiLORBSU- Determines whether a
                    user-credential prompt is displayed when a user accesses the
                    iLO RBSU or the iLO Configuration Utility.
                  default: true
            SnmpService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/SnmpService", below are
                the attributes and values that gets patched as a part of apply
                iLO Settings.
              properties:
                SNMPv1Enabled:
                  type: boolean
                  description: >-
                    SNMPv1Enabled- Indicates if the SNMPv1 Query or SNMPv1 Trap
                    is enabled.
                  default: false
            AccountService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/AccountService", below are the
                attributes and values that gets patched as a part of apply iLO
                Settings.
              properties:
                AuthFailureLoggingThreshold:
                  type: integer
                  description: >-
                    This property enables you to view and configure logging
                    criteria for failed authentications.
                  default: 3
                EnforcePasswordComplexity:
                  type: boolean
                  description: >-
                    Enforce complexity rules when a user password is set or
                    changed.
                  default: true
                MinPasswordLength:
                  type: integer
                  description: >-
                    The minimum length for a password to log in to the
                    management processor.
                  default: 8
            NetworkProtocol:
              type: object
              description: "For the endpoint \"/redfish/v1/Managers/1/NetworkProtocol\t\", below are the attributes and values that gets patched as a part of apply iLO Settings."
              properties:
                IPMI_ProtocolEnabled:
                  type: boolean
                  description: Indicates whether IPMI over LAN is enabled for the manager.
                  default: false
            SecurityService:
              type: object
              description: >-
                For the endpoint "/redfish/v1/Managers/1/SecurityService/",
                below are the attributes and values that gets patched as a part
                of apply iLO Settings.
              properties:
                GlobalComponentIntegrity:
                  type: string
                  description: Indicate whether SPDM results are to be ignored or not.
                  default: Enabled
    oveApplianceSoftwareVm-v1beta1:
      type: object
      title: OneView appliance software
      description: >
        Settings for `OVE_SOFTWARE_VM` category.


        Settings specify OneView appliance version to update to.


        This settings category is supported for groups with device type
        OVE_APPLIANCE_VM.
      required:
        - applianceFirmwareId
      properties:
        applianceFirmwareId:
          type: string
          description: >-
            The bundle id of the OneView appliance software. To obtain the
            firmware bundle UUID, use `GET
            /compute-ops-mgmt/v1beta1/appliance-firmware-bundles`  and look at
            the `id` property in the response.
    oveApplianceSoftwareSynergy-v1beta1:
      type: object
      title: OneView Synergy appliance software
      description: >
        Settings for `OVE_SOFTWARE_SYNERGY` category.


        Settings specify OneView Synergy appliance version to update to.


        This settings category is supported for groups with device type
        OVE_APPLIANCE_SYNERGY.
      required:
        - applianceFirmwareId
      properties:
        applianceFirmwareId:
          type: string
          description: >-
            The bundle id of the OneView Synergy appliance software.  To obtain
            the firmware bundle UUID, use `GET
            /compute-ops-mgmt/v1beta1/appliance-firmware-bundles`  and look at
            the `id` property in the response.
    settingsResponse-v1beta1:
      allOf:
        - $ref: '#/components/schemas/settingsResponseNoSetting-v1beta1'
        - type: object
          properties:
            settings:
              type: object
              properties:
                GEN10:
                  oneOf:
                    - $ref: '#/components/schemas/settingFirmware-v1beta1'
                GEN11:
                  oneOf:
                    - $ref: '#/components/schemas/settingFirmware-v1beta1'
                GEN12:
                  oneOf:
                    - $ref: '#/components/schemas/settingFirmware-v1beta1'
                DEFAULT:
                  oneOf:
                    - $ref: '#/components/schemas/settingBIOS-v1beta1'
                    - $ref: '#/components/schemas/settingMultiVolumeStorage-v1beta1'
                    - $ref: '#/components/schemas/settingSingleVolumeStorage-v1beta1'
                    - $ref: '#/components/schemas/settingOS-v1beta1'
                    - $ref: '#/components/schemas/settingExternalStorage-v1beta1'
                    - $ref: '#/components/schemas/settingILO-v1beta1'
                    - $ref: '#/components/schemas/oveApplianceSettingsAny-v1beta1'
                    - $ref: '#/components/schemas/oveApplianceSettingsSynergy-v1beta1'
                    - $ref: '#/components/schemas/oveServerTemplates-v1beta1'
                    - $ref: '#/components/schemas/oveApplianceSoftwareVm-v1beta1'
                    - $ref: '#/components/schemas/oveApplianceSoftwareSynergy-v1beta1'
    settingsCollection-v1beta1:
      allOf:
        - description: Device settings collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/settingsResponse-v1beta1'
    settingsCreateRequest-v1beta1:
      description: Device settings
      type: object
      required:
        - name
        - category
      properties:
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the setting
          type: string
        description:
          maxLength: 10000
          description: The description for the setting
          type:
            - string
            - 'null'
          example: Firmware server setting
        category:
          description: >
            The category to which the settings data applies.


            The available server settings categories are:


            | Category         |
            Purpose                                                            |

            |------------------|--------------------------------------------------------------------|

            | BIOS             | BIOS
            configuration                                                 |

            | EXTERNAL_STORAGE | HPE GreenLake for Data Services Cloud Console
            (DSCC) configuration |

            | FIRMWARE         | firmware
            configuration                                             |

            | ILO              | iLO security
            configuration                                         |

            | OS               | operating
            system                                                   |

            | STORAGE          | internal storage
            configuration                                     |


            The available OneView VM appliance settings categories are:


            | Category                       |
            Purpose                                              |

            |--------------------------------|------------------------------------------------------|

            | OVE_APPLIANCE_SETTINGS_ANY     | appliance
            configuration                              |

            | OVE_SERVER_TEMPLATES_VM        | server profile
            templates                             |

            | OVE_SOFTWARE_VM                | OneView appliance
            software                           |


            The available OneView Synergy appliance settings categories are:


            | Category                       |
            Purpose                                              |

            |--------------------------------|------------------------------------------------------|

            | OVE_APPLIANCE_SETTINGS_ANY     | appliance
            configuration                              |

            | OVE_APPLIANCE_SETTINGS_SYNERGY | synergy-specific appliance
            configuration             |

            | OVE_SERVER_TEMPLATES_SYNERGY   | server profile
            templates                             |

            | OVE_SOFTWARE_SYNERGY           | OneView Synergy appliance
            software                   |
          type: string
          enum:
            - BIOS
            - EXTERNAL_STORAGE
            - FIRMWARE
            - ILO
            - OS
            - STORAGE
            - OVE_APPLIANCE_SETTINGS_ANY
            - OVE_APPLIANCE_SETTINGS_SYNERGY
            - OVE_SERVER_TEMPLATES_SYNERGY
            - OVE_SERVER_TEMPLATES_VM
            - OVE_SOFTWARE_VM
            - OVE_SOFTWARE_SYNERGY
        settings:
          description: >
            Configuration data corresponding to the specified category.


            ILO settings are HPE-defined only. Adding a new ILO setting is not
            supported.


            The following table shows the available schema keys for each
            settings category:


            | Category         | Key(s)              |
            Details                                      |

            |------------------|---------------------|----------------------------------------------|

            | BIOS             | DEFAULT             | server BIOS
            configuration                    |

            | EXTERNAL_STORAGE | DEFAULT             | HPE GreenLake for DSCC
            storage configuration |

            | FIRMWARE         | GEN10, GEN11, GEN12 | Firmware for the
            specified platform(s)       |

            | ILO              | DEFAULT             | iLO security
            configuration                   |

            | OS               | DEFAULT             | Installed operating
            system                   |

            | STORAGE          | DEFAULT             | Internal storage
            configuration               |

            | OVE_*            | DEFAULT             | All OneView appliance
            settings categories    |
          type: object
          properties:
            GEN10:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1beta1'
            GEN11:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1beta1'
            GEN12:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1beta1'
            DEFAULT:
              oneOf:
                - $ref: '#/components/schemas/settingBIOS-v1beta1'
                - $ref: '#/components/schemas/settingMultiVolumeStorage-v1beta1'
                - $ref: '#/components/schemas/settingSingleVolumeStorage-v1beta1'
                - $ref: '#/components/schemas/settingOS-v1beta1'
                - $ref: '#/components/schemas/settingExternalStorage-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSettingsAny-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSettingsSynergy-v1beta1'
                - $ref: '#/components/schemas/oveServerTemplates-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSoftwareVm-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSoftwareSynergy-v1beta1'
                - $ref: '#/components/schemas/settingILO-v1beta1'
    settingsUpdateRequest-v1beta1:
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 1
          description: The display name for the setting
          type: string
        description:
          maxLength: 10000
          description: The description for the setting
          type:
            - string
            - 'null'
        settings:
          description: Configuration data corresponding to the specified category
          type: object
          properties:
            GEN10:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1beta1'
            GEN11:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1beta1'
            GEN12:
              oneOf:
                - $ref: '#/components/schemas/settingFirmware-v1beta1'
            DEFAULT:
              oneOf:
                - $ref: '#/components/schemas/settingBIOS-v1beta1'
                - $ref: '#/components/schemas/settingMultiVolumeStorage-v1beta1'
                - $ref: '#/components/schemas/settingSingleVolumeStorage-v1beta1'
                - $ref: '#/components/schemas/settingOS-v1beta1'
                - $ref: '#/components/schemas/settingExternalStorage-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSettingsAny-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSettingsSynergy-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSoftwareVm-v1beta1'
                - $ref: '#/components/schemas/oveApplianceSoftwareSynergy-v1beta1'
                - $ref: '#/components/schemas/settingILO-v1beta1'
    healthState:
      type: string
      enum:
        - UNKNOWN
        - OK
        - WARNING
        - CRITICAL
        - READY
        - NOT_PRESENT
      description: Health state
    redundancyState:
      type: string
      enum:
        - NON_REDUNDANT
        - REDUNDANT
        - NOT_PRESENT
        - UNKNOWN
      description: Redundancy state
    firmwareInventoryItem-v1:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        deviceContext:
          type: string
    softwareInventoryItem-v1:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        deviceContext:
          type: string
    firmwareInventoryUpdate-v1:
      type: object
      properties:
        name:
          description: Name of the firmware component that was updated
          type: string
        version:
          description: Version of the firmware that the component was updated to
          type: string
        status:
          description: Status of the firmware update
          type: string
          enum:
            - OK
            - FAILED
    server-v1:
      description: Server
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the server given by the system
          type: string
          format: productId+serialNumber
        name:
          description: Name given to resource
          type: string
          example: myServer
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server
        resourceUri:
          description: URI to the server itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1/servers/875765-S01+1M512501AB
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of server creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last server update
          type: string
          format: date-time
        platformFamily:
          oneOf:
            - description: No Platform family
              type: 'null'
            - description: Platform family of the server
              type: string
              enum:
                - PROLIANT
                - ALLETRA
                - EDGELINE
        serverGeneration:
          description: Server Hardware Generation
          type:
            - string
          enum:
            - GEN_10
            - GEN_11
            - UNKNOWN
        hardware:
          type: object
          title: hardware
          description: Server hardware details
          properties:
            serialNumber:
              type: string
            model:
              type:
                - string
                - 'null'
            uuid:
              type:
                - string
                - 'null'
              format: uuid
            productId:
              type: string
            powerState:
              type: string
              description: This will be a mix of power states and reset types.
              enum:
                - UNKNOWN
                - 'ON'
                - 'OFF'
                - POWERING_ON
                - POWERING_OFF
                - RESET
            indicatorLed:
              type: string
              enum:
                - UNKNOWN
                - LIT
                - BLINKING
                - 'OFF'
            health:
              type:
                - object
                - 'null'
              title: health
              description: Server health details
              properties:
                summary:
                  description: Calculated summary of the overall health
                  $ref: '#/components/schemas/healthState'
                fans:
                  $ref: '#/components/schemas/healthState'
                fanRedundancy:
                  $ref: '#/components/schemas/redundancyState'
                liquidCooling:
                  $ref: '#/components/schemas/healthState'
                liquidCoolingRedundancy:
                  $ref: '#/components/schemas/redundancyState'
                memory:
                  $ref: '#/components/schemas/healthState'
                network:
                  $ref: '#/components/schemas/healthState'
                powerSupplies:
                  $ref: '#/components/schemas/healthState'
                powerSupplyRedundancy:
                  $ref: '#/components/schemas/redundancyState'
                processor:
                  $ref: '#/components/schemas/healthState'
                storage:
                  $ref: '#/components/schemas/healthState'
                temperature:
                  $ref: '#/components/schemas/healthState'
                bios:
                  $ref: '#/components/schemas/healthState'
                smartStorage:
                  $ref: '#/components/schemas/healthState'
                healthLED:
                  $ref: '#/components/schemas/healthState'
            platform:
              oneOf:
                - type: string
                  description: Type of server
                - type: 'null'
                  description: Type of server not available
            formFactor:
              oneOf:
                - type: string
                  description: Physical dimensions of the server
                - type: 'null'
                  description: Physical dimensions of the server not available
            bmc:
              type:
                - object
                - 'null'
              title: bmc
              description: iLO BMC details
              properties:
                mac:
                  type: string
                ip:
                  type: string
                hostname:
                  type: string
                license:
                  oneOf:
                    - type: string
                      description: License type installed on the management processor
                    - type: 'null'
                      description: >-
                        License type installed on the management processor not
                        available
                userDefined:
                  type: object
                  title: userDefined
                  description: >-
                    User defined properties for a credential via secure gateway
                    connection
                  properties:
                    host:
                      type: string
                      description: IP address or the BMC
                    username:
                      type: string
                      description: Username used to access the BMC
                    password:
                      type: string
                      description: Password used to access the BMC
                    certificateFingerprint:
                      type: string
                      description: Certificate fingerprint of the BMC
            memoryMb:
              oneOf:
                - type: 'null'
                  description: Total memory not available
                - type: integer
                  description: Total memory in MiB
            manufacturer:
              type: string
              description: Manufacturer of the server hardware
        state:
          type: object
          title: state
          description: Server connectivity state
          properties:
            managed:
              type: boolean
            connected:
              type: boolean
            connectedModifiedAt:
              type:
                - string
                - 'null'
              format: date-time
            subscriptionState:
              description: Subscription State
              type: string
              enum:
                - REQUIRED
                - SUBSCRIBED
                - EXPIRED
            subscriptionTier:
              oneOf:
                - description: Subscription Tier
                  type: string
                  enum:
                    - ENHANCED
                - description: No Subscription Tier
                  type: 'null'
            subscriptionExpiresAt:
              description: Subscription validity end date
              type:
                - string
                - 'null'
              format: date-time
        firmwareInventory:
          description: Firmware Inventory
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/firmwareInventoryItem-v1'
        softwareInventory:
          description: Software Inventory
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/softwareInventoryItem-v1'
        firmwareBundleUri:
          type:
            - string
            - 'null'
        lastFirmwareUpdate:
          description: Details of the last firmware update
          type:
            - object
            - 'null'
          properties:
            status:
              description: Status of the last firmware update
              type: string
              enum:
                - OK
                - FAILED
            attemptedAt:
              description: Date in which the last firmware update job was attempted
              type: string
              format: date-time
            firmwareInventoryUpdates:
              description: List of the components updated by the last firmware update
              type: array
              items:
                $ref: '#/components/schemas/firmwareInventoryUpdate-v1'
        tags:
          description: Extra identifiers a server
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
          example:
            location: San Jose
        processorVendor:
          description: Type and brand of processor
          type:
            - string
            - 'null'
          example: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
        biosFamily:
          description: Bios version
          type:
            - string
            - 'null'
        host:
          type:
            - object
            - 'null'
          title: host
          description: host details
          properties:
            osName:
              type: string
            osVersion:
              type: string
            hostname:
              type: string
            osDescription:
              type: string
            osType:
              type:
                - integer
                - 'null'
        autoIloFwUpdate:
          type: boolean
          description: To opt in for automatic iLO-only firmware update
        oneview:
          type:
            - object
            - 'null'
          description: Details of the OneView managed server
          properties:
            applianceUri:
              type: string
            maintenanceMode:
              type: boolean
              description: True if the server is in maintenance mode, false otherwise
            name:
              type: string
              description: Name of the server in OneView
            state:
              type: string
              description: Current resource state of the server hardware
        lastFullInventoryCollectionAt:
          anyOf:
            - type: string
              description: Last complete inventory collection time
              format: date-time
            - type: 'null'
              description: Complete inventory has not been collected
        lastFullInventoryCollectionPowerState:
          description: Power state of the server when the complete inventory is collected
          type: string
    serverCollection-v1:
      allOf:
        - description: Server collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/server-v1'
    serverCreateRequest-v1:
      type: object
      properties:
        appliance:
          description: Associated secure gateway for the server.
          type: object
          properties:
            applianceId:
              type: string
              description: Unique identifier of the secure gateway.
        hardware:
          description: Server hardware details
          type: object
          properties:
            bmc:
              type: object
              description: Baseboard Management Controller details.
              properties:
                userDefined:
                  description: User defined BMC details.
                  type: object
                  properties:
                    host:
                      type: string
                      description: IP address of the BMC.
                    username:
                      type: string
                      description: Username used to access the BMC.
                    password:
                      type: string
                      description: Password used to access the BMC.
                    certificateFingerprint:
                      type: string
                      description: Certificate fingerprint of the BMC.
    serverJobResponse:
      description: Job response containing the job ID
      type: object
      required:
        - jobId
      properties:
        jobId:
          description: Unique identifier for the job
          type: string
          format: uuid
          example: 1a85c882-1b60-4ae9-9c60-fd68d42fffc3
    serverUpdateRequest-v1:
      type: object
      properties:
        appliance:
          description: Associated secure gateway for the server.
          type: object
          properties:
            applianceId:
              anyOf:
                - type: string
                - type: 'null'
              description: Unique identifier of the secure gateway.
        autoIloFwUpdate:
          description: To opt in for automatic iLO-only firmware update
          type: boolean
          default: true
        hardware:
          description: Server hardware details
          anyOf:
            - type: object
            - type: 'null'
          properties:
            bmc:
              type: object
              description: Baseboard Management Controller details.
              properties:
                userDefined:
                  description: User defined BMC details.
                  type: object
                  properties:
                    host:
                      type: string
                      description: IP address of the BMC.
                    username:
                      type: string
                      description: Username used to access the BMC.
                    password:
                      type: string
                      description: Password used to access the BMC.
                    certificateFingerprint:
                      type: string
                      description: Certificate fingerprint of the BMC.
    serviceNowIncident-v1:
      type: object
      description: >-
        ServiceNow incident details. This data will only be available when a
        ServiceNow incident is created for a service event.
      properties:
        id:
          type: string
          description: ID of the ServiceNow incident
          example: INC0010008
        url:
          type: string
          description: URL of the ServiceNow incident
          example: >-
            https://example.service-now.com/api/now/import/u_demo_incident_inbound_api
        state:
          type: string
          description: State of the ServiceNow incident
          enum:
            - CREATION_SUCCESS
            - CREATION_IN_PROGRESS
            - CREATION_FAILED
    alert-v1:
      description: Server hardware alert
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the alert given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/alert
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of alert creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last alert update
          type: string
          format: date-time
        serverId:
          description: ID of the server to which this alert is associated
          type: string
        severity:
          type: string
          enum:
            - OK
            - WARNING
            - CRITICAL
            - UNKNOWN
            - NOT_PRESENT
            - REDUNDANT
            - NON_REDUNDANT
        description:
          type: string
        resolution:
          type: string
        message:
          type: string
        timestamp:
          type: string
          format: date-time
        category:
          type: string
        serviceEvent:
          type: boolean
        serviceNowIncident:
          $ref: '#/components/schemas/serviceNowIncident-v1'
        caseId:
          type: integer
          description: >-
            ID of the automatically created HPE Support Case. This will be
            available only when a HPE Support Case is created for a service
            event.
          example: 9815373940
        caseUrl:
          type: string
          description: >-
            URL of the automatically created HPE Support Case. This will be
            available only when a HPE Support Case is created for a service
            event.
          example: >-
            https://example.hpe.com/portal/site/hpsc/scm/caseDetails?caseID=9815373940
    alertCollection-v1:
      allOf:
        - description: Alert collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/alert-v1'
    clearAlertData-v1:
      type: object
      properties:
        serverId:
          description: Primary identifier for the server given by the system.
          type: string
          format: productId+serialNumber
          example: P43990-121+SYN1002J11
        messageId:
          description: Unique identifier assigned to alert messages.
          type: string
          example: Utilization.1.0.ProjectedCriticalPowerUtilExceeded
        originOfCondition:
          description: >-
            Property within the alert event data that indicates the source or
            origin of the condition that triggered the alert
          type: string
          example: /api/powerutilization/P39886-B21+MXQ1480B03
    clearAlertRequest-v1:
      description: Clear alert request
      type: object
      required:
        - alerts
      properties:
        alerts:
          description: Alerts resources for power utilization alerts
          type: array
          items:
            $ref: '#/components/schemas/clearAlertData-v1'
    analyzeOsInstallResponse-v1:
      description: Analyze operating system install
      type: object
      properties:
        serverHasStorageVolume:
          type: boolean
          description: Returns true, if the storage volume is present in the server
    serverVolumeDetailsResponse-v1:
      description: Server volume details response
      type: object
      properties:
        serverId:
          type: string
          format: uuid
          description: The server id for the volume details
        createdAt:
          type: string
          format: date-time
          description: Time the volume details were gathered
        updatedAt:
          type: string
          format: date-time
          description: The last time the volume details were updated
        generation:
          type: integer
          minimum: 1
          description: Monotonically increasing update counter
        volumeDetails:
          type: array
          description: Details of the volumes attached to the server
          items:
            type: object
            properties:
              lun:
                type: integer
                description: Logical unit number
              name:
                type: string
                description: Name of the volume
        hostName:
          type: string
          description: Name of the host
        hostOs:
          $ref: '#/components/schemas/externalStorageHostOS'
        hostGroups:
          type: array
          description: Host groups to which the host belongs
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
                description: Name of the host group
    serverInventoryItem-v1:
      type: object
      description: JSON data that describes the intentory of a server
      format: JSON
      additionalProperties:
        type:
          - array
          - boolean
          - integer
          - 'null'
          - object
          - string
    inventory-v1:
      description: Server inventories
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/inventory
        serial:
          type: string
        productId:
          type: string
        lastFullInventoryCollectionAt:
          anyOf:
            - type: string
              description: Last complete inventory collection time
              format: date-time
            - type: 'null'
              description: Complete inventory has not been collected
        lastFullInventoryCollectionPowerState:
          description: Power state of the server when the complete inventory is collected
          type: string
        firmware:
          description: Firmware Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of firmware inventory
                  format: date-time
                - type: 'null'
                  description: Firmware inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of firmware inventory
                - type: 'null'
                  description: Firmware inventory has not been collected
        software:
          description: Software Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of software inventory
                  format: date-time
                - type: 'null'
                  description: Software inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of software inventory
                - type: 'null'
                  description: Software inventory has not been collected
        storage:
          description: Storage Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of storage inventory
                  format: date-time
                - type: 'null'
                  description: Storage inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of storage inventory
                - type: 'null'
                  description: Storage inventory has not been collected
        smartStorage:
          description: Smart Storage Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of smart storage inventory
                  format: date-time
                - type: 'null'
                  description: Smart storage inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of smart storage inventory
                - type: 'null'
                  description: Smart storage inventory has not been collected
        device:
          description: Device Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of device inventory
                  format: date-time
                - type: 'null'
                  description: Device inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of device inventory
                - type: 'null'
                  description: Device inventory has not been collected
        smartUpdateToolInventory:
          description: Smart Update Tool Settings Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of smart update tool settings inventory
                  format: date-time
                - type: 'null'
                  description: Smart update tool settings inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
        chassis:
          description: Chassis Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of chassis inventory
                  format: date-time
                - type: 'null'
                  description: Chassis inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of chassis inventory
                - type: 'null'
                  description: Chassis inventory has not been collected
        memory:
          description: Memory Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of memory inventory
                  format: date-time
                - type: 'null'
                  description: Memory inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of memory inventory
                - type: 'null'
                  description: Memory inventory has not been collected
        networkAdapter:
          description: Network Adapter Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of network adapter inventory
                  format: date-time
                - type: 'null'
                  description: Network adapter inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of network adapter inventory
                - type: 'null'
                  description: Network adapter inventory has not been collected
        processor:
          description: Processor Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of processor inventory
                  format: date-time
                - type: 'null'
                  description: Processor inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of processor inventory
                - type: 'null'
                  description: Processor inventory has not been collected
        powerSupply:
          description: Power Supply Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of power supply inventory
                  format: date-time
                - type: 'null'
                  description: Power supply inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of power supply inventory
                - type: 'null'
                  description: Power supply inventory has not been collected
        thermal:
          description: Thermal Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of thermal inventory
                  format: date-time
                - type: 'null'
                  description: Thermal inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of thermal inventory
                - type: 'null'
                  description: Thermal inventory has not been collected
    chassisInventoryItemRequest-v1:
      type: object
      properties:
        chassisType:
          type: string
          example: null
        oem:
          type: object
          properties:
            hpe:
              type: object
              properties:
                formfactor:
                  type: string
                  example: null
    processorInventoryItemRequest-v1:
      type: object
      properties:
        name:
          type: string
          example: null
        model:
          type: string
          example: null
        status:
          type: object
          example: null
        maxSpeedMHz:
          type: integer
          example: null
        totalCores:
          type: integer
          example: null
        totalThreads:
          type: integer
          example: null
    subsetServerInventoryRequest-v1:
      type: object
      description: >-
        Lists the subset of the server hardware inventory. The request body can
        either specify a subset of attributes, or can be empty, and a subset of
        attributes or the full inventory response is returned.
      properties:
        chassis:
          type: object
          description: Chassis Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/chassisInventoryItemRequest-v1'
        processor:
          type: object
          description: Processor Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/processorInventoryItemRequest-v1'
    chassisInventoryItemResponse-v1:
      type: object
      properties:
        chassisType:
          type: string
          example: RackMount
        oem:
          type: object
          properties:
            hpe:
              type: object
              properties:
                formfactor:
                  type: string
                  example: 1U
    processorInventoryItemResponse-v1:
      type: object
      properties:
        name:
          type: string
          example: Processors
        maxSpeedMHz:
          type: integer
          example: 4100
        model:
          type: string
          example: AMD EPYC 7262 8-Core Processor
        status:
          type: object
          properties:
            health:
              type: string
              example: OK
            state:
              type: string
              example: Enabled
        totalCores:
          type: integer
          example: 8
        totalThreads:
          type: integer
          example: 16
    subsetServerInventoryResponse-v1:
      type: object
      properties:
        chassis:
          type: object
          description: Chassis Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/chassisInventoryItemResponse-v1'
        processor:
          type: object
          description: Processor Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/processorInventoryItemResponse-v1'
    notificationsResponse-v1:
      type: object
      properties:
        serverId:
          type: string
        criticalNotification:
          type: boolean
        criticalNonServiceNotification:
          type:
            - boolean
            - 'null'
        warningNotification:
          type:
            - boolean
            - 'null'
        healthNotification:
          type:
            - boolean
            - 'null'
    notificationsRequest-v1:
      required:
        - criticalNotification
      type: object
      properties:
        criticalNotification:
          type: boolean
        criticalNonServiceNotification:
          type:
            - boolean
            - 'null'
        warningNotification:
          type:
            - boolean
            - 'null'
        healthNotification:
          type:
            - boolean
            - 'null'
    serverRawInventoryItem-v1:
      type: object
      description: JSON data that describes the raw intentory of a server
      format: JSON
      additionalProperties:
        type:
          - array
          - boolean
          - integer
          - 'null'
          - object
          - string
    rawInventory-v1:
      description: Server raw inventories
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/raw-inventory
        serial:
          type: string
        productId:
          type: string
        firmwareInventory:
          description: Firmware Inventory
          type: array
          items:
            $ref: '#/components/schemas/serverRawInventoryItem-v1'
        softwareInventory:
          description: Software Inventory
          type: array
          items:
            $ref: '#/components/schemas/serverRawInventoryItem-v1'
        storageInventory:
          description: JSON data that describes Storage Inventory
          type: object
          format: JSON
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
        pciDevices:
          description: PCI devices
          type: array
          items:
            $ref: '#/components/schemas/serverRawInventoryItem-v1'
        smartUpdateTool:
          description: JSON data that describes Integrated Smart Update Tools settings
          type: object
          format: JSON
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
    securityParameter-v1:
      description: JSON data that describes the security parameters of a server
      type: object
      properties:
        name:
          type: string
        securityStatus:
          description: a enum describing the current status of the parameter
          type: string
          enum:
            - OK
            - RISK
            - IGNORE
        id:
          type: string
        ignore:
          type: boolean
          description: a boolean value indicating the parameter is marked as ignored.
        description:
          type: string
        recommendedAction:
          type: string
        state:
          type: string
          description: a string defining the current state of the parameter.
          enum:
            - DISABLED
            - ENABLED
            - FAILED
            - INSUFFICIENT
            - 'OFF'
            - OK
            - REPAIRED
            - 'TRUE'
            - 'FALSE'
          x-enum-descriptions:
            - DISABLED: The state of the Security Parameter is Disabled.
            - ENABLED: The state of the Security Parameter is Enabled.
            - FAILED: >-
                The status of the Security Parameter or the result of an
                operation represented by the Security Parameter is Failed.
            - INSUFFICIENT: >-
                The value of the Security Parameter is Insufficient or less than
                the default value.
            - 'OFF': The state of the Security Parameter is Off.
            - OK: >-
                The status of the Security Parameter or the result of an
                operation represented by the Security Parameter is Ok.
            - 'On': The state of the Security Parameter is On.
            - REPAIRED: The state of the Security Parameter is Repaired.
            - 'TRUE': The state of the Security Parameter is True.
            - 'FALSE': The state of the Security Parameter is False.
    securityParametersResponse-v1:
      description: Server security parameters
      type: object
      properties:
        id:
          type: string
        overallSecurityStatus:
          description: a enum describing the overall security status of the server
          type: string
          enum:
            - OK
            - RISK
            - IGNORE
        iloSecurityParams:
          oneOf:
            - type: array
              items:
                $ref: '#/components/schemas/securityParameter-v1'
            - type: 'null'
              description: Security paramerer has not been collected
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/server/security-parameter
        resourceUri:
          type: string
          description: URI to the security parameter resource itself (i.e. a self link).
    tor-port-mappings-v1:
      description: Server adapter port connectivity mappings
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the port mapping data given by system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/tor-port-mapping
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of port connectivity information created
          type: string
          format: date-time
        updatedAt:
          description: Time of port connectivity information updated
          type: string
          format: date-time
        serverId:
          description: ID of the server to which this port is associated
          type: string
        portMac:
          description: Server adapter port macaddress
          type: string
        clientState:
          description: MAC learning status on switch for server port macaddress
          oneOf:
            - description: No client state
              type:
                - 'null'
            - description: Active traffic (MAC learnt)
              const: ONLINE
              type: string
            - description: Active traffic in past 90 days
              const: OFFLINE
              type: string
            - description: Client state not determined
              const: UNKNOWN
              type: string
        portLastConnectedAt:
          description: Date and time at which the active traffic was observed last time
          type: string
          format: date-time
        portConnectivityState:
          description: Switch port connectivity discovered state
          oneOf:
            - description: No port connectivity state
              type:
                - 'null'
            - description: Connectivity discovered at present
              const: CURRENT
              type: string
            - description: Connectivity discovered previously
              const: CACHED
              type: string
            - description: Connectivity not determined
              const: UNDETERMINED
              type: string
            - description: Connectivity not discovered
              const: NOMAPPING
              type: string
        switchPortAdminState:
          oneOf:
            - description: No switch port administrative state
              type: 'null'
            - description: Switch port administrative state
              type: string
              enum:
                - UP
                - DOWN
                - UNKNOWN
        switchPortLinkStatus:
          oneOf:
            - description: No switch port link state
              type: 'null'
            - description: Switch port oper/link status
              type: string
              enum:
                - UP
                - DOWN
                - UNKNOWN
        switchPort:
          description: Switch port where server adapter port is connected
          type: string
        switchPortSpeed:
          description: Speed configured on switch port
          type: string
        switchPortNativeVlan:
          description: Native vlan configured on switch port
          type: string
        switchPortVlans:
          description: Vlans configured on siwtch port
          type: string
        switchName:
          description: Switch name
          type: string
        switchModel:
          description: Switch model
          type: string
        switchSerialNumber:
          description: Switch serial number
          type: string
        switchStatus:
          description: Switch connection state
          oneOf:
            - description: No switch connection state
              type:
                - 'null'
            - description: Switch state is online in aruba central
              const: UP
              type: string
            - description: Switch state is offline in aruba central
              const: DOWN
              type: string
            - description: Switch connection state not determined
              const: UNKNOWN
              type: string
        switchSite:
          description: Site name of the switch
          type: string
        switchGroupName:
          description: Gorup name of the switch
          type: string
        switchFwVersion:
          description: Switch firmware version
          type: string
        switchIpAddress:
          description: Switch IP address
          type: string
    torPortMappingsCollection-v1:
      allOf:
        - description: Adapter to switch port mappings collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/tor-port-mappings-v1'
    firmwareInventoryItem-v1beta2:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        deviceContext:
          type: string
    softwareInventoryItem-v1beta2:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        deviceContext:
          type: string
    firmwareInventoryUpdate-v1beta2:
      type: object
      properties:
        name:
          description: Name of the firmware component that was updated
          type: string
        version:
          description: Version of the firmware that the component was updated to
          type: string
        status:
          description: Status of the firmware update
          type: string
          enum:
            - OK
            - FAILED
    server-v1beta2:
      description: Server
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the server given by the system
          type: string
          format: productId+serialNumber
        name:
          description: Name given to resource
          type: string
          example: myServer
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server
        resourceUri:
          description: URI to the server itself (i.e. a self link)
          type: string
          format: uri-reference
          example: /compute-ops-mgmt/v1beta2/servers/875765-S01+1M512501AB
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of server creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last server update
          type: string
          format: date-time
        platformFamily:
          oneOf:
            - description: No Platform family
              type: 'null'
            - description: Platform family of the server
              type: string
              enum:
                - PROLIANT
                - ALLETRA
                - EDGELINE
        serverGeneration:
          description: Server Hardware Generation
          type:
            - string
          enum:
            - GEN_10
            - GEN_11
            - UNKNOWN
        hardware:
          type: object
          title: hardware
          description: Server hardware details
          properties:
            serialNumber:
              type: string
            model:
              type:
                - string
                - 'null'
            uuid:
              type:
                - string
                - 'null'
              format: uuid
            productId:
              type: string
            powerState:
              type: string
              description: This will be a mix of power states and reset types.
              enum:
                - UNKNOWN
                - 'ON'
                - 'OFF'
                - POWERING_ON
                - POWERING_OFF
                - RESET
            indicatorLed:
              type: string
              enum:
                - UNKNOWN
                - LIT
                - BLINKING
                - 'OFF'
            health:
              type:
                - object
                - 'null'
              title: health
              description: Server health details
              properties:
                summary:
                  description: Calculated summary of the overall health
                  $ref: '#/components/schemas/healthState'
                fans:
                  $ref: '#/components/schemas/healthState'
                fanRedundancy:
                  $ref: '#/components/schemas/redundancyState'
                liquidCooling:
                  $ref: '#/components/schemas/healthState'
                liquidCoolingRedundancy:
                  $ref: '#/components/schemas/redundancyState'
                memory:
                  $ref: '#/components/schemas/healthState'
                network:
                  $ref: '#/components/schemas/healthState'
                powerSupplies:
                  $ref: '#/components/schemas/healthState'
                powerSupplyRedundancy:
                  $ref: '#/components/schemas/redundancyState'
                processor:
                  $ref: '#/components/schemas/healthState'
                storage:
                  $ref: '#/components/schemas/healthState'
                temperature:
                  $ref: '#/components/schemas/healthState'
                bios:
                  $ref: '#/components/schemas/healthState'
                smartStorage:
                  $ref: '#/components/schemas/healthState'
                healthLED:
                  $ref: '#/components/schemas/healthState'
            platform:
              oneOf:
                - type: string
                  description: Type of server
                - type: 'null'
                  description: Type of server not available
            formFactor:
              oneOf:
                - type: string
                  description: Physical dimensions of the server
                - type: 'null'
                  description: Physical dimensions of the server not available
            bmc:
              type:
                - object
                - 'null'
              title: bmc
              description: iLO BMC details
              properties:
                mac:
                  type: string
                ip:
                  type: string
                hostname:
                  type: string
                license:
                  oneOf:
                    - type: string
                      description: License type installed on the management processor
                    - type: 'null'
                      description: >-
                        License type installed on the management processor not
                        available
                userDefined:
                  type: object
                  title: userDefined
                  description: >-
                    User defined properties for a credential via secure gateway
                    connection
                  properties:
                    host:
                      type: string
                      description: IP address of the BMC
                    username:
                      type: string
                      description: Username used to access the BMC
                    password:
                      type: string
                      description: Password used to access the BMC
                    certificateFingerprint:
                      type: string
                      description: Certificate fingerprint of the BMC
            memoryMb:
              oneOf:
                - type: 'null'
                  description: Total memory not available
                - type: integer
                  description: Total memory in MiB
        state:
          type: object
          title: state
          description: Server connectivity state
          properties:
            managed:
              type: boolean
            connected:
              type: boolean
            connectedModifiedAt:
              type:
                - string
                - 'null'
              format: date-time
            subscriptionState:
              description: Subscription State
              type: string
              enum:
                - REQUIRED
                - SUBSCRIBED
                - EXPIRED
            subscriptionTier:
              oneOf:
                - description: Subscription Tier
                  type: string
                  enum:
                    - Enhanced
                - description: No Subscription Tier
                  type: 'null'
            subscriptionExpiresAt:
              description: Subscription validity end date
              type:
                - string
                - 'null'
              format: date-time
        firmwareInventory:
          description: Firmware Inventory
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/firmwareInventoryItem-v1beta2'
        softwareInventory:
          description: Software Inventory
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/softwareInventoryItem-v1beta2'
        firmwareBundleUri:
          type:
            - string
            - 'null'
        lastFirmwareUpdate:
          description: Details of the last firmware update
          type:
            - object
            - 'null'
          properties:
            status:
              description: Status of the last firmware update
              type: string
              enum:
                - OK
                - FAILED
            attemptedAt:
              description: Date in which the last firmware update job was attempted
              type: string
              format: date-time
            firmwareInventoryUpdates:
              description: List of the components updated by the last firmware update
              type: array
              items:
                $ref: '#/components/schemas/firmwareInventoryUpdate-v1beta2'
        tags:
          description: Extra identifiers a server
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
          example:
            location: San Jose
        processorVendor:
          description: Type and brand of processor
          type:
            - string
            - 'null'
          example: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
        biosFamily:
          description: Bios version
          type:
            - string
            - 'null'
        host:
          type:
            - object
            - 'null'
          title: host
          description: host details
          properties:
            osName:
              type: string
            osVersion:
              type: string
            hostname:
              type: string
            osDescription:
              type: string
            osType:
              type:
                - integer
                - 'null'
        autoIloFwUpdate:
          type: boolean
          description: To opt in for automatic iLO-only firmware update
        oneview:
          type:
            - object
            - 'null'
          description: Details of the OneView managed server
          properties:
            applianceUri:
              type: string
            maintenanceMode:
              type: boolean
              description: True if the server is in maintenance mode, false otherwise
            name:
              type: string
              description: Name of the server in OneView
            state:
              type: string
              description: Current resource state of the server hardware
        lastFullInventoryCollectionAt:
          anyOf:
            - type: string
              description: Last complete inventory collection time
              format: date-time
            - type: 'null'
              description: Complete inventory has not been collected
        lastFullInventoryCollectionPowerState:
          description: Power state of the server when the complete inventory is collected
          type: string
    serverCollection-v1beta2:
      allOf:
        - description: Server collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/server-v1beta2'
    serverCreateRequest-v1beta2:
      type: object
      properties:
        appliance:
          description: Associated secure gateway for the server.
          type: object
          properties:
            applianceId:
              type: string
              description: Unique identifier of the secure gateway.
        hardware:
          description: Server hardware details
          type: object
          properties:
            bmc:
              type: object
              description: Baseboard Management Controller details.
              properties:
                userDefined:
                  description: User defined BMC details.
                  type: object
                  properties:
                    host:
                      type: string
                      description: IP address of the BMC.
                    username:
                      type: string
                      description: Username used to access the BMC.
                    password:
                      type: string
                      description: Password used to access the BMC.
                    certificateFingerprint:
                      type: string
                      description: Certificate fingerprint of the BMC.
    serverUpdateRequest-v1beta2:
      type: object
      properties:
        appliance:
          description: Associated secure gateway for the server.
          type: object
          properties:
            applianceId:
              anyOf:
                - type: string
                - type: 'null'
              description: Unique identifier of the secure gateway.
        autoIloFwUpdate:
          description: To opt in for automatic iLO-only firmware update
          type: boolean
          default: true
        hardware:
          description: Server hardware details
          anyOf:
            - type: object
            - type: 'null'
          properties:
            bmc:
              type: object
              description: Baseboard Management Controller details.
              properties:
                userDefined:
                  description: User defined BMC details.
                  type: object
                  properties:
                    host:
                      type: string
                      description: IP address of the BMC.
                    username:
                      type: string
                      description: Username used to access the BMC.
                    password:
                      type: string
                      description: Password used to access the BMC.
                    certificateFingerprint:
                      type: string
                      description: Certificate fingerprint of the BMC.
    alert-v1beta2:
      description: Server hardware alert
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the alert given by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/alert
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of alert creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last alert update
          type: string
          format: date-time
        serverId:
          description: ID of the server to which this alert is associated
          type: string
        severity:
          type: string
          enum:
            - OK
            - WARNING
            - CRITICAL
            - UNKNOWN
            - NOT_PRESENT
            - REDUNDANT
            - NON_REDUNDANT
        description:
          type: string
        resolution:
          type: string
        message:
          type: string
        timestamp:
          type: string
          format: date-time
        category:
          type: string
        serviceEvent:
          type: boolean
        serviceNowIncident:
          $ref: '#/components/schemas/serviceNowIncident-v1'
        caseId:
          type: integer
          description: >-
            ID of the automatically created HPE Support Case. This will be
            available only when a HPE Support Case is created for a service
            event.
          example: 9815373940
        caseUrl:
          type: string
          description: >-
            URL of the automatically created HPE Support Case. This will be
            available only when a HPE Support Case is created for a service
            event.
          example: >-
            https://example.hpe.com/portal/site/hpsc/scm/caseDetails?caseID=9815373940
    alertCollection-v1beta2:
      allOf:
        - description: Alert collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/alert-v1beta2'
    analyzeOsInstallResponse-v1beta2:
      description: Analyze operating system install
      type: object
      properties:
        serverHasStorageVolume:
          type: boolean
          description: Returns true, if the storage volume is present in the server
    serverVolumeDetailsResponse-v1beta2:
      description: Server volume details response
      type: object
      properties:
        serverId:
          type: string
          format: uuid
          description: The server id for the volume details
        createdAt:
          type: string
          format: date-time
          description: Time the volume details were gathered
        updatedAt:
          type: string
          format: date-time
          description: The last time the volume details were updated
        generation:
          type: integer
          minimum: 1
          description: Monotonically increasing update counter
        volumeDetails:
          type: array
          description: Details of the volumes attached to the server
          items:
            type: object
            properties:
              lun:
                type: integer
                description: Logical unit number
              name:
                type: string
                description: Name of the volume
        hostName:
          type: string
          description: Name of the host
        hostOs:
          $ref: '#/components/schemas/externalStorageHostOS'
        hostGroups:
          type: array
          description: Host groups to which the host belongs
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
                description: Name of the host group
    serverInventoryItem-v1beta2:
      type: object
      description: JSON data that describes the intentory of a server
      format: JSON
      additionalProperties:
        type:
          - array
          - boolean
          - integer
          - 'null'
          - object
          - string
    inventory-v1beta2:
      description: Server inventories
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/inventory
        serial:
          type: string
        productId:
          type: string
        lastFullInventoryCollectionAt:
          anyOf:
            - type: string
              description: Last complete inventory collection time
              format: date-time
            - type: 'null'
              description: Complete inventory has not been collected
        lastFullInventoryCollectionPowerState:
          description: Power state of the server when the complete inventory is collected
          type: string
        firmware:
          description: Firmware Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of firmware inventory
                  format: date-time
                - type: 'null'
                  description: Firmware inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of firmware inventory
                - type: 'null'
                  description: Firmware inventory has not been collected
        software:
          description: Software Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of software inventory
                  format: date-time
                - type: 'null'
                  description: Software inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of software inventory
                - type: 'null'
                  description: Software inventory has not been collected
        storage:
          description: Storage Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of storage inventory
                  format: date-time
                - type: 'null'
                  description: Storage inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of storage inventory
                - type: 'null'
                  description: Storage inventory has not been collected
        smartStorage:
          description: Smart Storage Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of smart storage inventory
                  format: date-time
                - type: 'null'
                  description: Smart storage inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of smart storage inventory
                - type: 'null'
                  description: Smart storage inventory has not been collected
        device:
          description: Device Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of device inventory
                  format: date-time
                - type: 'null'
                  description: Device inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of device inventory
                - type: 'null'
                  description: Device inventory has not been collected
        smartUpdateToolInventory:
          description: Smart Update Tool Settings Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of smart update tool settings inventory
                  format: date-time
                - type: 'null'
                  description: Smart update tool settings inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
        chassis:
          description: Chassis Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of chassis inventory
                  format: date-time
                - type: 'null'
                  description: Chassis inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of chassis inventory
                - type: 'null'
                  description: Chassis inventory has not been collected
        memory:
          description: Memory Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of memory inventory
                  format: date-time
                - type: 'null'
                  description: Memory inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of memory inventory
                - type: 'null'
                  description: Memory inventory has not been collected
        networkAdapter:
          description: Network Adapter Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of network adapter inventory
                  format: date-time
                - type: 'null'
                  description: Network adapter inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of network adapter inventory
                - type: 'null'
                  description: Network adapter inventory has not been collected
        processor:
          description: Processor Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of processor inventory
                  format: date-time
                - type: 'null'
                  description: Processor inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of processor inventory
                - type: 'null'
                  description: Processor inventory has not been collected
        powerSupply:
          description: Power Suppy Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of power supply inventory
                  format: date-time
                - type: 'null'
                  description: Power supply inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of power supply inventory
                - type: 'null'
                  description: Power supply inventory has not been collected
        thermal:
          description: Thermal Inventory
          type: object
          properties:
            modified:
              anyOf:
                - type: string
                  description: Last modified time of thermal inventory
                  format: date-time
                - type: 'null'
                  description: Thermal inventory has not been collected
            data:
              anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/serverInventoryItem-v1beta2'
                - type: 'null'
            collectionState:
              anyOf:
                - type: string
                  description: Collection state of thermal inventory
                - type: 'null'
                  description: Thermal inventory has not been collected
    chassisInventoryItemRequest-v1beta2:
      type: object
      properties:
        chassisType:
          type: string
          example: null
        oem:
          type: object
          properties:
            hpe:
              type: object
              properties:
                formfactor:
                  type: string
                  example: null
    processorInventoryItemRequest-v1beta2:
      type: object
      properties:
        name:
          type: string
          example: null
        model:
          type: string
          example: null
        status:
          type: object
          example: null
        maxSpeedMHz:
          type: integer
          example: null
        totalCores:
          type: integer
          example: null
        totalThreads:
          type: integer
          example: null
    subsetServerInventoryRequest-v1beta2:
      type: object
      description: >-
        Lists the subset of the server hardware inventory. The request body can
        either specify a subset of attributes, or can be empty, and a subset of
        attributes or the full inventory response is returned.
      properties:
        chassis:
          type: object
          description: Chassis Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/chassisInventoryItemRequest-v1beta2'
        processor:
          type: object
          description: Processor Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/processorInventoryItemRequest-v1beta2'
    chassisInventoryItemResponse-v1beta2:
      type: object
      properties:
        chassisType:
          type: string
          example: RackMount
        oem:
          type: object
          properties:
            hpe:
              type: object
              properties:
                formfactor:
                  type: string
                  example: 1U
    processorInventoryItemResponse-v1beta2:
      type: object
      properties:
        name:
          type: string
          example: Processors
        maxSpeedMHz:
          type: integer
          example: 4100
        model:
          type: string
          example: AMD EPYC 7262 8-Core Processor
        status:
          type: object
          properties:
            health:
              type: string
              example: OK
            state:
              type: string
              example: Enabled
        totalCores:
          type: integer
          example: 8
        totalThreads:
          type: integer
          example: 16
    subsetServerInventoryResponse-v1beta2:
      type: object
      properties:
        chassis:
          type: object
          description: Chassis Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/chassisInventoryItemResponse-v1beta2'
        processor:
          type: object
          description: Processor Inventory
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/processorInventoryItemResponse-v1beta2'
    notificationsResponse-v1beta2:
      type: object
      properties:
        serverId:
          type: string
        criticalNotification:
          type: boolean
        criticalNonServiceNotification:
          type:
            - boolean
            - 'null'
        warningNotification:
          type:
            - boolean
            - 'null'
        healthNotification:
          type:
            - boolean
            - 'null'
    notificationsRequest-v1beta2:
      required:
        - criticalNotification
      type: object
      properties:
        criticalNotification:
          type: boolean
        criticalNonServiceNotification:
          type:
            - boolean
            - 'null'
        warningNotification:
          type:
            - boolean
            - 'null'
        healthNotification:
          type:
            - boolean
            - 'null'
    serverRawInventoryItem-v1beta2:
      type: object
      description: JSON data that describes the raw intentory of a server
      format: JSON
      additionalProperties:
        type:
          - array
          - boolean
          - integer
          - 'null'
          - object
          - string
    rawInventory-v1beta2:
      description: Server raw inventories
      type: object
      required:
        - id
        - type
      properties:
        id:
          description: Primary identifier for the device given by the system
          type: string
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/raw-inventory
        serial:
          type: string
        productId:
          type: string
        firmwareInventory:
          description: Firmware Inventory
          type: array
          items:
            $ref: '#/components/schemas/serverRawInventoryItem-v1beta2'
        softwareInventory:
          description: Software Inventory
          type: array
          items:
            $ref: '#/components/schemas/serverRawInventoryItem-v1beta2'
        storageInventory:
          description: JSON data that describes Storage Inventory
          type: object
          format: JSON
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
        pciDevices:
          description: PCI devices
          type: array
          items:
            $ref: '#/components/schemas/serverRawInventoryItem-v1beta2'
        smartUpdateTool:
          description: JSON data that describes Integrated Smart Update Tools settings
          type: object
          format: JSON
          additionalProperties:
            type:
              - array
              - boolean
              - integer
              - 'null'
              - object
              - string
    securityParameter-v1beta2:
      description: JSON data that describes the security parameters of a server
      type: object
      properties:
        name:
          type: string
        securityStatus:
          description: a enum describing the current status of the parameter
          type: string
          enum:
            - OK
            - RISK
            - IGNORE
        id:
          type: string
        ignore:
          type: boolean
          description: a boolean value indicating the parameter is marked as ignored.
        description:
          type: string
        recommendedAction:
          type: string
        state:
          type: string
          description: a string defining the current state of the parameter.
          enum:
            - DISABLED
            - ENABLED
            - FAILED
            - INSUFFICIENT
            - 'OFF'
            - OK
            - REPAIRED
            - 'TRUE'
            - 'FALSE'
          x-enum-descriptions:
            - DISABLED: The state of the Security Parameter is Disabled.
            - ENABLED: The state of the Security Parameter is Enabled.
            - FAILED: >-
                The status of the Security Parameter or the result of an
                operation represented by the Security Parameter is Failed.
            - INSUFFICIENT: >-
                The value of the Security Parameter is Insufficient or less than
                the default value.
            - 'OFF': The state of the Security Parameter is Off.
            - OK: >-
                The status of the Security Parameter or the result of an
                operation represented by the Security Parameter is Ok.
            - 'On': The state of the Security Parameter is On.
            - REPAIRED: The state of the Security Parameter is Repaired.
            - 'TRUE': The state of the Security Parameter is True.
            - 'FALSE': The state of the Security Parameter is False.
    securityParametersResponse-v1beta2:
      description: Server security parameters
      type: object
      properties:
        id:
          type: string
        overallSecurityStatus:
          description: a enum describing the overall security status of the server
          type: string
          enum:
            - OK
            - RISK
            - IGNORE
        iloSecurityParams:
          oneOf:
            - type: array
              items:
                $ref: '#/components/schemas/securityParameter-v1beta2'
            - type: 'null'
              description: Security paramerer has not been collected
        type:
          type: string
          description: Type of the resource
          const: compute-ops-mgmt/server/security-parameter
        resourceUri:
          type: string
          description: URI to the security parameter resource itself (i.e. a self link).
    tor-port-mappings-v1beta2:
      description: Server adapter port connectivity mappings
      type: object
      required:
        - id
        - type
        - generation
        - createdAt
        - updatedAt
      properties:
        id:
          description: Primary identifier for the port mapping data given by system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/tor-port-mapping
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of port connectivity information created
          type: string
          format: date-time
        updatedAt:
          description: Time of port connectivity information updated
          type: string
          format: date-time
        serverId:
          description: ID of the server to which this port is associated
          type: string
        portMac:
          description: Server adapter port macaddress
          type: string
        clientState:
          description: MAC learning status on switch for server port macaddress
          oneOf:
            - description: No client state
              type:
                - 'null'
            - description: Active traffic (MAC learnt)
              const: ONLINE
              type: string
            - description: Active traffic in past 90 days
              const: OFFLINE
              type: string
            - description: Client state not determined
              const: UNKNOWN
              type: string
        portLastConnectedAt:
          description: Date and time at which the active traffic was observed last time
          type: string
          format: date-time
        portConnectivityState:
          description: Switch port connectivity discovered state
          oneOf:
            - description: No port connectivity state
              type:
                - 'null'
            - description: Connectivity discovered at present
              const: CURRENT
              type: string
            - description: Connectivity discovered previously
              const: CACHED
              type: string
            - description: Connectivity not determined
              const: UNDETERMINED
              type: string
            - description: Connectivity not discovered
              const: NOMAPPING
              type: string
        switchPortAdminState:
          oneOf:
            - description: No switch port administrative state
              type: 'null'
            - description: Switch port administrative state
              type: string
              enum:
                - UP
                - DOWN
                - UNKNOWN
        switchPortLinkStatus:
          oneOf:
            - description: No switch port link state
              type: 'null'
            - description: Switch port oper/link status
              type: string
              enum:
                - UP
                - DOWN
                - UNKNOWN
        switchPort:
          description: Switch port where server adapter port is connected
          type: string
        switchPortSpeed:
          description: Speed configured on switch port
          type: string
        switchPortNativeVlan:
          description: Native vlan configured on switch port
          type: string
        switchPortVlans:
          description: Vlans configured on siwtch port
          type: string
        switchName:
          description: Switch name
          type: string
        switchModel:
          description: Switch model
          type: string
        switchSerialNumber:
          description: Switch serial number
          type: string
        switchStatus:
          description: Switch connection state
          oneOf:
            - description: No switch connection state
              type:
                - 'null'
            - description: Switch state is online in aruba central
              const: UP
              type: string
            - description: Switch state is offline in aruba central
              const: DOWN
              type: string
            - description: Switch connection state not determined
              const: UNKNOWN
              type: string
        switchSite:
          description: Site name of the switch
          type: string
        switchGroupName:
          description: Gorup name of the switch
          type: string
        switchFwVersion:
          description: Switch firmware version
          type: string
        switchIpAddress:
          description: Switch IP address
          type: string
    torPortMappingsCollection-v1beta2:
      allOf:
        - description: Adapter to switch port mappings collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/tor-port-mappings-v1beta2'
    downloadLogsResponse-v1:
      description: Response of Download Logs - PreSigned URL.
      type: object
      required:
        - id
        - type
        - downloadUrl
        - expiresAt
      properties:
        id:
          description: Primary identifier for the server given by the system
          type: string
          format: productId+serialNumber
          example: P06760-B21+2M212504P8
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/download-logs
        downloadUrl:
          description: >-
            Secure URL to download the server logs file. This URL is strictly
            confidential and valid for 10 minutes.
          type: string
          format: uri
          example: >-
            https://hpe-(cluster).s3.amazonaws.com/ServerLogs/(workspace_id)/(id)/HPE-(id)-server-log.zip
        expiresAt:
          description: >-
            Time the download URL expires. After it is expired, attempting to
            download the server logs with it will fail.
          type: string
          format: date-time
          example: '2025-08-01T11:59:59.000037+00:00'
    serverWarranty-v1beta2:
      description: Server
      type: object
      properties:
        id:
          description: UUID given to the resource by the system
          type: string
          format: uuid
        type:
          description: Type of the resource
          type: string
          const: compute-ops-mgmt/server/warranty
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        deviceId:
          description: Primary identifier for the server given by the system
          type: string
          format: productId+serialNumber
        createdAt:
          description: Time of server creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last server update
          type: string
          format: date-time
        supportState:
          description: Current support status of the server
          type: string
          enum:
            - ACTIVE
            - EXPIRED
            - UNKNOWN
        supportLevel:
          description: Support level of the server
          type: string
          example: Warranty
        contractLevel:
          description: Contract level of the server
          type: string
          example: HPE Warranty
        supportStartDate:
          description: Support start date of the server
          type: string
          format: date-time
        supportEndDate:
          description: Support end date of the server
          type: string
          format: date-time
    serverWarrantyCollection-v1beta2:
      allOf:
        - description: Server collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - items
            - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/serverWarranty-v1beta2'
    userPreferencesResponse-v1:
      description: User preferences
      type: object
      properties:
        id:
          description: Unique user preference identifier
          type: string
          example: 36e00ac2-16fb-4dd5-8495-7e6df82fc15e
        type:
          description: The type of the resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/user-preference
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of preferences creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last preferences update
          type: string
          format: date-time
        criticalNotification:
          description: >-
            Default notification choice for server critical notifications that
            are service-level events via email.<br> Override the default
            notification choice by updating the notification settings for a
            server (see /compute-ops-mgmt/v1/servers/{id}/notifications).
          type: boolean
        criticalNonServiceNotification:
          description: >-
            Default notification choice for server critical notifications that
            are non-service-level events via email.<br> Override the default
            notification choice by updating the notification settings for a
            server (see /compute-ops-mgmt/v1/servers/{id}/notifications).
          type: boolean
        warningNotification:
          description: >-
            Default notification choice for server warning-level events via
            email.<br> Override the default notification choice by updating the
            notification settings for a server (see
            /compute-ops-mgmt/v1/servers/{id}/notifications).
          type: boolean
        healthNotification:
          description: >-
            Default notification choice for daily server health notification via
            email.<br> Override the default notification choice by updating the
            notification settings for a server (see
            /compute-ops-mgmt/v1/servers/{id}/notifications).
          type: boolean
    userPreferencesCollection-v1:
      allOf:
        - description: User preferences collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            total:
              example: 1
            items:
              type: array
              items:
                $ref: '#/components/schemas/userPreferencesResponse-v1'
    userPreferencesRequest-v1:
      description: User preferences
      type: object
      required:
        - criticalNotification
      properties:
        criticalNotification:
          type: boolean
        criticalNonServiceNotification:
          type: boolean
        warningNotification:
          type: boolean
        healthNotification:
          type: boolean
    userPreferencesResponse-v1beta1:
      description: User preferences
      type: object
      properties:
        id:
          description: Unique user preference identifier
          type: string
          example: 36e00ac2-16fb-4dd5-8495-7e6df82fc15e
        type:
          description: The type of the resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/user-preference
        generation:
          description: Monotonically increasing update counter
          type: integer
          minimum: 1
        createdAt:
          description: Time of preferences creation
          type: string
          format: date-time
        updatedAt:
          description: Time of the last preferences update
          type: string
          format: date-time
        criticalNotification:
          description: >-
            Default notification choice for server critical notifications that
            are service-level events via email.<br> Override the default
            notification choice by updating the notification settings for a
            server (see /compute-ops-mgmt/v1beta2/servers/{id}/notifications).
          type: boolean
        criticalNonServiceNotification:
          description: >-
            Default notification choice for server critical notifications that
            are non-service-level events via email.<br> Override the default
            notification choice by updating the notification settings for a
            server (see /compute-ops-mgmt/v1beta2/servers/{id}/notifications).
          type: boolean
        warningNotification:
          description: >-
            Default notification choice for server warning-level events via
            email.<br> Override the default notification choice by updating the
            notification settings for a server (see
            /compute-ops-mgmt/v1beta2/servers/{id}/notifications).
          type: boolean
        healthNotification:
          description: >-
            Default notification choice for daily server health notification via
            email.<br> Override the default notification choice by updating the
            notification settings for a server (see
            /compute-ops-mgmt/v1beta2/servers/{id}/notifications).
          type: boolean
    userPreferencesCollection-v1beta1:
      allOf:
        - description: User preferences collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
        - required:
            - count
            - offset
            - total
            - items
          properties:
            total:
              example: 1
            items:
              type: array
              items:
                $ref: '#/components/schemas/userPreferencesResponse-v1beta1'
    userPreferencesRequest-v1beta1:
      description: User preferences
      type: object
      required:
        - criticalNotification
      properties:
        criticalNotification:
          type: boolean
        criticalNonServiceNotification:
          type: boolean
        warningNotification:
          type: boolean
        healthNotification:
          type: boolean
    utilization-over-time-v1beta1:
      type: object
      description: CPU, memory bus, I/O bus or CPU interconnect utilization data over time.
      properties:
        metricType:
          description: The metric type for which utilization data is being retrieved.
          type: string
          enum:
            - CPU_UTILIZATION
            - MEMORY_BUS_UTILIZATION
            - IO_BUS_UTILIZATION
            - CPU_INTERCONNECT_UTILIZATION
          example: CPU_UTILIZATION
        metricUnit:
          description: The unit of the retrieved data.
          type: string
          example: Percentage
        items:
          description: >
            Array of utilization data objects. Each item contains resource
            details, averages, and time series data.
          type: array
          items:
            type: object
            properties:
              resource:
                description: >-
                  Details of the resource for which utilization data is
                  collected.
                type: object
                properties:
                  id:
                    description: ID of the resource.
                    type: string
                    example: 875765-S01+1M512501AB
                  type:
                    description: Type of the resource.
                    type: string
                    enum:
                      - compute-ops-mgmt/filter
                      - compute-ops-mgmt/server
                    example: compute-ops-mgmt/server
              averages:
                description: Average utilization data for the resource.
                type: object
                properties:
                  collected:
                    description: >-
                      Average utilization value of all servers for the given
                      resource-uri for the given date range.
                    type: number
                    example: 75.5
              intervalsCollected:
                description: Time series data for the resource's utilization.
                type: array
                items:
                  type: object
                  properties:
                    time:
                      description: Timestamp of the data point.
                      type: string
                      format: date-time
                      example: '2025-02-01T00:00:00'
                    value:
                      description: Average utilization value for this time interval.
                      type: number
                      example: 80
    cpuUtilization:
      title: CPU Utilization Metadata
      type: object
      description: Metadata for CPU utilization metrics.
      properties:
        processorDetails:
          description: Details about all the processors of the server.
          type: array
          items:
            type: object
            properties:
              cpu:
                description: The name of the processor model.
                type: string
                example: Intel(R) Xeon(R) Silver 4114 CPU
              speedGHz:
                description: Speed of the processor in GHz.
                type: number
                example: 2.6
              coreCount:
                description: Number of cores in the processor.
                type: integer
                example: 16
        processorCount:
          description: >-
            Number of processors in the server. The length of the
            `processorDetails` array.
          type: integer
          example: 2
    membusUtilization:
      title: Memory Bus Utilization Metadata
      type: object
      description: Metadata for memory bus utilization metrics.
      properties:
        memoryDetails:
          description: Details about all the memory modules of the server.
          type: array
          items:
            type: object
            properties:
              memoryType:
                description: The type of memory module.
                type: string
                example: DDR4
              opFrequencyMHz:
                description: Operating frequency of the memory module in MHz.
                type: integer
                example: 2400
              memorySizeGB:
                description: Size of the memory module in GiB.
                type: integer
                example: 32
        memoryCount:
          description: >-
            Number of memory modules in the server. The length of the
            `memoryDetails` array.
          type: integer
          example: 1
        totalMemorySizeGB:
          description: Total memory size in GiB.
          type: integer
          example: 32
    iobusUtilization:
      title: IO Bus Utilization Metadata
      type: object
      description: Metadata for I/O bus utilization metrics.
      properties:
        pcieDevicesCount:
          description: Number of PCIe devices in the server.
          type: integer
          example: 2
    cpuIcUtilization:
      title: CPU Interconnect Utilization Metadata
      type: object
      description: Metadata for CPU interconnect utilization metrics.
      properties:
        processorCount:
          description: Number of CPUs in the server.
          type: integer
          example: 2
    utilization-by-entity-v1beta1:
      type: object
      description: >-
        CPU, memory bus, I/O bus or CPU interconnect utilization data per
        server.
      properties:
        count:
          description: Number of items in the response.
          type: integer
          example: 2
        offset:
          description: Offset of the returned items.
          type: integer
          example: 0
        total:
          description: Total number of items available.
          type: integer
          example: 2
        excluded:
          description: >-
            Number of excluded servers for which utilization data is not
            available.
          type: integer
          example: 0
        metricDetails:
          description: >-
            Details about the metric type for which utilization data is being
            retrieved.
          type: object
          properties:
            metricType:
              description: The metric type for which utilization data is being retrieved.
              type: string
              enum:
                - CPU_UTILIZATION
                - MEMORY_BUS_UTILIZATION
                - IO_BUS_UTILIZATION
                - CPU_INTERCONNECT_UTILIZATION
              example: CPU_UTILIZATION
            metricUnit:
              description: The unit of the retrieved data.
              type: string
              example: Percentage
        items:
          description: List of individual entity utilization data.
          type: array
          items:
            type: object
            properties:
              id:
                description: Unique identifier of the entity
                type: string
                example: ABCDEF-B21+MXQLABC
              name:
                description: Name of the entity
                type: string
                example: server-ABC
              type:
                description: Type of entity
                type: string
                enum:
                  - SERVER
                example: SERVER
              metadata:
                description: Details about different server components.
                oneOf:
                  - $ref: '#/components/schemas/cpuUtilization'
                  - $ref: '#/components/schemas/membusUtilization'
                  - $ref: '#/components/schemas/iobusUtilization'
                  - $ref: '#/components/schemas/cpuIcUtilization'
              collected:
                description: High, low and average utilization values for the entity.
                type: object
                properties:
                  high:
                    description: Maximum daily average utilization value for the entity.
                    type: number
                    example: 95
                  low:
                    description: Minimum daily average utilization value for the entity.
                    type: number
                    example: 10
                  average:
                    description: Average utilization value for the entity.
                    type: number
                    example: 75.5
              status:
                description: >
                  Represents whether data is available for the server.

                  If data is available, the status will show "COMPLETE". 

                  If data is not fully available, the status will show
                  "PARTIAL".
                type: string
                example: COMPLETE
              statusReason:
                description: The reason for the current status.
                type: string
                example: DATA_INSUFFICIENT
    webhookState:
      type: string
      enum:
        - DISABLED
        - ENABLED
      description: >
        The state is managed by both Compute Ops Management and the user. If the
        handshake fails or deliveries are consistently failing this will be set
        to DISABLED by the system.

        * DISABLED - Set by the user to disable the endpoint without losing
        configuration. Additionally can be set by the System when the handshake
        fails or multiple 4xx/5xx responses are received. Events are not sent
        while in this state.

        * ENABLED - Shows that the user has enabled the endpoint. Can only be
        set to ENABLED by the user which will cause the webhook to re-initiate
        the verification handshake, even if it has succeeded in the past.
    webhookStatus:
      type: string
      enum:
        - DISABLED
        - ACTIVE
        - PENDING
        - WARNING
        - ERROR
      description: >
        The current status of the webhook. This status is controlled by Compute
        Ops Management and is read-only for the user.

        * DISABLED - This is a result of the webhook's state being set to
        DISABLED by the user.

        * ACTIVE - Acknowledgment of the endpoint has succeeded, will send any
        events matching the webhook's `eventFilter` to the `destination`.

        * PENDING - Handshake process has begun but acknowledgement has not yet
        completed for the endpoint.

        * WARNING - Indicates an issue with webhook communications. Either there
        have been multiple recent failed deliveries or the endpoint has failed
        the handshake. Look at the webhook's `statusReason` for more
        information.

        * ERROR - Multiple 4xx or 5xx responses have been received from the
        endpoint. Reaching this status will disable the webhook.
    webhookResponse-v1beta1:
      description: Webhooks
      type: object
      properties:
        name:
          description: The name associated with the webhook.
          type: string
          example: Server Webhook
        id:
          description: Unique webhook identifier.
          type: string
          example: 36e00ac2-16fb-4dd5-8495-7e6df82fc15e
        type:
          description: The type of the resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/webhooks
        generation:
          description: Monotonically increasing update counter.
          type: integer
          example: 1
        createdAt:
          description: Time of the webhook's creation in UTC.
          type: string
          format: date-time
          example: '2022-02-11T01:04:20.799937+00:00'
        updatedAt:
          description: Time of the webhook's last update in UTC.
          type: string
          format: date-time
          example: '2022-03-11T01:06:30.799489+00:00'
        destination:
          description: >-
            User configurable https endpoint that is able to receive HTTP GET
            and POST requests.
          type: string
          format: uri
          example: https://example.com/webhookDestination
        eventFilter:
          description: >-
            The OData configuration of events to receive. For more information,
            expand the Event Webhook section and refer to Filtering.
          type: string
          example: type eq 'compute-ops/server'
        state:
          $ref: '#/components/schemas/webhookState'
          type: string
          example: ENABLED
        status:
          $ref: '#/components/schemas/webhookStatus'
          example: ACTIVE
        statusReason:
          description: A description of the last status change.
          type: string
          example: Created
        resourceUri:
          description: The URI of this resource.
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/webhooks/b870f080-6448-48c5-b23a-d04f2d489174
        deliveriesUri:
          description: The URI for the deliveries associated with this resource.
          type: string
          format: uri-reference
          example: >-
            /compute-ops-mgmt/v1beta1/webhooks/b870f080-6448-48c5-b23a-d04f2d489174/deliveries
    webhooksGetAllResponse-v1beta1:
      allOf:
        - description: Webhooks Get collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/webhookResponse-v1beta1'
    webhooksCreateRequest-v1beta1:
      description: Webhook Create Request
      type: object
      required:
        - name
        - destination
        - state
        - eventFilter
        - headers
      properties:
        name:
          description: The name associated with the webhook.
          type: string
          example: Server Webhook
        destination:
          description: >-
            User configurable https endpoint that is able to receive HTTP GET
            and POST requests.
          type: string
          format: uri
          example: https://example.com/webhookDestination
        state:
          $ref: '#/components/schemas/webhookState'
          example: ENABLED
        eventFilter:
          description: >-
            The OData configuration of events to receive. For more information,
            expand the Event Webhook section and refer to the Filtering page.
          type: string
          example: type eq 'compute-ops/server'
        headers:
          description: >
            The set of HTTP request headers that will be included in the GET and
            POST requests sent to the destination.


            Compute Ops Management reserves any headers that begin with
            `x-compute-ops-mgmt` and will deny requests that attempt to use that
            value.
          type: object
          example:
            exampleHeader: hlCiqcLeZVPOtJNzdGqF
    webhooksUpdateRequest-v1beta1:
      description: Webhook Update Request
      type: object
      properties:
        name:
          description: The name associated with the webhook.
          type: string
          example: Server Webhook
        destination:
          description: >-
            User configurable https endpoint that is able to receive HTTP GET
            and POST requests.
          type: string
          format: uri
          example: https://example.com/webhookDestination
        state:
          $ref: '#/components/schemas/webhookState'
          example: ENABLED
        eventFilter:
          description: >-
            The OData configuration of events to receive. For more information,
            expand the Event Webhook section and refer to Filtering
          type: string
          example: type eq 'compute-ops/server'
        headers:
          description: >
            The set of HTTP request headers that will be included in the GET and
            POST requests sent to the destination.


            Compute Ops Management reserves any headers that begin with
            `x-compute-ops-mgmt` and will deny requests that attempt to use that
            value.
          type: object
          example:
            exampleHeader: hlCiqcLeZVPOtJNzdGqF
    webhooksDeliveryResponse-v1beta1:
      description: Webhooks
      type: object
      properties:
        webhookId:
          description: The ID of the webhook that this delivery request belongs to.
          type: string
          example: 75aa2a04-7349-11ee-b962-0242ac120002
        id:
          description: Unique identifier for the delivery.
          type: string
          example: 36e00ac2-16fb-4dd5-8495-7e6df82fc15e
        resourceUri:
          description: >-
            URI of the delivery itself. Used to retrieve this specific delivery
            resource.
          type: string
          example: >-
            /compute-ops-mgmt/v1beta1/webhooks/96239cb5-6a1d-444c-8dfe-1e2ff05b4f05/deliveries/96239cb5-6a1d-444c-8dfe-1e2ff05b4f06
        type:
          description: The type of the delivery resource.
          type: string
          readOnly: true
          const: compute-ops-mgmt/webhook/delivery
        generation:
          description: Monotonically increasing update counter.
          type: integer
          example: 1
        createdAt:
          description: Time of delivery resource creation in UTC.
          type: string
          format: date-time
          example: '2022-02-11T01:04:20.799937+00:00'
        updatedAt:
          description: Time of the last delivery resource update in UTC.
          type: string
          format: date-time
          example: '2022-03-11T01:06:30.799489+00:00'
        eventType:
          description: >-
            The Compute Ops Management resource type that changed which
            triggered an event being sent to the webhook's endpoint. Also
            contains the operation taken on that resource.
          type: string
          example: compute-ops/jobs:CREATE
        eventTime:
          description: >-
            Timestamp from the event message that was sent to the webhook's
            endpoint in UTC.
          type: integer
          example: '2023-11-30T15:06:01Z'
        requestTimestamp:
          description: >-
            Timestamp of when the request to the webhook's endpoint was made in
            UTC.
          type: string
          format: date-time
          example: '2023-10-25T15:05:02Z'
        responseTimestamp:
          description: >-
            Timestamp of when the response from webhook's endpoint was received
            in UTC.
          type: string
          format: date-time
          example: '2023-11-30T15:06:01Z'
        destination:
          description: The webhook's destination endpoint URL where the request was sent.
          type: string
          example: https://example.com/webhookDestination
        statusCode:
          description: HTTP status code from the webhook's registered endpoint.
          type: string
          example: 200
        data:
          description: The data sent to the webhook within the POST request.
          type: object
        attempt:
          description: The zero indexed count of POST attempts to the webhook's endpoint.
          type: integer
          example: 1
    webhooksGetAllDeliveriesResponse-v1beta1:
      allOf:
        - description: Webhooks Get All Deliveries collection
        - $ref: '#/components/schemas/resourceCollection2'
        - type: object
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/webhooksDeliveryResponse-v1beta1'
  responses:
    401-unauthorizedResponse:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 401
    403-forbiddenResponse:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 403
    404-notFoundResponse:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 404
    406-notAcceptableResponse:
      description: Not acceptable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 406
    500-internalServerErrorResponse:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 500
    400-badRequestResponse:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 400
    415-unsupportedMediaTypeResponse:
      description: Unsupported media type
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 415
    429-tooManyRequestsResponse:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 429
    409-conflictResponse:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 409
    422-unprocessbleEntityResponse:
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 422
    412-preconditionFailedResponse:
      description: Precondition failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
            properties:
              httpStatusCode:
                const: 412
