# SPDX-FileCopyrightText: 2025 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0

openapi: 3.1.0
info:
  title: Edge Infrastructure Manager
  description: Edge Infrastructure Manager API
  contact:
    name: Open Edge Platform GitHub Organization
    url: https://github.com/open-edge-platform
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 0.2.0
servers:
  - url: '{apiRoot}'
    variables:
      apiRoot:
        default: https://<multitenancy-gateway-host>
tags:
  - description: Region.
    name: RegionService
  - description: Site.
    name: SiteService
  - description: Location.
    name: LocationService
  - description: Host.
    name: HostService
  - description: Instance.
    name: InstanceService
  - description: OperatingSystem.
    name: OperatingSystemService
  - description: Provider.
    name: ProviderService
  - description: Workload.
    name: WorkloadService
  - description: WorkloadMember.
    name: WorkloadMemberService
  - description: Schedules.
    name: ScheduleService
  - description: TelemetryLogsGroup.
    name: TelemetryLogsGroupService
  - description: TelemetryMetricsGroup.
    name: TelemetryMetricsGroupService
  - description: TelemetryLogsProfile.
    name: TelemetryLogsProfileService
  - description: TelemetryMetricsProfile.
    name: TelemetryMetricsProfileService
  - description: LocalAccount.
    name: LocalAccountService
  - description: CustomConfig.
    name: CustomConfigService
  - description: OS Update Policy.
    name: OSUpdatePolicy
  - description: OS Update Run.
    name: OSUpdateRun
security:
  - BearerAuth: []
paths:
  /v1/projects/{projectName}/compute/hosts:
    get:
      description: Get a list of hosts.
      operationId: HostService_ListHosts
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListHostsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListHosts
      tags:
        - HostService
    post:
      description: Create a host.
      operationId: HostService_CreateHost
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostResource'
        description: The host to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateHost
      tags:
        - HostService
  /v1/projects/{projectName}/compute/hosts/{resourceId}:
    delete:
      description: Delete a host.
      operationId: HostService_DeleteHost
      parameters:
        - description: Name of the host host to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the host host to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteHostResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteHost
      tags:
        - HostService
    get:
      description: Get a specific host.
      operationId: HostService_GetHost
      parameters:
        - description: Name of the requested host.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested host.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetHost
      tags:
        - HostService
    patch:
      description: Patch a host.
      operationId: HostService_PatchHost
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostResource'
        description: Updated values for the host.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchHost
      tags:
        - HostService
    put:
      description: Update a host.
      operationId: HostService_UpdateHost
      parameters:
        - description: Name of the host host to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the host host to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostResource'
        description: Updated values for the host.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateHost
      tags:
        - HostService
  /v1/projects/{projectName}/compute/hosts/{resourceId}/invalidate:
    put:
      description: Invalidate a host.
      operationId: HostService_InvalidateHost
      parameters:
        - description: Host resource ID
          in: path
          name: resourceId
          required: true
          schema:
            description: Host resource ID
            pattern: ^host-[0-9a-f]{8}$
            title: resourceId
            type: string
        - description: user-provided reason for change or a freeform field
          in: query
          name: note
          schema:
            description: user-provided reason for change or a freeform field
            maxLength: 512
            minLength: 1
            pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
            title: note
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidateHostResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: InvalidateHost
      tags:
        - HostService
  /v1/projects/{projectName}/compute/hosts/{resourceId}/onboard:
    patch:
      description: Onboard a host.
      operationId: HostService_OnboardHost
      parameters:
        - description: Host resource ID
          in: path
          name: resourceId
          required: true
          schema:
            description: Host resource ID
            pattern: ^host-[0-9a-f]{8}$
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardHostResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: OnboardHost
      tags:
        - HostService
  /v1/projects/{projectName}/compute/hosts/{resourceId}/register:
    patch:
      description: Update a host registration.
      operationId: HostService_PatchRegisterHost
      parameters:
        - in: path
          name: resourceId
          required: true
          schema:
            pattern: ^host-[0-9a-f]{8}$
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostRegister'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchRegisterHost
      tags:
        - HostService
  /v1/projects/{projectName}/compute/hosts/register:
    post:
      description: Register a host.
      operationId: HostService_RegisterHost
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HostRegister'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: RegisterHost
      tags:
        - HostService
  /v1/projects/{projectName}/compute/hosts/summary:
    get:
      description: Get a summary of the hosts status.
      operationId: HostService_GetHostsSummary
      parameters:
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHostSummaryResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetHostsSummary
      tags:
        - HostService
  /v1/projects/{projectName}/compute/instances:
    get:
      description: Get a list of instances.
      operationId: InstanceService_ListInstances
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInstancesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListInstances
      tags:
        - InstanceService
    post:
      description: Create a instance.
      operationId: InstanceService_CreateInstance
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceResource'
        description: The instance to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateInstance
      tags:
        - InstanceService
  /v1/projects/{projectName}/compute/instances/{resourceId}:
    delete:
      description: Delete a instance.
      operationId: InstanceService_DeleteInstance
      parameters:
        - description: Name of the instance instance to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the instance instance to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteInstanceResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteInstance
      tags:
        - InstanceService
    get:
      description: Get a specific instance.
      operationId: InstanceService_GetInstance
      parameters:
        - description: Name of the requested instance.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested instance.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetInstance
      tags:
        - InstanceService
    patch:
      description: Patch a instance.
      operationId: InstanceService_PatchInstance
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceResource'
        description: Updated values for the instance.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchInstance
      tags:
        - InstanceService
    put:
      description: Update a instance.
      operationId: InstanceService_UpdateInstance
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceResource'
        description: Updated values for the instance.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstanceResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateInstance
      tags:
        - InstanceService
  /v1/projects/{projectName}/compute/instances/{resourceId}/invalidate:
    put:
      description: Invalidate a instance.
      operationId: InstanceService_InvalidateInstance
      parameters:
        - description: Instance resource ID
          in: path
          name: resourceId
          required: true
          schema:
            description: Instance resource ID
            pattern: ^inst-[0-9a-f]{8}$
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidateInstanceResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: InvalidateInstance
      tags:
        - InstanceService
  /v1/projects/{projectName}/compute/os:
    get:
      description: Get a list of OSs.
      operationId: OperatingSystemService_ListOperatingSystems
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOperatingSystemsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListOperatingSystems
      tags:
        - OperatingSystemService
    post:
      description: Create an OS
      operationId: OperatingSystemService_CreateOperatingSystem
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OperatingSystemResource'
        description: The os to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingSystemResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateOperatingSystem
      tags:
        - OperatingSystemService
  /v1/projects/{projectName}/compute/os/{resourceId}:
    delete:
      description: Delete an OS.
      operationId: OperatingSystemService_DeleteOperatingSystem
      parameters:
        - description: Name of the os os to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the os os to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteOperatingSystemResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteOperatingSystem
      tags:
        - OperatingSystemService
    get:
      description: Get a specific OS.
      operationId: OperatingSystemService_GetOperatingSystem
      parameters:
        - description: Name of the requested os.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested os.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingSystemResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetOperatingSystem
      tags:
        - OperatingSystemService
    patch:
      description: Patch an OS.
      operationId: OperatingSystemService_PatchOperatingSystem
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OperatingSystemResource'
        description: Updated values for the os.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingSystemResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchOperatingSystem
      tags:
        - OperatingSystemService
    put:
      description: Update an OS.
      operationId: OperatingSystemService_UpdateOperatingSystem
      parameters:
        - description: Name of the os os to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the os os to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OperatingSystemResource'
        description: Updated values for the os.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingSystemResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateOperatingSystem
      tags:
        - OperatingSystemService
  /v1/projects/{projectName}/compute/schedules:
    get:
      description: Get a list of schedules (single/repeated).
      operationId: ScheduleService_ListSchedules
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            The host ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified host ID applied to them, i.e., target including the inherited ones
             (parent site if not null). If null, returns all the schedules without a host ID as target.
          in: query
          name: hostId
          schema:
            description: |-
              (OPTIONAL) The host ID target of the schedules. If not specified, returns all schedules
               (given the other query params). If specified, returns the schedules that have
               the specified host ID applied to them, i.e., target including the inherited ones
               (parent site if not null). If null, returns all the schedules without a host ID as target.
            pattern: ^host-[0-9a-f]{8}$
            title: host_id
            type: string
        - description: |-
            The site ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified site ID applied to them, i.e., target including the inherited ones.
             If null, returns all the schedules without a site ID as target
          in: query
          name: siteId
          schema:
            description: |-
              (OPTIONAL) The site ID target of the schedules. If not specified, returns all schedules
               (given the other query params). If specified, returns the schedules that have
               the specified site ID applied to them, i.e., target including the inherited ones.
               If null, returns all the schedules without a site ID as target
            pattern: ^site-[0-9a-f]{8}$
            title: site_id
            type: string
        - description: |-
            The region ID target of the schedules. If not specified,
             returns all schedules (given the other query params).
             If specified, returns the schedules that have the specified region ID applied to them,
             i.e., target including the inherited ones (parent region if not null).
             If null, returns all the schedules without a region ID as target.
          in: query
          name: regionId
          schema:
            description: |-
              (OPTIONAL) The region ID target of the schedules. If not specified,
               returns all schedules (given the other query params).
               If specified, returns the schedules that have the specified region ID applied to them,
               i.e., target including the inherited ones (parent region if not null).
               If null, returns all the schedules without a region ID as target.
            pattern: ^region-[0-9a-f]{8}$
            title: region_id
            type: string
        - description: Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
          in: query
          name: unixEpoch
          schema:
            description: (OPTIONAL) Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
            pattern: ^[0-9]+$
            title: unix_epoch
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSchedulesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListSchedules
      tags:
        - ScheduleService
  /v1/projects/{projectName}/compute/workloads:
    get:
      description: Get a list of workloads.
      operationId: WorkloadService_ListWorkloads
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWorkloadsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListWorkloads
      tags:
        - WorkloadService
    post:
      description: Create a workload.
      operationId: WorkloadService_CreateWorkload
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkloadResource'
        description: The workload to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateWorkload
      tags:
        - WorkloadService
  /v1/projects/{projectName}/compute/workloads/{resourceId}:
    delete:
      description: Delete a workload.
      operationId: WorkloadService_DeleteWorkload
      parameters:
        - description: Name of the workload workload to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the workload workload to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteWorkloadResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteWorkload
      tags:
        - WorkloadService
    get:
      description: Get a specific workload.
      operationId: WorkloadService_GetWorkload
      parameters:
        - description: Name of the requested workload.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested workload.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetWorkload
      tags:
        - WorkloadService
    patch:
      description: Patch a workload.
      operationId: WorkloadService_PatchWorkload
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkloadResource'
        description: Updated values for the workload.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchWorkload
      tags:
        - WorkloadService
    put:
      description: Update a workload.
      operationId: WorkloadService_UpdateWorkload
      parameters:
        - description: Name of the workload workload to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the workload workload to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkloadResource'
        description: Updated values for the workload.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateWorkload
      tags:
        - WorkloadService
  /v1/projects/{projectName}/compute/workloads/{resourceId}/members:
    get:
      description: Get a list of workload_members.
      operationId: WorkloadMemberService_ListWorkloadMembers
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWorkloadMembersResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListWorkloadMembers
      tags:
        - WorkloadMemberService
    post:
      description: Create a workload_member.
      operationId: WorkloadMemberService_CreateWorkloadMember
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkloadMember'
        description: The workload_member to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadMember'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateWorkloadMember
      tags:
        - WorkloadMemberService
  /v1/projects/{projectName}/compute/workloads/{workloadResourceId}/members/{resourceId}:
    delete:
      description: Delete a workload_member.
      operationId: WorkloadMemberService_DeleteWorkloadMember
      parameters:
        - description: Name of the workload_member workload_member to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the workload_member workload_member to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique workloadResourceId for the resource
          in: path
          name: workloadResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteWorkloadMemberResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteWorkloadMember
      tags:
        - WorkloadMemberService
    get:
      description: Get a specific workload_member.
      operationId: WorkloadMemberService_GetWorkloadMember
      parameters:
        - description: Name of the requested workload_member.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested workload_member.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique workloadResourceId for the resource
          in: path
          name: workloadResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkloadMember'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetWorkloadMember
      tags:
        - WorkloadMemberService
  /v1/projects/{projectName}/customConfigs:
    get:
      description: Get a list of custom configurations.
      operationId: CustomConfigService_ListCustomConfigs
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCustomConfigsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListCustomConfigs
      tags:
        - CustomConfigService
    post:
      description: Create a custom configuration.
      operationId: CustomConfigService_CreateCustomConfig
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomConfigResource'
        description: The custom configuration to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomConfigResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateCustomConfig
      tags:
        - CustomConfigService
  /v1/projects/{projectName}/customConfigs/{resourceId}:
    delete:
      description: Delete a custom configuration.
      operationId: CustomConfigService_DeleteCustomConfig
      parameters:
        - description: Name of the customconfig to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the customconfig to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCustomConfigResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteCustomConfig
      tags:
        - CustomConfigService
    get:
      description: Get a specific custom configuration.
      operationId: CustomConfigService_GetCustomConfig
      parameters:
        - description: Name of the requested custom configuration.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested custom configuration.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomConfigResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetCustomConfig
      tags:
        - CustomConfigService
  /v1/projects/{projectName}/localAccounts:
    get:
      description: Get a list of providers.
      operationId: LocalAccountService_ListLocalAccounts
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLocalAccountsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListLocalAccounts
      tags:
        - LocalAccountService
    post:
      description: Create a localAccount.
      operationId: LocalAccountService_CreateLocalAccount
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocalAccountResource'
        description: The localaccount to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalAccountResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateLocalAccount
      tags:
        - LocalAccountService
  /v1/projects/{projectName}/localAccounts/{resourceId}:
    delete:
      description: Delete a provider.
      operationId: LocalAccountService_DeleteLocalAccount
      parameters:
        - description: Name of the localaccount to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the localaccount to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteLocalAccountResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteLocalAccount
      tags:
        - LocalAccountService
    get:
      description: Get a specific provider.
      operationId: LocalAccountService_GetLocalAccount
      parameters:
        - description: Name of the requested localaccount.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested localaccount.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalAccountResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetLocalAccount
      tags:
        - LocalAccountService
  /v1/projects/{projectName}/locations:
    get:
      description: Get a list of locations.
      operationId: LocationService_ListLocations
      parameters:
        - description: Filter locations by name
          in: query
          name: name
          schema:
            description: (OPTIONAL) Filter locations by name
            maxLength: 50
            pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
            title: name
            type: string
        - description: Return site locations
          in: query
          name: showSites
          schema:
            description: (OPTIONAL) Return site locations
            title: show_sites
            type: boolean
        - description: Return region locations
          in: query
          name: showRegions
          schema:
            description: (OPTIONAL) Return region locations
            title: show_regions
            type: boolean
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLocationsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListLocations
      tags:
        - LocationService
  /v1/projects/{projectName}/os-update-policies:
    get:
      description: Get a list of OS Update Policies.
      operationId: OSUpdatePolicy_ListOSUpdatePolicy
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOSUpdatePolicyResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListOSUpdatePolicy
      tags:
        - OSUpdatePolicy
    post:
      description: Create an OS Update Policy.
      operationId: OSUpdatePolicy_CreateOSUpdatePolicy
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OSUpdatePolicy'
        description: The OS Update policy to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OSUpdatePolicy'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateOSUpdatePolicy
      tags:
        - OSUpdatePolicy
  /v1/projects/{projectName}/os-update-policies/{resourceId}:
    delete:
      description: Delete a OS Update Policy.
      operationId: OSUpdatePolicy_DeleteOSUpdatePolicy
      parameters:
        - description: Name of the OS Update Policy to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the OS Update Policy to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteOSUpdatePolicyResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteOSUpdatePolicy
      tags:
        - OSUpdatePolicy
    get:
      description: Get a specific OS Update Policy.
      operationId: OSUpdatePolicy_GetOSUpdatePolicy
      parameters:
        - description: Name of the requested os.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested os.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OSUpdatePolicy'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetOSUpdatePolicy
      tags:
        - OSUpdatePolicy
  /v1/projects/{projectName}/os-update-runs:
    get:
      description: Get a list of OS Update Policies.
      operationId: OSUpdateRun_ListOSUpdateRun
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOSUpdateRunResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListOSUpdateRun
      tags:
        - OSUpdateRun
  /v1/projects/{projectName}/os-update-runs/{resourceId}:
    delete:
      description: Delete a OS Update Run.
      operationId: OSUpdateRun_DeleteOSUpdateRun
      parameters:
        - description: Name of the os update run to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the os update run to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteOSUpdateRunResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteOSUpdateRun
      tags:
        - OSUpdateRun
    get:
      description: Get a specific OS Update Run.
      operationId: OSUpdateRun_GetOSUpdateRun
      parameters:
        - description: Name of the requested os.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested os.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OSUpdateRun'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetOSUpdateRun
      tags:
        - OSUpdateRun
  /v1/projects/{projectName}/providers:
    get:
      description: Get a list of providers.
      operationId: ProviderService_ListProviders
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProvidersResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListProviders
      tags:
        - ProviderService
    post:
      description: Create a provider.
      operationId: ProviderService_CreateProvider
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderResource'
        description: The provider to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateProvider
      tags:
        - ProviderService
  /v1/projects/{projectName}/providers/{resourceId}:
    delete:
      description: Delete a provider.
      operationId: ProviderService_DeleteProvider
      parameters:
        - description: Name of the provider provider to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the provider provider to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteProviderResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteProvider
      tags:
        - ProviderService
    get:
      description: Get a specific provider.
      operationId: ProviderService_GetProvider
      parameters:
        - description: Name of the requested provider.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested provider.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetProvider
      tags:
        - ProviderService
  /v1/projects/{projectName}/regions:
    get:
      description: Get a list of regions.
      operationId: RegionService_ListRegions
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: Flag to signal if the total amount of site in a region should be returned.
          in: query
          name: showTotalSites
          schema:
            description: (OPTIONAL) Flag to signal if the total amount of site in a region should be returned.
            title: show_total_sites
            type: boolean
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRegionsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListRegions
      tags:
        - RegionService
    post:
      description: Create a region.
      operationId: RegionService_CreateRegion
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegionResource'
        description: The region to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateRegion
      tags:
        - RegionService
  /v1/projects/{projectName}/regions/{regionResourceId}/sites/{resourceId}:
    delete:
      description: Delete a site.
      operationId: SiteService_DeleteSite
      parameters:
        - description: Name of the site site to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the site site to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique regionResourceId for the resource
          in: path
          name: regionResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSiteResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteSite
      tags:
        - SiteService
    get:
      description: Get a specific site.
      operationId: SiteService_GetSite
      parameters:
        - description: Name of the requested site.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested site.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique regionResourceId for the resource
          in: path
          name: regionResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetSite
      tags:
        - SiteService
    patch:
      description: Patch a site.
      operationId: SiteService_PatchSite
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique regionResourceId for the resource
          in: path
          name: regionResourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteResource'
        description: Updated values for the site.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchSite
      tags:
        - SiteService
    put:
      description: Update a site.
      operationId: SiteService_UpdateSite
      parameters:
        - description: Name of the site site to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the site site to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique regionResourceId for the resource
          in: path
          name: regionResourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteResource'
        description: Updated values for the site.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateSite
      tags:
        - SiteService
  /v1/projects/{projectName}/regions/{resourceId}:
    delete:
      description: Delete a region.
      operationId: RegionService_DeleteRegion
      parameters:
        - description: Name of the region region to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the region region to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteRegionResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteRegion
      tags:
        - RegionService
    get:
      description: Get a specific region.
      operationId: RegionService_GetRegion
      parameters:
        - description: Name of the requested region.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested region.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetRegion
      tags:
        - RegionService
    patch:
      description: Patch a region.
      operationId: RegionService_PatchRegion
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegionResource'
        description: Updated values for the region.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchRegion
      tags:
        - RegionService
    put:
      description: Update a region.
      operationId: RegionService_UpdateRegion
      parameters:
        - description: Name of the region region to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the region region to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegionResource'
        description: Updated values for the region.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateRegion
      tags:
        - RegionService
  /v1/projects/{projectName}/regions/{resourceId}/sites:
    get:
      description: Get a list of sites.
      operationId: SiteService_ListSites
      parameters:
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: |-
            Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          in: query
          name: filter
          schema:
            description: |-
              (OPTIONAL) Optional filter to return only item of interest.
               See https://google.aip.dev/160 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
            title: filter
            type: string
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSitesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListSites
      tags:
        - SiteService
    post:
      description: Create a site.
      operationId: SiteService_CreateSite
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteResource'
        description: The site to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateSite
      tags:
        - SiteService
  /v1/projects/{projectName}/schedules/repeated:
    get:
      description: Get a list of repeatedSchedules.
      operationId: ScheduleService_ListRepeatedSchedules
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            The host ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified host ID applied to them, i.e., target including the inherited ones
             (parent site if not null). If null, returns all the schedules without a host ID as target.
          in: query
          name: hostId
          schema:
            description: |-
              (OPTIONAL) The host ID target of the schedules. If not specified, returns all schedules
               (given the other query params). If specified, returns the schedules that have
               the specified host ID applied to them, i.e., target including the inherited ones
               (parent site if not null). If null, returns all the schedules without a host ID as target.
            pattern: ^host-[0-9a-f]{8}$
            title: host_id
            type: string
        - description: |-
            The site ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified site ID applied to them, i.e., target including the inherited ones.
             If null, returns all the schedules without a site ID as target
          in: query
          name: siteId
          schema:
            description: |-
              (OPTIONAL) The site ID target of the schedules. If not specified, returns all schedules
               (given the other query params). If specified, returns the schedules that have
               the specified site ID applied to them, i.e., target including the inherited ones.
               If null, returns all the schedules without a site ID as target
            pattern: ^site-[0-9a-f]{8}$
            title: site_id
            type: string
        - description: |-
            The region ID target of the schedules. If not specified,
             returns all schedules (given the other query params).
             If specified, returns the schedules that have the specified region ID applied to them,
             i.e., target including the inherited ones (parent region if not null).
             If null, returns all the schedules without a region ID as target.
          in: query
          name: regionId
          schema:
            description: |-
              (OPTIONAL) The region ID target of the schedules. If not specified,
               returns all schedules (given the other query params).
               If specified, returns the schedules that have the specified region ID applied to them,
               i.e., target including the inherited ones (parent region if not null).
               If null, returns all the schedules without a region ID as target.
            pattern: ^region-[0-9a-f]{8}$
            title: region_id
            type: string
        - description: Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
          in: query
          name: unixEpoch
          schema:
            description: (OPTIONAL) Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
            pattern: ^[0-9]+$
            title: unix_epoch
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRepeatedSchedulesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListRepeatedSchedules
      tags:
        - ScheduleService
    post:
      description: Create a repeated_schedule.
      operationId: ScheduleService_CreateRepeatedSchedule
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepeatedScheduleResource'
        description: The repeated_schedule to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepeatedScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateRepeatedSchedule
      tags:
        - ScheduleService
  /v1/projects/{projectName}/schedules/repeated/{resourceId}:
    delete:
      description: Delete a repeated_schedule.
      operationId: ScheduleService_DeleteRepeatedSchedule
      parameters:
        - description: Name of the repeated_schedule repeated_schedule to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the repeated_schedule repeated_schedule to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteRepeatedScheduleResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteRepeatedSchedule
      tags:
        - ScheduleService
    get:
      description: Get a specific repeated_schedule.
      operationId: ScheduleService_GetRepeatedSchedule
      parameters:
        - description: Name of the requested repeated_schedule.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested repeated_schedule.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepeatedScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetRepeatedSchedule
      tags:
        - ScheduleService
    patch:
      description: Patch a repeated_schedule.
      operationId: ScheduleService_PatchRepeatedSchedule
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepeatedScheduleResource'
        description: Updated values for the repeated_schedule.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepeatedScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchRepeatedSchedule
      tags:
        - ScheduleService
    put:
      description: Update a repeated_schedule.
      operationId: ScheduleService_UpdateRepeatedSchedule
      parameters:
        - description: Name of the repeated_schedule repeated_schedule to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the repeated_schedule repeated_schedule to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepeatedScheduleResource'
        description: Updated values for the repeated_schedule.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepeatedScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateRepeatedSchedule
      tags:
        - ScheduleService
  /v1/projects/{projectName}/schedules/single:
    get:
      description: Get a list of singleSchedules.
      operationId: ScheduleService_ListSingleSchedules
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            The host ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified host ID applied to them, i.e., target including the inherited ones
             (parent site if not null). If null, returns all the schedules without a host ID as target.
          in: query
          name: hostId
          schema:
            description: |-
              (OPTIONAL) The host ID target of the schedules. If not specified, returns all schedules
               (given the other query params). If specified, returns the schedules that have
               the specified host ID applied to them, i.e., target including the inherited ones
               (parent site if not null). If null, returns all the schedules without a host ID as target.
            pattern: ^host-[0-9a-f]{8}$
            title: host_id
            type: string
        - description: |-
            The site ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified site ID applied to them, i.e., target including the inherited ones.
             If null, returns all the schedules without a site ID as target
          in: query
          name: siteId
          schema:
            description: |-
              (OPTIONAL) The site ID target of the schedules. If not specified, returns all schedules
               (given the other query params). If specified, returns the schedules that have
               the specified site ID applied to them, i.e., target including the inherited ones.
               If null, returns all the schedules without a site ID as target
            pattern: ^site-[0-9a-f]{8}$
            title: site_id
            type: string
        - description: |-
            The region ID target of the schedules. If not specified,
             returns all schedules (given the other query params).
             If specified, returns the schedules that have the specified region ID applied to them,
             i.e., target including the inherited ones (parent region if not null).
             If null, returns all the schedules without a region ID as target.
          in: query
          name: regionId
          schema:
            description: |-
              (OPTIONAL) The region ID target of the schedules. If not specified,
               returns all schedules (given the other query params).
               If specified, returns the schedules that have the specified region ID applied to them,
               i.e., target including the inherited ones (parent region if not null).
               If null, returns all the schedules without a region ID as target.
            pattern: ^region-[0-9a-f]{8}$
            title: region_id
            type: string
        - description: Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
          in: query
          name: unixEpoch
          schema:
            description: (OPTIONAL) Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
            pattern: ^[0-9]+$
            title: unix_epoch
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSingleSchedulesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListSingleSchedules
      tags:
        - ScheduleService
    post:
      description: Create a single_schedule.
      operationId: ScheduleService_CreateSingleSchedule
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SingleScheduleResource'
        description: The single_schedule to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateSingleSchedule
      tags:
        - ScheduleService
  /v1/projects/{projectName}/schedules/single/{resourceId}:
    delete:
      description: Delete a single_schedule.
      operationId: ScheduleService_DeleteSingleSchedule
      parameters:
        - description: Name of the single_schedule single_schedule to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the single_schedule single_schedule to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSingleScheduleResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteSingleSchedule
      tags:
        - ScheduleService
    get:
      description: Get a specific single_schedule.
      operationId: ScheduleService_GetSingleSchedule
      parameters:
        - description: Name of the requested single_schedule.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested single_schedule.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetSingleSchedule
      tags:
        - ScheduleService
    patch:
      description: Patch a single_schedule.
      operationId: ScheduleService_PatchSingleSchedule
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SingleScheduleResource'
        description: Updated values for the single_schedule.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchSingleSchedule
      tags:
        - ScheduleService
    put:
      description: Update a single_schedule.
      operationId: ScheduleService_UpdateSingleSchedule
      parameters:
        - description: Name of the single_schedule single_schedule to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the single_schedule single_schedule to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SingleScheduleResource'
        description: Updated values for the single_schedule.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleScheduleResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateSingleSchedule
      tags:
        - ScheduleService
  /v1/projects/{projectName}/telemetry/loggroups:
    get:
      description: Get a list of telemetry_logs_groups.
      operationId: TelemetryLogsGroupService_ListTelemetryLogsGroups
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTelemetryLogsGroupsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListTelemetryLogsGroups
      tags:
        - TelemetryLogsGroupService
    post:
      description: Create a telemetry_logs_group.
      operationId: TelemetryLogsGroupService_CreateTelemetryLogsGroup
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryLogsGroupResource'
        description: The telemetry_logs_group to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryLogsGroupResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateTelemetryLogsGroup
      tags:
        - TelemetryLogsGroupService
  /v1/projects/{projectName}/telemetry/loggroups/{loggroupResourceId}/logprofiles/{resourceId}:
    delete:
      description: Delete a telemetry_logs_profile.
      operationId: TelemetryLogsProfileService_DeleteTelemetryLogsProfile
      parameters:
        - description: Name of the telemetry_logs_profile telemetry_logs_profile to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the telemetry_logs_profile telemetry_logs_profile to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique loggroupResourceId for the resource
          in: path
          name: loggroupResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteTelemetryLogsProfileResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteTelemetryLogsProfile
      tags:
        - TelemetryLogsProfileService
    get:
      description: Get a specific telemetry_logs_profile.
      operationId: TelemetryLogsProfileService_GetTelemetryLogsProfile
      parameters:
        - description: Name of the requested telemetry_logs_profile.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested telemetry_logs_profile.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique loggroupResourceId for the resource
          in: path
          name: loggroupResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryLogsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetTelemetryLogsProfile
      tags:
        - TelemetryLogsProfileService
    patch:
      description: Patch a telemetry_logs_profile.
      operationId: TelemetryLogsProfileService_PatchTelemetryLogsProfile
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique loggroupResourceId for the resource
          in: path
          name: loggroupResourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryLogsProfileResource'
        description: Updated values for the telemetry_logs_profile.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryLogsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchTelemetryLogsProfile
      tags:
        - TelemetryLogsProfileService
    put:
      description: Update a telemetry_logs_profile.
      operationId: TelemetryLogsProfileService_UpdateTelemetryLogsProfile
      parameters:
        - description: Name of the telemetry_logs_profile telemetry_logs_profile to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the telemetry_logs_profile telemetry_logs_profile to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique loggroupResourceId for the resource
          in: path
          name: loggroupResourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryLogsProfileResource'
        description: Updated values for the telemetry_logs_profile.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryLogsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateTelemetryLogsProfile
      tags:
        - TelemetryLogsProfileService
  /v1/projects/{projectName}/telemetry/loggroups/{resourceId}:
    delete:
      description: Delete a telemetry_logs_group.
      operationId: TelemetryLogsGroupService_DeleteTelemetryLogsGroup
      parameters:
        - description: Name of the telemetry_logs_group telemetry_logs_group to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the telemetry_logs_group telemetry_logs_group to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteTelemetryLogsGroupResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteTelemetryLogsGroup
      tags:
        - TelemetryLogsGroupService
    get:
      description: Get a specific telemetry_logs_group.
      operationId: TelemetryLogsGroupService_GetTelemetryLogsGroup
      parameters:
        - description: Name of the requested telemetry_logs_group.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested telemetry_logs_group.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryLogsGroupResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetTelemetryLogsGroup
      tags:
        - TelemetryLogsGroupService
  /v1/projects/{projectName}/telemetry/loggroups/{resourceId}/logprofiles:
    get:
      description: Get a list of telemetryLogsProfiles.
      operationId: TelemetryLogsProfileService_ListTelemetryLogsProfiles
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: Returns only the telemetry profiles that are assigned with the given instance identifier.
          in: query
          name: instanceId
          schema:
            description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given instance identifier.
            pattern: ^inst-[0-9a-f]{8}$
            title: instance_id
            type: string
        - description: Returns only the telemetry profiles that are assigned with the given siteID.
          in: query
          name: siteId
          schema:
            description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given siteID.
            pattern: ^site-[0-9a-f]{8}$
            title: site_id
            type: string
        - description: Returns only the telemetry profiles that are assigned with the given regionID.
          in: query
          name: regionId
          schema:
            description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given regionID.
            pattern: ^region-[0-9a-f]{8}$
            title: region_id
            type: string
        - description: |-
            Indicates if listed telemetry profiles should be extended with telemetry
             profiles rendered from hierarchy. This flag is only used along with one
             of siteId, regionId or instanceId. If siteId, regionId or instanceId are
             not set, this flag is ignored.
          in: query
          name: showInherited
          schema:
            description: |-
              (OPTIONAL) Indicates if listed telemetry profiles should be extended with telemetry
               profiles rendered from hierarchy. This flag is only used along with one
               of siteId, regionId or instanceId. If siteId, regionId or instanceId are
               not set, this flag is ignored.
            title: show_inherited
            type: boolean
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTelemetryLogsProfilesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListTelemetryLogsProfiles
      tags:
        - TelemetryLogsProfileService
    post:
      description: Create a telemetry_logs_profile.
      operationId: TelemetryLogsProfileService_CreateTelemetryLogsProfile
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryLogsProfileResource'
        description: The telemetry_logs_profile to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryLogsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateTelemetryLogsProfile
      tags:
        - TelemetryLogsProfileService
  /v1/projects/{projectName}/telemetry/metricgroups:
    get:
      description: Get a list of telemetryMetricsGroups.
      operationId: TelemetryMetricsGroupService_ListTelemetryMetricsGroups
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTelemetryMetricsGroupsResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListTelemetryMetricsGroups
      tags:
        - TelemetryMetricsGroupService
    post:
      description: Create a telemetry_metrics_group.
      operationId: TelemetryMetricsGroupService_CreateTelemetryMetricsGroup
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryMetricsGroupResource'
        description: The telemetry_metrics_group to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryMetricsGroupResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateTelemetryMetricsGroup
      tags:
        - TelemetryMetricsGroupService
  /v1/projects/{projectName}/telemetry/metricgroups/{metricgroupResourceId}/metricprofiles/{resourceId}:
    delete:
      description: Delete a telemetry_metrics_profile.
      operationId: TelemetryMetricsProfileService_DeleteTelemetryMetricsProfile
      parameters:
        - description: Name of the telemetry_metrics_profile telemetry_metrics_profile to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the telemetry_metrics_profile telemetry_metrics_profile to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique metricgroupResourceId for the resource
          in: path
          name: metricgroupResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteTelemetryMetricsProfileResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteTelemetryMetricsProfile
      tags:
        - TelemetryMetricsProfileService
    get:
      description: Get a specific telemetry_metrics_profile.
      operationId: TelemetryMetricsProfileService_GetTelemetryMetricsProfile
      parameters:
        - description: Name of the requested telemetry_metrics_profile.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested telemetry_metrics_profile.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique metricgroupResourceId for the resource
          in: path
          name: metricgroupResourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryMetricsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetTelemetryMetricsProfile
      tags:
        - TelemetryMetricsProfileService
    patch:
      description: Patch a telemetry_metrics_profile.
      operationId: TelemetryMetricsProfileService_PatchTelemetryMetricsProfile
      parameters:
        - description: ID of the resource to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: ID of the resource to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique metricgroupResourceId for the resource
          in: path
          name: metricgroupResourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryMetricsProfileResource'
        description: Updated values for the telemetry_metrics_profile.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryMetricsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: PatchTelemetryMetricsProfile
      tags:
        - TelemetryMetricsProfileService
    put:
      description: Update a telemetry_metrics_profile.
      operationId: TelemetryMetricsProfileService_UpdateTelemetryMetricsProfile
      parameters:
        - description: Name of the telemetry_metrics_profile telemetry_metrics_profile to be updated.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the telemetry_metrics_profile telemetry_metrics_profile to be updated.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique metricgroupResourceId for the resource
          in: path
          name: metricgroupResourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryMetricsProfileResource'
        description: Updated values for the telemetry_metrics_profile.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryMetricsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: UpdateTelemetryMetricsProfile
      tags:
        - TelemetryMetricsProfileService
  /v1/projects/{projectName}/telemetry/metricgroups/{resourceId}:
    delete:
      description: Delete a telemetry_metrics_group.
      operationId: TelemetryMetricsGroupService_DeleteTelemetryMetricsGroup
      parameters:
        - description: Name of the telemetry_metrics_group telemetry_metrics_group to be deleted.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the telemetry_metrics_group telemetry_metrics_group to be deleted.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteTelemetryMetricsGroupResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: DeleteTelemetryMetricsGroup
      tags:
        - TelemetryMetricsGroupService
    get:
      description: Get a specific telemetry_metrics_group.
      operationId: TelemetryMetricsGroupService_GetTelemetryMetricsGroup
      parameters:
        - description: Name of the requested telemetry_metrics_group.
          in: path
          name: resourceId
          required: true
          schema:
            description: Name of the requested telemetry_metrics_group.
            title: resourceId
            type: string
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryMetricsGroupResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: GetTelemetryMetricsGroup
      tags:
        - TelemetryMetricsGroupService
  /v1/projects/{projectName}/telemetry/metricgroups/{resourceId}/metricprofiles:
    get:
      description: Get a list of telemetryMetricsProfiles.
      operationId: TelemetryMetricsProfileService_ListTelemetryMetricsProfiles
      parameters:
        - description: |-
            Defines the amount of items to be contained in a single page.
             Default of 20.
          in: query
          name: pageSize
          schema:
            description: |-
              (OPTIONAL) Defines the amount of items to be contained in a single page.
               Default of 20.
            maximum: 100
            minimum: 1
            title: page_size
            type: integer
        - description: Index of the first item to return. This allows skipping items.
          in: query
          name: offset
          schema:
            description: (OPTIONAL) Index of the first item to return. This allows skipping items.
            maximum: 10000
            title: offset
            type: integer
        - description: |-
            Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          in: query
          name: orderBy
          schema:
            description: |-
              (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
               See https://google.aip.dev/132 for details.
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9., ]+$
            title: order_by
            type: string
        - description: Returns only the telemetry profiles that are assigned with the given instance identifier.
          in: query
          name: instanceId
          schema:
            description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given instance identifier.
            pattern: ^inst-[0-9a-f]{8}$
            title: instance_id
            type: string
        - description: Returns only the telemetry profiles that are assigned with the given siteID.
          in: query
          name: siteId
          schema:
            description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given siteID.
            pattern: ^site-[0-9a-f]{8}$
            title: site_id
            type: string
        - description: Returns only the telemetry profiles that are assigned with the given regionID.
          in: query
          name: regionId
          schema:
            description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given regionID.
            pattern: ^region-[0-9a-f]{8}$
            title: region_id
            type: string
        - description: |-
            Indicates if listed telemetry profiles should be extended with telemetry
             profiles rendered from hierarchy. This flag is only used along with one
             of siteId, regionId or instanceId. If siteId, regionId or instanceId are
             not set, this flag is ignored.
          in: query
          name: showInherited
          schema:
            description: |-
              (OPTIONAL) Indicates if listed telemetry profiles should be extended with telemetry
               profiles rendered from hierarchy. This flag is only used along with one
               of siteId, regionId or instanceId. If siteId, regionId or instanceId are
               not set, this flag is ignored.
            title: show_inherited
            type: boolean
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTelemetryMetricsProfilesResponse'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: ListTelemetryMetricsProfiles
      tags:
        - TelemetryMetricsProfileService
    post:
      description: Create a telemetry_metrics_profile.
      operationId: TelemetryMetricsProfileService_CreateTelemetryMetricsProfile
      parameters:
        - description: unique projectName for the resource
          in: path
          name: projectName
          required: true
          schema:
            type: string
        - description: unique resourceId for the resource
          in: path
          name: resourceId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TelemetryMetricsProfileResource'
        description: The telemetry_metrics_profile to create.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelemetryMetricsProfileResource'
          description: Success
        "400":
          $ref: '#/components/responses/400-BadRequest'
        "401":
          $ref: '#/components/responses/401-Unauthorized'
        "403":
          $ref: '#/components/responses/403-Forbidden'
        "404":
          $ref: '#/components/responses/404-NotFound'
        "406":
          $ref: '#/components/responses/406-NotAcceptable'
        "408":
          $ref: '#/components/responses/408-Timeout'
        "409":
          $ref: '#/components/responses/409-Conflict'
        "412":
          $ref: '#/components/responses/412-PreconditionFailed'
        "422":
          $ref: '#/components/responses/422-UnprocessableEntity'
        "429":
          $ref: '#/components/responses/429-TooManyRequests'
        "500":
          $ref: '#/components/responses/500-InternalServerError'
        "501":
          $ref: '#/components/responses/501-Unimplemented'
        "503":
          $ref: '#/components/responses/503-ServiceUnavailable'
      summary: CreateTelemetryMetricsProfile
      tags:
        - TelemetryMetricsProfileService
components:
  responses:
    400-BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Object in payload is not properly formulated or not related to
        the method.
    401-Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Request is not authenticated; it either does not contain a JSON
        Web Token (JWT) in its header, or the JWT is not valid.
    403-Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Request is not authorized; it does not contain valid roles to perform
        a request.
    404-NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: No resource is found at the URI.
    406-NotAcceptable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Response content is not acceptable according to the request's accept
        headers.
    408-Timeout:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Request timeout.
    409-Conflict:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Request could not be processed in the current state of the resource.
    412-PreconditionFailed:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: The server does not meet one of the preconditions that the requester
        put on the request header fields.
    422-UnprocessableEntity:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Unprocessable entity in parsing body request.
    429-TooManyRequests:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: Too many requests have been sent in a given amount of time.
    500-InternalServerError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: The provider is currently unable to handle the request because
        of an internal error.
    501-Unimplemented:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: The resource or method is not implemented.
    503-ServiceUnavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
      description: The provider is currently unable to handle the request because
        of a temporary overload.
  schemas:
    AmtState:
      description: The state of the AMT (Active Management Technology) component.
      enum:
        - AMT_STATE_UNSPECIFIED
        - AMT_STATE_PROVISIONED
        - AMT_STATE_UNPROVISIONED
        - AMT_STATE_DISCONNECTED
      title: AmtState
      type: string
    BaremetalControllerKind:
      description: The type of BMC.
      enum:
        - BAREMETAL_CONTROLLER_KIND_UNSPECIFIED
        - BAREMETAL_CONTROLLER_KIND_NONE
        - BAREMETAL_CONTROLLER_KIND_IPMI
        - BAREMETAL_CONTROLLER_KIND_VPRO
        - BAREMETAL_CONTROLLER_KIND_PDU
      title: BaremetalControllerKind
      type: string
    CreateCustomConfigRequest:
      additionalProperties: false
      description: Request message for the CreateCustomConfig method.
      properties:
        customConfig:
          $ref: '#/components/schemas/CustomConfigResource'
      required:
        - customConfig
      title: CreateCustomConfigRequest
      type: object
    CreateCustomConfigResponse:
      additionalProperties: false
      description: Response message for the CreateCustomConfig method.
      properties:
        customConfig:
          $ref: '#/components/schemas/CustomConfigResource'
      required:
        - customConfig
      title: CreateCustomConfigResponse
      type: object
    CreateHostRequest:
      additionalProperties: false
      description: Request message for the CreateHost method.
      properties:
        host:
          $ref: '#/components/schemas/HostResource'
      required:
        - host
      title: CreateHostRequest
      type: object
    CreateHostResponse:
      additionalProperties: false
      description: Response message for the CreateHost method.
      properties:
        host:
          $ref: '#/components/schemas/HostResource'
      required:
        - host
      title: CreateHostResponse
      type: object
    CreateInstanceRequest:
      additionalProperties: false
      description: Request message for the CreateInstance method.
      properties:
        instance:
          $ref: '#/components/schemas/InstanceResource'
      required:
        - instance
      title: CreateInstanceRequest
      type: object
    CreateInstanceResponse:
      additionalProperties: false
      description: Response message for the CreateInstance method.
      properties:
        instance:
          $ref: '#/components/schemas/InstanceResource'
      required:
        - instance
      title: CreateInstanceResponse
      type: object
    CreateLocalAccountRequest:
      additionalProperties: false
      description: Request message for the CreateLocalAccount method.
      properties:
        localAccount:
          $ref: '#/components/schemas/LocalAccountResource'
      required:
        - localAccount
      title: CreateLocalAccountRequest
      type: object
    CreateLocalAccountResponse:
      additionalProperties: false
      description: Response message for the CreateLocalAccount method.
      properties:
        localAccount:
          $ref: '#/components/schemas/LocalAccountResource'
      required:
        - localAccount
      title: CreateLocalAccountResponse
      type: object
    CreateOSUpdatePolicyRequest:
      additionalProperties: false
      description: Request message for the CreateOSUpdatePolicy method.
      properties:
        osUpdatePolicy:
          $ref: '#/components/schemas/OSUpdatePolicy'
      required:
        - osUpdatePolicy
      title: CreateOSUpdatePolicyRequest
      type: object
    CreateOSUpdatePolicyResponse:
      additionalProperties: false
      description: Response message for the CreateOSUpdatePolicy method.
      properties:
        osUpdatePolicy:
          $ref: '#/components/schemas/OSUpdatePolicy'
      required:
        - osUpdatePolicy
      title: CreateOSUpdatePolicyResponse
      type: object
    CreateOSUpdateRunRequest:
      additionalProperties: false
      description: Request message for the CreateOSUpdateRun method.
      properties:
        osUpdateRun:
          $ref: '#/components/schemas/OSUpdateRun'
      required:
        - osUpdateRun
      title: CreateOSUpdateRunRequest
      type: object
    CreateOSUpdateRunResponse:
      additionalProperties: false
      description: Response message for the CreateOSUpdateRun method.
      properties:
        osUpdateRun:
          $ref: '#/components/schemas/OSUpdateRun'
      required:
        - osUpdateRun
      title: CreateOSUpdateRunResponse
      type: object
    CreateOperatingSystemRequest:
      additionalProperties: false
      description: Request message for the CreateOperatingSystem method.
      properties:
        os:
          $ref: '#/components/schemas/OperatingSystemResource'
      required:
        - os
      title: CreateOperatingSystemRequest
      type: object
    CreateOperatingSystemResponse:
      additionalProperties: false
      description: Response message for the CreateOperatingSystem method.
      properties:
        os:
          $ref: '#/components/schemas/OperatingSystemResource'
      required:
        - os
      title: CreateOperatingSystemResponse
      type: object
    CreateProviderRequest:
      additionalProperties: false
      description: Request message for the CreateProvider method.
      properties:
        provider:
          $ref: '#/components/schemas/ProviderResource'
      required:
        - provider
      title: CreateProviderRequest
      type: object
    CreateProviderResponse:
      additionalProperties: false
      description: Response message for the CreateProvider method.
      properties:
        provider:
          $ref: '#/components/schemas/ProviderResource'
      required:
        - provider
      title: CreateProviderResponse
      type: object
    CreateRegionRequest:
      additionalProperties: false
      description: Request message for the CreateRegion method.
      properties:
        region:
          $ref: '#/components/schemas/RegionResource'
      required:
        - region
      title: CreateRegionRequest
      type: object
    CreateRegionResponse:
      additionalProperties: false
      description: Response message for the CreateRegion method.
      properties:
        region:
          $ref: '#/components/schemas/RegionResource'
      required:
        - region
      title: CreateRegionResponse
      type: object
    CreateRepeatedScheduleRequest:
      additionalProperties: false
      description: Request message for the CreateRepeatedSchedule method.
      properties:
        repeatedSchedule:
          $ref: '#/components/schemas/RepeatedScheduleResource'
      required:
        - repeatedSchedule
      title: CreateRepeatedScheduleRequest
      type: object
    CreateRepeatedScheduleResponse:
      additionalProperties: false
      description: Response message for the CreateRepeatedSchedule method.
      properties:
        repeatedSchedule:
          $ref: '#/components/schemas/RepeatedScheduleResource'
      required:
        - repeatedSchedule
      title: CreateRepeatedScheduleResponse
      type: object
    CreateSingleScheduleRequest:
      additionalProperties: false
      description: Request message for the CreateSingleSchedule method.
      properties:
        singleSchedule:
          $ref: '#/components/schemas/SingleScheduleResource'
      required:
        - singleSchedule
      title: CreateSingleScheduleRequest
      type: object
    CreateSingleScheduleResponse:
      additionalProperties: false
      description: Response message for the CreateSingleSchedule method.
      properties:
        singleSchedule:
          $ref: '#/components/schemas/SingleScheduleResource'
      required:
        - singleSchedule
      title: CreateSingleScheduleResponse
      type: object
    CreateSiteRequest:
      additionalProperties: false
      description: Request message for the CreateSite method.
      properties:
        site:
          $ref: '#/components/schemas/SiteResource'
      required:
        - site
      title: CreateSiteRequest
      type: object
    CreateSiteResponse:
      additionalProperties: false
      description: Response message for the CreateSite method.
      properties:
        site:
          $ref: '#/components/schemas/SiteResource'
      required:
        - site
      title: CreateSiteResponse
      type: object
    CreateTelemetryLogsGroupRequest:
      additionalProperties: false
      description: Request message for the CreateTelemetryLogsGroup method.
      properties:
        telemetryLogsGroup:
          $ref: '#/components/schemas/TelemetryLogsGroupResource'
      required:
        - telemetryLogsGroup
      title: CreateTelemetryLogsGroupRequest
      type: object
    CreateTelemetryLogsGroupResponse:
      additionalProperties: false
      description: Response message for the CreateTelemetryLogsGroup method.
      properties:
        telemetryLogsGroup:
          $ref: '#/components/schemas/TelemetryLogsGroupResource'
      required:
        - telemetryLogsGroup
      title: CreateTelemetryLogsGroupResponse
      type: object
    CreateTelemetryLogsProfileRequest:
      additionalProperties: false
      description: Request message for the CreateTelemetryLogsProfile method.
      properties:
        telemetryLogsProfile:
          $ref: '#/components/schemas/TelemetryLogsProfileResource'
      required:
        - telemetryLogsProfile
      title: CreateTelemetryLogsProfileRequest
      type: object
    CreateTelemetryLogsProfileResponse:
      additionalProperties: false
      description: Response message for the CreateTelemetryLogsProfile method.
      properties:
        telemetryLogsProfile:
          $ref: '#/components/schemas/TelemetryLogsProfileResource'
      required:
        - telemetryLogsProfile
      title: CreateTelemetryLogsProfileResponse
      type: object
    CreateTelemetryMetricsGroupRequest:
      additionalProperties: false
      description: Request message for the CreateTelemetryMetricsGroup method.
      properties:
        telemetryMetricsGroup:
          $ref: '#/components/schemas/TelemetryMetricsGroupResource'
      required:
        - telemetryMetricsGroup
      title: CreateTelemetryMetricsGroupRequest
      type: object
    CreateTelemetryMetricsGroupResponse:
      additionalProperties: false
      description: Response message for the CreateTelemetryMetricsGroup method.
      properties:
        telemetryMetricsGroup:
          $ref: '#/components/schemas/TelemetryMetricsGroupResource'
      required:
        - telemetryMetricsGroup
      title: CreateTelemetryMetricsGroupResponse
      type: object
    CreateTelemetryMetricsProfileRequest:
      additionalProperties: false
      description: Request message for the CreateTelemetryMetricsProfile method.
      properties:
        telemetryMetricsProfile:
          $ref: '#/components/schemas/TelemetryMetricsProfileResource'
      required:
        - telemetryMetricsProfile
      title: CreateTelemetryMetricsProfileRequest
      type: object
    CreateTelemetryMetricsProfileResponse:
      additionalProperties: false
      description: Response message for the CreateTelemetryMetricsProfile method.
      properties:
        telemetryMetricsProfile:
          $ref: '#/components/schemas/TelemetryMetricsProfileResource'
      required:
        - telemetryMetricsProfile
      title: CreateTelemetryMetricsProfileResponse
      type: object
    CreateWorkloadMemberRequest:
      additionalProperties: false
      description: Request message for the CreateWorkloadMember method.
      properties:
        workloadMember:
          $ref: '#/components/schemas/WorkloadMember'
      required:
        - workloadMember
      title: CreateWorkloadMemberRequest
      type: object
    CreateWorkloadMemberResponse:
      additionalProperties: false
      description: Response message for the CreateWorkloadMember method.
      properties:
        workloadMember:
          $ref: '#/components/schemas/WorkloadMember'
      required:
        - workloadMember
      title: CreateWorkloadMemberResponse
      type: object
    CreateWorkloadRequest:
      additionalProperties: false
      description: Request message for the CreateWorkload method.
      properties:
        workload:
          $ref: '#/components/schemas/WorkloadResource'
      required:
        - workload
      title: CreateWorkloadRequest
      type: object
    CreateWorkloadResponse:
      additionalProperties: false
      description: Response message for the CreateWorkload method.
      properties:
        workload:
          $ref: '#/components/schemas/WorkloadResource'
      required:
        - workload
      title: CreateWorkloadResponse
      type: object
    CustomConfigResource:
      additionalProperties: false
      properties:
        config:
          description: Config content
          maxLength: 16384
          title: config
          type: string
        description:
          description: (OPTIONAL) Config description
          maxLength: 256
          minLength: 1
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          title: description
          type: string
        name:
          description: Config provided by admin
          maxLength: 40
          pattern: ^[a-z][a-z0-9-]{0,31}$
          title: name
          type: string
        resourceId:
          description: resource identifier
          maxLength: 21
          pattern: ^customconfig-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - name
        - config
      title: CustomConfigResource
      type: object
    DeleteCustomConfigRequest:
      additionalProperties: false
      description: Request message for DeleteCustomConfig.
      properties:
        resourceId:
          description: Name of the customconfig to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteCustomConfigRequest
      type: object
    DeleteCustomConfigResponse:
      additionalProperties: false
      description: Response message for DeleteCustomConfig.
      title: DeleteCustomConfigResponse
      type: object
    DeleteHostRequest:
      additionalProperties: false
      description: Request message for DeleteHost.
      properties:
        resourceId:
          description: Name of the host host to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteHostRequest
      type: object
    DeleteHostResponse:
      additionalProperties: false
      description: Response message for DeleteHost.
      title: DeleteHostResponse
      type: object
    DeleteInstanceRequest:
      additionalProperties: false
      description: Request message for DeleteInstance.
      properties:
        resourceId:
          description: Name of the instance instance to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteInstanceRequest
      type: object
    DeleteInstanceResponse:
      additionalProperties: false
      description: Response message for DeleteInstance.
      title: DeleteInstanceResponse
      type: object
    DeleteLocalAccountRequest:
      additionalProperties: false
      description: Request message for DeleteLocalAccount.
      properties:
        resourceId:
          description: Name of the localaccount to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteLocalAccountRequest
      type: object
    DeleteLocalAccountResponse:
      additionalProperties: false
      description: Response message for DeleteLocalAccount.
      title: DeleteLocalAccountResponse
      type: object
    DeleteOSUpdatePolicyRequest:
      additionalProperties: false
      description: Request message for DeleteOperatingSystem.
      properties:
        resourceId:
          description: Name of the OS Update Policy to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteOSUpdatePolicyRequest
      type: object
    DeleteOSUpdatePolicyResponse:
      additionalProperties: false
      description: Response message for DeleteOperatingSystem.
      title: DeleteOSUpdatePolicyResponse
      type: object
    DeleteOSUpdateRunRequest:
      additionalProperties: false
      description: Request message for DeleteOperatingSystem.
      properties:
        resourceId:
          description: Name of the os update run to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteOSUpdateRunRequest
      type: object
    DeleteOSUpdateRunResponse:
      additionalProperties: false
      description: Response message for DeleteOperatingSystem.
      title: DeleteOSUpdateRunResponse
      type: object
    DeleteOperatingSystemRequest:
      additionalProperties: false
      description: Request message for DeleteOperatingSystem.
      properties:
        resourceId:
          description: Name of the os os to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteOperatingSystemRequest
      type: object
    DeleteOperatingSystemResponse:
      additionalProperties: false
      description: Response message for DeleteOperatingSystem.
      title: DeleteOperatingSystemResponse
      type: object
    DeleteProviderRequest:
      additionalProperties: false
      description: Request message for DeleteProvider.
      properties:
        resourceId:
          description: Name of the provider provider to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteProviderRequest
      type: object
    DeleteProviderResponse:
      additionalProperties: false
      description: Response message for DeleteProvider.
      title: DeleteProviderResponse
      type: object
    DeleteRegionRequest:
      additionalProperties: false
      description: Request message for DeleteRegion.
      properties:
        resourceId:
          description: Name of the region region to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteRegionRequest
      type: object
    DeleteRegionResponse:
      additionalProperties: false
      description: Response message for DeleteRegion.
      title: DeleteRegionResponse
      type: object
    DeleteRepeatedScheduleRequest:
      additionalProperties: false
      description: Request message for DeleteRepeatedSchedule.
      properties:
        resourceId:
          description: Name of the repeated_schedule repeated_schedule to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteRepeatedScheduleRequest
      type: object
    DeleteRepeatedScheduleResponse:
      additionalProperties: false
      description: Response message for DeleteRepeatedSchedule.
      title: DeleteRepeatedScheduleResponse
      type: object
    DeleteSingleScheduleRequest:
      additionalProperties: false
      description: Request message for DeleteSingleSchedule.
      properties:
        resourceId:
          description: Name of the single_schedule single_schedule to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteSingleScheduleRequest
      type: object
    DeleteSingleScheduleResponse:
      additionalProperties: false
      description: Response message for DeleteSingleSchedule.
      title: DeleteSingleScheduleResponse
      type: object
    DeleteSiteRequest:
      additionalProperties: false
      description: Request message for DeleteSite.
      properties:
        resourceId:
          description: Name of the site site to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteSiteRequest
      type: object
    DeleteSiteResponse:
      additionalProperties: false
      description: Response message for DeleteSite.
      title: DeleteSiteResponse
      type: object
    DeleteTelemetryLogsGroupRequest:
      additionalProperties: false
      description: Request message for DeleteTelemetryLogsGroup.
      properties:
        resourceId:
          description: Name of the telemetry_logs_group telemetry_logs_group to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteTelemetryLogsGroupRequest
      type: object
    DeleteTelemetryLogsGroupResponse:
      additionalProperties: false
      description: Response message for DeleteTelemetryLogsGroup.
      title: DeleteTelemetryLogsGroupResponse
      type: object
    DeleteTelemetryLogsProfileRequest:
      additionalProperties: false
      description: Request message for DeleteTelemetryLogsProfile.
      properties:
        resourceId:
          description: Name of the telemetry_logs_profile telemetry_logs_profile to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteTelemetryLogsProfileRequest
      type: object
    DeleteTelemetryLogsProfileResponse:
      additionalProperties: false
      description: Response message for DeleteTelemetryLogsProfile.
      title: DeleteTelemetryLogsProfileResponse
      type: object
    DeleteTelemetryMetricsGroupRequest:
      additionalProperties: false
      description: Request message for DeleteTelemetryMetricsGroup.
      properties:
        resourceId:
          description: Name of the telemetry_metrics_group telemetry_metrics_group to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteTelemetryMetricsGroupRequest
      type: object
    DeleteTelemetryMetricsGroupResponse:
      additionalProperties: false
      description: Response message for DeleteTelemetryMetricsGroup.
      title: DeleteTelemetryMetricsGroupResponse
      type: object
    DeleteTelemetryMetricsProfileRequest:
      additionalProperties: false
      description: Request message for DeleteTelemetryMetricsProfile.
      properties:
        resourceId:
          description: Name of the telemetry_metrics_profile telemetry_metrics_profile to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteTelemetryMetricsProfileRequest
      type: object
    DeleteTelemetryMetricsProfileResponse:
      additionalProperties: false
      description: Response message for DeleteTelemetryMetricsProfile.
      title: DeleteTelemetryMetricsProfileResponse
      type: object
    DeleteWorkloadMemberRequest:
      additionalProperties: false
      description: Request message for DeleteWorkloadMember.
      properties:
        resourceId:
          description: Name of the workload_member workload_member to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteWorkloadMemberRequest
      type: object
    DeleteWorkloadMemberResponse:
      additionalProperties: false
      description: Response message for DeleteWorkloadMember.
      title: DeleteWorkloadMemberResponse
      type: object
    DeleteWorkloadRequest:
      additionalProperties: false
      description: Request message for DeleteWorkload.
      properties:
        resourceId:
          description: Name of the workload workload to be deleted.
          title: resourceId
          type: string
      required:
        - resourceId
      title: DeleteWorkloadRequest
      type: object
    DeleteWorkloadResponse:
      additionalProperties: false
      description: Response message for DeleteWorkload.
      title: DeleteWorkloadResponse
      type: object
    GetCustomConfigRequest:
      additionalProperties: false
      description: Request message for the GetCustomConfig method.
      properties:
        resourceId:
          description: Name of the requested custom configuration.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetCustomConfigRequest
      type: object
    GetCustomConfigResponse:
      additionalProperties: false
      description: Response message for the GetCustomConfig method.
      properties:
        customConfig:
          $ref: '#/components/schemas/CustomConfigResource'
      required:
        - customConfig
      title: GetCustomConfigResponse
      type: object
    GetHostRequest:
      additionalProperties: false
      description: Request message for the GetHost method.
      properties:
        resourceId:
          description: Name of the requested host.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetHostRequest
      type: object
    GetHostResponse:
      additionalProperties: false
      description: Response message for the GetHost method.
      properties:
        host:
          $ref: '#/components/schemas/HostResource'
      required:
        - host
      title: GetHostResponse
      type: object
    GetHostSummaryRequest:
      additionalProperties: false
      description: Request the summary of Hosts resources.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
      title: GetHostSummaryRequest
      type: object
    GetHostSummaryResponse:
      additionalProperties: false
      description: Summary of the hosts status.
      properties:
        error:
          description: The total number of hosts presenting an Error.
          readOnly: true
          title: error
          type: integer
        running:
          description: The total number of hosts in Running state.
          readOnly: true
          title: running
          type: integer
        total:
          description: The total number of hosts.
          readOnly: true
          title: total
          type: integer
        unallocated:
          description: The total number of hosts without a site.
          readOnly: true
          title: unallocated
          type: integer
      title: GetHostSummaryResponse
      type: object
    GetInstanceRequest:
      additionalProperties: false
      description: Request message for the GetInstance method.
      properties:
        resourceId:
          description: Name of the requested instance.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetInstanceRequest
      type: object
    GetInstanceResponse:
      additionalProperties: false
      description: Response message for the GetInstance method.
      properties:
        instance:
          $ref: '#/components/schemas/InstanceResource'
      required:
        - instance
      title: GetInstanceResponse
      type: object
    GetLocalAccountRequest:
      additionalProperties: false
      description: Request message for the GetLocalAccount method.
      properties:
        resourceId:
          description: Name of the requested localaccount.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetLocalAccountRequest
      type: object
    GetLocalAccountResponse:
      additionalProperties: false
      description: Response message for the GetLocalAccount method.
      properties:
        localAccount:
          $ref: '#/components/schemas/LocalAccountResource'
      required:
        - localAccount
      title: GetLocalAccountResponse
      type: object
    GetOSUpdatePolicyRequest:
      additionalProperties: false
      description: Request message for the GetOSUpdatePolicy method.
      properties:
        resourceId:
          description: Name of the requested os.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetOSUpdatePolicyRequest
      type: object
    GetOSUpdatePolicyResponse:
      additionalProperties: false
      description: Response message for the GetOSUpdatePolicy method.
      properties:
        osUpdatePolicy:
          $ref: '#/components/schemas/OSUpdatePolicy'
      required:
        - osUpdatePolicy
      title: GetOSUpdatePolicyResponse
      type: object
    GetOSUpdateRunRequest:
      additionalProperties: false
      description: Request message for the GetOSUpdateRun method.
      properties:
        resourceId:
          description: Name of the requested os.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetOSUpdateRunRequest
      type: object
    GetOSUpdateRunResponse:
      additionalProperties: false
      description: Response message for the GetOSUpdateRun method.
      properties:
        osUpdateRun:
          $ref: '#/components/schemas/OSUpdateRun'
      required:
        - osUpdateRun
      title: GetOSUpdateRunResponse
      type: object
    GetOperatingSystemRequest:
      additionalProperties: false
      description: Request message for the GetOperatingSystem method.
      properties:
        resourceId:
          description: Name of the requested os.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetOperatingSystemRequest
      type: object
    GetOperatingSystemResponse:
      additionalProperties: false
      description: Response message for the GetOperatingSystem method.
      properties:
        os:
          $ref: '#/components/schemas/OperatingSystemResource'
      required:
        - os
      title: GetOperatingSystemResponse
      type: object
    GetProviderRequest:
      additionalProperties: false
      description: Request message for the GetProvider method.
      properties:
        resourceId:
          description: Name of the requested provider.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetProviderRequest
      type: object
    GetProviderResponse:
      additionalProperties: false
      description: Response message for the GetProvider method.
      properties:
        provider:
          $ref: '#/components/schemas/ProviderResource'
      required:
        - provider
      title: GetProviderResponse
      type: object
    GetRegionRequest:
      additionalProperties: false
      description: Request message for the GetRegion method.
      properties:
        resourceId:
          description: Name of the requested region.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetRegionRequest
      type: object
    GetRegionResponse:
      additionalProperties: false
      description: Response message for the GetRegion method.
      properties:
        region:
          $ref: '#/components/schemas/RegionResource'
      required:
        - region
      title: GetRegionResponse
      type: object
    GetRepeatedScheduleRequest:
      additionalProperties: false
      description: Request message for the GetRepeatedSchedule method.
      properties:
        resourceId:
          description: Name of the requested repeated_schedule.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetRepeatedScheduleRequest
      type: object
    GetRepeatedScheduleResponse:
      additionalProperties: false
      description: Response message for the GetRepeatedSchedule method.
      properties:
        repeatedSchedule:
          $ref: '#/components/schemas/RepeatedScheduleResource'
      required:
        - repeatedSchedule
      title: GetRepeatedScheduleResponse
      type: object
    GetSingleScheduleRequest:
      additionalProperties: false
      description: Request message for the GetSingleSchedule method.
      properties:
        resourceId:
          description: Name of the requested single_schedule.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetSingleScheduleRequest
      type: object
    GetSingleScheduleResponse:
      additionalProperties: false
      description: Response message for the GetSingleSchedule method.
      properties:
        singleSchedule:
          $ref: '#/components/schemas/SingleScheduleResource'
      required:
        - singleSchedule
      title: GetSingleScheduleResponse
      type: object
    GetSiteRequest:
      additionalProperties: false
      description: Request message for the GetSite method.
      properties:
        resourceId:
          description: Name of the requested site.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetSiteRequest
      type: object
    GetSiteResponse:
      additionalProperties: false
      description: Response message for the GetSite method.
      properties:
        site:
          $ref: '#/components/schemas/SiteResource'
      required:
        - site
      title: GetSiteResponse
      type: object
    GetTelemetryLogsGroupRequest:
      additionalProperties: false
      description: Request message for the GetTelemetryLogsGroup method.
      properties:
        resourceId:
          description: Name of the requested telemetry_logs_group.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetTelemetryLogsGroupRequest
      type: object
    GetTelemetryLogsGroupResponse:
      additionalProperties: false
      description: Response message for the GetTelemetryLogsGroup method.
      properties:
        telemetryLogsGroup:
          $ref: '#/components/schemas/TelemetryLogsGroupResource'
      required:
        - telemetryLogsGroup
      title: GetTelemetryLogsGroupResponse
      type: object
    GetTelemetryLogsProfileRequest:
      additionalProperties: false
      description: Request message for the GetTelemetryLogsProfile method.
      properties:
        resourceId:
          description: Name of the requested telemetry_logs_profile.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetTelemetryLogsProfileRequest
      type: object
    GetTelemetryLogsProfileResponse:
      additionalProperties: false
      description: Response message for the GetTelemetryLogsProfile method.
      properties:
        telemetryLogsProfile:
          $ref: '#/components/schemas/TelemetryLogsProfileResource'
      required:
        - telemetryLogsProfile
      title: GetTelemetryLogsProfileResponse
      type: object
    GetTelemetryMetricsGroupRequest:
      additionalProperties: false
      description: Request message for the GetTelemetryMetricsGroup method.
      properties:
        resourceId:
          description: Name of the requested telemetry_metrics_group.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetTelemetryMetricsGroupRequest
      type: object
    GetTelemetryMetricsGroupResponse:
      additionalProperties: false
      description: Response message for the GetTelemetryMetricsGroup method.
      properties:
        telemetryMetricsGroup:
          $ref: '#/components/schemas/TelemetryMetricsGroupResource'
      required:
        - telemetryMetricsGroup
      title: GetTelemetryMetricsGroupResponse
      type: object
    GetTelemetryMetricsProfileRequest:
      additionalProperties: false
      description: Request message for the GetTelemetryMetricsProfile method.
      properties:
        resourceId:
          description: Name of the requested telemetry_metrics_profile.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetTelemetryMetricsProfileRequest
      type: object
    GetTelemetryMetricsProfileResponse:
      additionalProperties: false
      description: Response message for the GetTelemetryMetricsProfile method.
      properties:
        telemetryMetricsProfile:
          $ref: '#/components/schemas/TelemetryMetricsProfileResource'
      required:
        - telemetryMetricsProfile
      title: GetTelemetryMetricsProfileResponse
      type: object
    GetWorkloadMemberRequest:
      additionalProperties: false
      description: Request message for the GetWorkloadMember method.
      properties:
        resourceId:
          description: Name of the requested workload_member.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetWorkloadMemberRequest
      type: object
    GetWorkloadMemberResponse:
      additionalProperties: false
      description: Response message for the GetWorkloadMember method.
      properties:
        workloadMember:
          $ref: '#/components/schemas/WorkloadMember'
      required:
        - workloadMember
      title: GetWorkloadMemberResponse
      type: object
    GetWorkloadRequest:
      additionalProperties: false
      description: Request message for the GetWorkload method.
      properties:
        resourceId:
          description: Name of the requested workload.
          title: resourceId
          type: string
      required:
        - resourceId
      title: GetWorkloadRequest
      type: object
    GetWorkloadResponse:
      additionalProperties: false
      description: Response message for the GetWorkload method.
      properties:
        workload:
          $ref: '#/components/schemas/WorkloadResource'
      required:
        - workload
      title: GetWorkloadResponse
      type: object
    HostComponentState:
      description: The state of the Host component.
      enum:
        - HOST_COMPONENT_STATE_UNSPECIFIED
        - HOST_COMPONENT_STATE_ERROR
        - HOST_COMPONENT_STATE_DELETED
        - HOST_COMPONENT_STATE_EXISTS
      title: HostComponentState
      type: string
    HostRegister:
      additionalProperties: false
      description: Message to register a Host.
      properties:
        autoOnboard:
          description: Flag to signal to automatically onboard the host.
          title: auto_onboard
          type: boolean
        enableVpro:
          description: Flag to signal to enable vPRO on the host.
          title: enable_vpro
          type: boolean
        name:
          description: The host name.
          maxLength: 20
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        serialNumber:
          description: The host serial number.
          pattern: ^([A-Za-z0-9]{5,20})?$
          title: serial_number
          type: string
        uuid:
          description: The host UUID.
          maxLength: 36
          pattern: ^$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          title: uuid
          type: string
      title: HostRegister
      type: object
    HostResource:
      additionalProperties: false
      description: A Host resource.
      properties:
        amtSku:
          description: coming from device introspection
          maxLength: 96
          readOnly: true
          title: amt_sku
          type: string
        amtStatus:
          description: coming from device introspection. Set only by the DM RM.
          maxLength: 1024
          readOnly: true
          title: amt_status
          type: string
        amtStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        amtStatusTimestamp:
          description: UTC timestamp when amt_status was last changed. Set by DM and OM RM only.
          readOnly: true
          title: amt_status_timestamp
          type: integer
        biosReleaseDate:
          description: BIOS Release Date.
          readOnly: true
          title: bios_release_date
          type: string
        biosVendor:
          description: BIOS Vendor.
          readOnly: true
          title: bios_vendor
          type: string
        biosVersion:
          description: BIOS Version.
          readOnly: true
          title: bios_version
          type: string
        bmcIp:
          description: BMC IP address, such as "192.0.0.1".
          readOnly: true
          title: bmc_ip
          type: string
        bmcKind:
          $ref: '#/components/schemas/BaremetalControllerKind'
        cpuArchitecture:
          description: Architecture of the CPU model, e.g. x86_64.
          readOnly: true
          title: cpu_architecture
          type: string
        cpuCapabilities:
          description: String list of all CPU capabilities (possibly JSON).
          readOnly: true
          title: cpu_capabilities
          type: string
        cpuCores:
          description: Number of CPU cores.
          readOnly: true
          title: cpu_cores
          type: integer
        cpuModel:
          description: CPU model of the Host.
          readOnly: true
          title: cpu_model
          type: string
        cpuSockets:
          description: Number of physical CPU sockets.
          readOnly: true
          title: cpu_sockets
          type: integer
        cpuThreads:
          description: Total Number of threads supported by the CPU.
          readOnly: true
          title: cpu_threads
          type: integer
        cpuTopology:
          description: JSON field storing the CPU topology, refer to HDA/HRM docs for the JSON schema.
          readOnly: true
          title: cpu_topology
          type: string
        currentAmtState:
          $ref: '#/components/schemas/AmtState'
        currentPowerState:
          $ref: '#/components/schemas/PowerState'
        currentState:
          $ref: '#/components/schemas/HostState'
        desiredAmtState:
          $ref: '#/components/schemas/AmtState'
        desiredPowerState:
          $ref: '#/components/schemas/PowerState'
        desiredState:
          $ref: '#/components/schemas/HostState'
        hostGpus:
          description: Back-reference to attached host GPU resources.
          items:
            $ref: '#/components/schemas/HostgpuResource'
          maxItems: 100
          readOnly: true
          title: host_gpus
          type: array
        hostNics:
          description: Back-reference to attached host NIC resources.
          items:
            $ref: '#/components/schemas/HostnicResource'
          maxItems: 100
          readOnly: true
          title: host_nics
          type: array
        hostStatus:
          description: textual message that describes the runtime status of Host. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: host_status
          type: string
        hostStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        hostStatusTimestamp:
          description: UTC timestamp when host_status was last changed. Set by RMs only.
          readOnly: true
          title: host_status_timestamp
          type: integer
        hostStorages:
          description: Back-reference to attached host storage resources.
          items:
            $ref: '#/components/schemas/HoststorageResource'
          maxItems: 100
          readOnly: true
          title: host_storages
          type: array
        hostUsbs:
          description: Back-reference to attached host USB resources.
          items:
            $ref: '#/components/schemas/HostusbResource'
          maxItems: 100
          readOnly: true
          title: host_usbs
          type: array
        hostname:
          description: Hostname.
          readOnly: true
          title: hostname
          type: string
        inheritedMetadata:
          description: The metadata inherited by the host, represented by a list of key:value pairs, rendered by location and logical structures.
          items:
            $ref: '#/components/schemas/MetadataItem'
          maxItems: 100
          readOnly: true
          title: inherited_metadata
          type: array
        instance:
          $ref: '#/components/schemas/InstanceResource'
        memoryBytes:
          description: Quantity of memory (RAM) in the system in bytes.
          readOnly: true
          title: memory_bytes
          type: string
        metadata:
          description: (OPTIONAL) The metadata associated with the host, represented by a list of key:value pairs.
          items:
            $ref: '#/components/schemas/MetadataItem'
          maxItems: 100
          title: metadata
          type: array
        name:
          description: The host name.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        note:
          description: The note associated with the host.
          maxLength: 512
          minLength: 1
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          readOnly: true
          title: note
          type: string
        onboardingStatus:
          description: textual message that describes the onboarding status of Host. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: onboarding_status
          type: string
        onboardingStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        onboardingStatusTimestamp:
          description: UTC timestamp when onboarding_status was last changed. Set by RMs only.
          readOnly: true
          title: onboarding_status_timestamp
          type: integer
        powerCommandPolicy:
          $ref: '#/components/schemas/PowerCommandPolicy'
        powerOnTime:
          description: UTC timestamp when the host was powered on. Set by DM RM only.
          readOnly: true
          title: power_on_time
          type: integer
        powerStatus:
          description: textual message that describes the runtime status of Host power. Set by DM RM only.
          maxLength: 1024
          readOnly: true
          title: power_status
          type: string
        powerStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        powerStatusTimestamp:
          description: UTC timestamp when power_status was last changed. Set by DM RM only.
          readOnly: true
          title: power_status_timestamp
          type: integer
        productName:
          description: System Product Name.
          readOnly: true
          title: product_name
          type: string
        provider:
          $ref: '#/components/schemas/ProviderResource'
        registrationStatus:
          description: textual message that describes the onboarding status of Host. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: registration_status
          type: string
        registrationStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        registrationStatusTimestamp:
          description: UTC timestamp when registration_status was last changed. Set by RMs only.
          readOnly: true
          title: registration_status_timestamp
          type: integer
        resourceId:
          description: Resource ID, generated on Create.
          maxLength: 13
          pattern: ^host-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        serialNumber:
          description: SMBIOS device serial number.
          readOnly: true
          title: serial_number
          type: string
        site:
          $ref: '#/components/schemas/SiteResource'
        siteId:
          description: The site where the host is located.
          maxLength: 13
          pattern: ^$|^site-[0-9a-f]{8}$
          title: site_id
          type: string
          writeOnly: true
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        uuid:
          description: (OPTIONAL) The host UUID identifier; UUID is unique and immutable.
          maxLength: 36
          pattern: ^$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          title: uuid
          type: string
      required:
        - name
      title: HostResource
      type: object
    HostState:
      description: States of the host.
      enum:
        - HOST_STATE_UNSPECIFIED
        - HOST_STATE_DELETED
        - HOST_STATE_ONBOARDED
        - HOST_STATE_UNTRUSTED
        - HOST_STATE_REGISTERED
      title: HostState
      type: string
    HostgpuResource:
      additionalProperties: false
      description: The set of available host GPU cards.
      properties:
        capabilities:
          description: The features of this GPU device, comma separated.
          items:
            readOnly: true
            type: string
          maxItems: 100
          readOnly: true
          title: capabilities
          type: array
        description:
          description: The human-readable GPU device description.
          readOnly: true
          title: description
          type: string
        deviceName:
          description: GPU name as reported by OS.
          readOnly: true
          title: device_name
          type: string
        pciId:
          description: The GPU device PCI identifier.
          readOnly: true
          title: pci_id
          type: string
        product:
          description: The GPU device model.
          readOnly: true
          title: product
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        vendor:
          description: The GPU device vendor.
          readOnly: true
          title: vendor
          type: string
      title: HostgpuResource
      type: object
    HostnicResource:
      additionalProperties: false
      description: The set of available host interfaces.
      properties:
        bmcInterface:
          description: Whether this is a bmc interface or not.
          readOnly: true
          title: bmc_interface
          type: boolean
        deviceName:
          description: The device name (OS provided, like eth0, enp1s0, etc.).
          readOnly: true
          title: device_name
          type: string
        ipaddresses:
          description: The interface's IP address list.
          items:
            $ref: '#/components/schemas/IPAddressResource'
          maxItems: 100
          readOnly: true
          title: ipaddresses
          type: array
        linkState:
          $ref: '#/components/schemas/NetworkInterfaceLinkState'
        macAddr:
          description: The interface MAC address.
          readOnly: true
          title: mac_addr
          type: string
        mtu:
          description: Maximum transmission unit of the interface.
          readOnly: true
          title: mtu
          type: integer
        pciIdentifier:
          description: PCI identifier string for this network interface.
          readOnly: true
          title: pci_identifier
          type: string
        sriovEnabled:
          description: If the interface has SRIOV enabled.
          readOnly: true
          title: sriov_enabled
          type: boolean
        sriovVfsNum:
          description: The number of VFs currently provisioned on the interface, if SR-IOV is supported.
          readOnly: true
          title: sriov_vfs_num
          type: integer
        sriovVfsTotal:
          description: The maximum number of VFs the interface supports, if SR-IOV is supported.
          readOnly: true
          title: sriov_vfs_total
          type: integer
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      title: HostnicResource
      type: object
    HoststorageResource:
      additionalProperties: false
      description: The set of available host storage capabilities.
      properties:
        capacityBytes:
          description: The storage device Capacity (size) in bytes.
          readOnly: true
          title: capacity_bytes
          type: string
        deviceName:
          description: The storage device device name (OS provided, like sda, sdb, etc.)
          readOnly: true
          title: device_name
          type: string
        model:
          description: The storage device model.
          readOnly: true
          title: model
          type: string
        serial:
          description: The storage device unique serial number.
          readOnly: true
          title: serial
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        vendor:
          description: The Storage device vendor.
          readOnly: true
          title: vendor
          type: string
        wwid:
          description: The storage device unique identifier.
          readOnly: true
          title: wwid
          type: string
      title: HoststorageResource
      type: object
    HostusbResource:
      additionalProperties: false
      description: The set of host USB resources.
      properties:
        addr:
          description: USB Device number assigned by OS.
          readOnly: true
          title: addr
          type: integer
        bus:
          description: Bus number of device connected with.
          readOnly: true
          title: bus
          type: integer
        class:
          description: class defined by USB-IF.
          readOnly: true
          title: class
          type: string
        deviceName:
          description: the OS-provided device name.
          readOnly: true
          title: device_name
          type: string
        idProduct:
          description: Hexadecimal number representing ID of the USB device product.
          readOnly: true
          title: id_product
          type: string
        idVendor:
          description: Hexadecimal number representing ID of the USB device vendor.
          readOnly: true
          title: id_vendor
          type: string
        serial:
          description: Serial number of device.
          readOnly: true
          title: serial
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      title: HostusbResource
      type: object
    IPAddressConfigMethod:
      enum:
        - IP_ADDRESS_CONFIG_METHOD_UNSPECIFIED
        - IP_ADDRESS_CONFIG_METHOD_STATIC
        - IP_ADDRESS_CONFIG_METHOD_DYNAMIC
      title: IPAddressConfigMethod
      type: string
    IPAddressResource:
      additionalProperties: false
      properties:
        address:
          description: CIDR representation of the IP address.
          readOnly: true
          title: address
          type: string
        configMethod:
          $ref: '#/components/schemas/IPAddressConfigMethod'
        resourceId:
          description: Resource ID, generated by Inventory on Create
          maxLength: 15
          pattern: ^ipaddr-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        status:
          $ref: '#/components/schemas/IPAddressStatus'
        statusDetail:
          description: User-friendly status to provide details about the resource state
          readOnly: true
          title: status_detail
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      title: IPAddressResource
      type: object
    IPAddressState:
      enum:
        - IP_ADDRESS_STATE_UNSPECIFIED
        - IP_ADDRESS_STATE_ERROR
        - IP_ADDRESS_STATE_ASSIGNED
        - IP_ADDRESS_STATE_CONFIGURED
        - IP_ADDRESS_STATE_RELEASED
        - IP_ADDRESS_STATE_DELETED
      title: IPAddressState
      type: string
    IPAddressStatus:
      enum:
        - IP_ADDRESS_STATUS_UNSPECIFIED
        - IP_ADDRESS_STATUS_ASSIGNMENT_ERROR
        - IP_ADDRESS_STATUS_ASSIGNED
        - IP_ADDRESS_STATUS_CONFIGURATION_ERROR
        - IP_ADDRESS_STATUS_CONFIGURED
        - IP_ADDRESS_STATUS_RELEASED
        - IP_ADDRESS_STATUS_ERROR
      title: IPAddressStatus
      type: string
    InstanceKind:
      description: The Instance kind.
      enum:
        - INSTANCE_KIND_UNSPECIFIED
        - INSTANCE_KIND_METAL
      title: InstanceKind
      type: string
    InstanceResource:
      additionalProperties: false
      description: |-
        InstanceResource describes an instantiated OS install, running on either a
         host or hypervisor.
      properties:
        currentOs:
          $ref: '#/components/schemas/OperatingSystemResource'
        currentState:
          $ref: '#/components/schemas/InstanceState'
        customConfig:
          description: The list of custom config associated with the instance.
          items:
            $ref: '#/components/schemas/CustomConfigResource'
          maxItems: 100
          readOnly: true
          title: custom_config
          type: array
        customConfigID:
          description: The list of custom config associated with the instance.
          items:
            maxLength: 21
            pattern: ^customconfig-[0-9a-f]{8}$
            type: string
            writeOnly: true
          maxItems: 100
          maxLength: 21
          pattern: ^customconfig-[0-9a-f]{8}$
          title: custom_configID
          type: array
          writeOnly: true
        desiredOs:
          $ref: '#/components/schemas/OperatingSystemResource'
        desiredState:
          $ref: '#/components/schemas/InstanceState'
        existingCves:
          description: The CVEs that are currently present on the Instance, encoded as a JSON list.
          maxLength: 20000
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+~()"\\ \\n\{\}\[\]]+$
          readOnly: true
          title: existing_cves
          type: string
        host:
          $ref: '#/components/schemas/HostResource'
        hostID:
          description: The host's unique identifier associated with the instance.
          maxLength: 13
          pattern: ^host-[0-9a-f]{8}$
          title: hostID
          type: string
          writeOnly: true
        instanceID:
          description: Deprecated, The instance's unique identifier. Alias of resourceID.
          maxLength: 13
          pattern: ^inst-[0-9a-f]{8}$
          readOnly: true
          title: instanceID
          type: string
        instanceStatus:
          description: textual message that describes the current instance status. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: instance_status
          type: string
        instanceStatusDetail:
          description: Textual message that gives detailed status of the instance's software components.
          maxLength: 1024
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*() ]+$
          readOnly: true
          title: instance_status_detail
          type: string
        instanceStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        instanceStatusTimestamp:
          description: UTC timestamp when instance_status was last changed. Set by RMs only.
          readOnly: true
          title: instance_status_timestamp
          type: integer
        kind:
          $ref: '#/components/schemas/InstanceKind'
        localAccountID:
          description: The unique identifier of local account will be associated with the instance.
          maxLength: 21
          pattern: ^localaccount-[0-9a-f]{8}$
          title: local_accountID
          type: string
          writeOnly: true
        localaccount:
          $ref: '#/components/schemas/LocalAccountResource'
        name:
          description: The instance's human-readable name.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        os:
          $ref: '#/components/schemas/OperatingSystemResource'
        osID:
          description: The unique identifier of OS resource that must be installed on the instance. The field is used to drive the day0 operations, and immutable once set the first time.
          maxLength: 11
          pattern: ^os-[0-9a-f]{8}$
          title: osID
          type: string
          writeOnly: true
        osUpdateAvailable:
          description: Details about OS Updates available for this Instance. If empty, there are no updates available.
          maxLength: 10000
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*()"\\ \\n]+$
          readOnly: true
          title: os_update_available
          type: string
        osUpdatePolicyID:
          maxLength: 23
          pattern: ^osupdatepolicy-[0-9a-f]{8}$
          title: os_update_policyID
          type: string
          writeOnly: true
        provisioningStatus:
          description: textual message that describes the provisioning status of Instance. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: provisioning_status
          type: string
        provisioningStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        provisioningStatusTimestamp:
          description: UTC timestamp when provisioning_status was last changed. Set by RMs only.
          readOnly: true
          title: provisioning_status_timestamp
          type: integer
        resourceId:
          description: Resource ID, generated on Create.
          maxLength: 13
          pattern: ^inst-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        runtimePackages:
          description: The packages available on the Instance at runtime, represented as a JSON list.
          maxLength: 500000
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+~()"\\ \\n\{\}\[\]]+$
          readOnly: true
          title: runtime_packages
          type: string
        securityFeature:
          $ref: '#/components/schemas/SecurityFeature'
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        trustedAttestationStatus:
          description: textual message that describes the trusted_attestation status of Instance. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: trusted_attestation_status
          type: string
        trustedAttestationStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        trustedAttestationStatusTimestamp:
          description: UTC timestamp when trusted_attestation_status was last changed. Set by RMs only.
          readOnly: true
          title: trusted_attestation_status_timestamp
          type: integer
        updatePolicy:
          $ref: '#/components/schemas/OSUpdatePolicy'
        updateStatus:
          description: textual message that describes the update status of Instance. Set by RMs only.
          maxLength: 1024
          readOnly: true
          title: update_status
          type: string
        updateStatusDetail:
          description: Deprecated, will be removed in EMF v3.2.0, use OSUpdateRun instead. JSON field storing details of Instance update status. Set by RMs only. Beta, subject to change.
          maxLength: 100000
          readOnly: true
          title: update_status_detail
          type: string
        updateStatusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        updateStatusTimestamp:
          description: UTC timestamp when update_status was last changed. Set by RMs only.
          readOnly: true
          title: update_status_timestamp
          type: integer
        workloadMembers:
          description: The workload members associated with the instance. back-reference to the Workload Members associated to this Instance
          items:
            $ref: '#/components/schemas/WorkloadMember'
          maxItems: 100
          readOnly: true
          title: workload_members
          type: array
      title: InstanceResource
      type: object
    InstanceState:
      description: The Instance States.
      enum:
        - INSTANCE_STATE_UNSPECIFIED
        - INSTANCE_STATE_RUNNING
        - INSTANCE_STATE_DELETED
        - INSTANCE_STATE_UNTRUSTED
      title: InstanceState
      type: string
    InvalidateHostRequest:
      additionalProperties: false
      description: Request to invalidate/untrust a Host.
      properties:
        note:
          description: user-provided reason for change or a freeform field
          maxLength: 512
          minLength: 1
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          title: note
          type: string
        resourceId:
          description: Host resource ID
          pattern: ^host-[0-9a-f]{8}$
          title: resourceId
          type: string
      title: InvalidateHostRequest
      type: object
    InvalidateHostResponse:
      additionalProperties: false
      description: Response message for InvalidateHost.
      title: InvalidateHostResponse
      type: object
    InvalidateInstanceRequest:
      additionalProperties: false
      description: Request message for Invalidate Instance.
      properties:
        resourceId:
          description: Instance resource ID
          pattern: ^inst-[0-9a-f]{8}$
          title: resourceId
          type: string
      title: InvalidateInstanceRequest
      type: object
    InvalidateInstanceResponse:
      additionalProperties: false
      description: Response message for Invalidate Instance.
      title: InvalidateInstanceResponse
      type: object
    LinkState:
      description: The state of the network interface.
      enum:
        - NETWORK_INTERFACE_LINK_STATE_UNSPECIFIED
        - NETWORK_INTERFACE_LINK_STATE_UP
        - NETWORK_INTERFACE_LINK_STATE_DOWN
      title: LinkState
      type: string
    ListCustomConfigsRequest:
      additionalProperties: false
      description: Request message for the ListCustomConfigs method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListCustomConfigsRequest
      type: object
    ListCustomConfigsResponse:
      additionalProperties: false
      description: Response message for the ListCustomConfigs method.
      properties:
        customConfigs:
          description: Sorted and filtered list of customconfigs.
          items:
            $ref: '#/components/schemas/CustomConfigResource'
          maxItems: 100
          title: custom_configs
          type: array
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - customConfigs
        - totalElements
        - hasNext
      title: ListCustomConfigsResponse
      type: object
    ListHostsRequest:
      additionalProperties: false
      description: Request message for the ListHosts method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListHostsRequest
      type: object
    ListHostsResponse:
      additionalProperties: false
      description: Response message for the ListHosts method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        hosts:
          description: Sorted and filtered list of hosts.
          items:
            $ref: '#/components/schemas/HostResource'
          maxItems: 100
          title: hosts
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - hosts
        - totalElements
        - hasNext
      title: ListHostsResponse
      type: object
    ListInstancesRequest:
      additionalProperties: false
      description: Request message for the ListInstances method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListInstancesRequest
      type: object
    ListInstancesResponse:
      additionalProperties: false
      description: Response message for the ListInstances method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        instances:
          description: Sorted and filtered list of instances.
          items:
            $ref: '#/components/schemas/InstanceResource'
          maxItems: 100
          title: instances
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - instances
        - totalElements
        - hasNext
      title: ListInstancesResponse
      type: object
    ListLocalAccountsRequest:
      additionalProperties: false
      description: Request message for the ListLocalAccounts method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListLocalAccountsRequest
      type: object
    ListLocalAccountsResponse:
      additionalProperties: false
      description: Response message for the ListLocalAccounts method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        localAccounts:
          description: Sorted and filtered list of localaccounts.
          items:
            $ref: '#/components/schemas/LocalAccountResource'
          maxItems: 100
          title: local_accounts
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - localAccounts
        - totalElements
        - hasNext
      title: ListLocalAccountsResponse
      type: object
    ListLocationsRequest:
      additionalProperties: false
      description: Request message for the ListLocations method.
      properties:
        name:
          description: (OPTIONAL) Filter locations by name
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        showRegions:
          description: (OPTIONAL) Return region locations
          title: show_regions
          type: boolean
        showSites:
          description: (OPTIONAL) Return site locations
          title: show_sites
          type: boolean
      title: ListLocationsRequest
      type: object
    ListLocationsResponse:
      additionalProperties: false
      description: Response message for the ListLocations method.
      properties:
        nodes:
          description: Sorted and filtered list of regions.
          items:
            $ref: '#/components/schemas/ListLocationsResponse.LocationNode'
          maxItems: 100
          title: nodes
          type: array
        outputElements:
          description: (OPTIONAL) Amount of items in the returned list.
          format: int32
          title: output_elements
          type: integer
        totalElements:
          description: (OPTIONAL) Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - nodes
      title: ListLocationsResponse
      type: object
    ListLocationsResponse.LocationNode:
      additionalProperties: false
      description: A node in the location tree.
      properties:
        name:
          description: The node human readable name.
          title: name
          type: string
        parentId:
          description: |-
            The associated resource ID, of the parent resource of this Location node.
             In the case of a region, it could be empty or a regionId.
             In the case of a site, it could be empty or a regionId.
          title: parent_id
          type: string
        resourceId:
          description: The associated node resource ID, generated by inventory on Create.
          title: resourceId
          type: string
        type:
          $ref: '#/components/schemas/ListLocationsResponse.ResourceKind'
      required:
        - resourceId
        - parentId
        - name
        - type
      title: LocationNode
      type: object
    ListLocationsResponse.ResourceKind:
      enum:
        - RESOURCE_KIND_UNSPECIFIED
        - RESOURCE_KIND_REGION
        - RESOURCE_KIND_SITE
      title: ResourceKind
      type: string
    ListOSUpdatePolicyRequest:
      additionalProperties: false
      description: Request message for the ListOSUpdatePolicy method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListOSUpdatePolicyRequest
      type: object
    ListOSUpdatePolicyResponse:
      additionalProperties: false
      description: Response message for the ListOSUpdatePolicy method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        osUpdatePolicies:
          description: Sorted and filtered list of OS Update Policies.
          items:
            $ref: '#/components/schemas/OSUpdatePolicy'
          maxItems: 100
          title: os_update_policies
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - osUpdatePolicies
        - totalElements
        - hasNext
      title: ListOSUpdatePolicyResponse
      type: object
    ListOSUpdateRunRequest:
      additionalProperties: false
      description: Request message for the ListOSUpdateRun method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListOSUpdateRunRequest
      type: object
    ListOSUpdateRunResponse:
      additionalProperties: false
      description: Response message for the ListOSUpdateRun method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        osUpdateRuns:
          description: Sorted and filtered list of os update runs.
          items:
            $ref: '#/components/schemas/OSUpdateRun'
          maxItems: 100
          title: os_update_runs
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - osUpdateRuns
        - totalElements
        - hasNext
      title: ListOSUpdateRunResponse
      type: object
    ListOperatingSystemsRequest:
      additionalProperties: false
      description: Request message for the ListOperatingSystems method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListOperatingSystemsRequest
      type: object
    ListOperatingSystemsResponse:
      additionalProperties: false
      description: Response message for the ListOperatingSystems method.
      properties:
        OperatingSystemResources:
          description: Sorted and filtered list of oss.
          items:
            $ref: '#/components/schemas/OperatingSystemResource'
          maxItems: 100
          title: Operating_system_resources
          type: array
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - OperatingSystemResources
        - totalElements
        - hasNext
      title: ListOperatingSystemsResponse
      type: object
    ListProvidersRequest:
      additionalProperties: false
      description: Request message for the ListProviders method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListProvidersRequest
      type: object
    ListProvidersResponse:
      additionalProperties: false
      description: Response message for the ListProviders method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        providers:
          description: Sorted and filtered list of providers.
          items:
            $ref: '#/components/schemas/ProviderResource'
          maxItems: 100
          title: providers
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - providers
        - totalElements
        - hasNext
      title: ListProvidersResponse
      type: object
    ListRegionsRequest:
      additionalProperties: false
      description: Request message for the ListRegions method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
        showTotalSites:
          description: (OPTIONAL) Flag to signal if the total amount of site in a region should be returned.
          title: show_total_sites
          type: boolean
      title: ListRegionsRequest
      type: object
    ListRegionsResponse:
      additionalProperties: false
      description: Response message for the ListRegions method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        regions:
          description: Sorted and filtered list of regions.
          items:
            $ref: '#/components/schemas/RegionResource'
          maxItems: 100
          title: regions
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - regions
        - totalElements
        - hasNext
      title: ListRegionsResponse
      type: object
    ListRepeatedSchedulesRequest:
      additionalProperties: false
      description: Request message for the ListRepeatedSchedules method.
      properties:
        hostId:
          description: |-
            (OPTIONAL) The host ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified host ID applied to them, i.e., target including the inherited ones
             (parent site if not null). If null, returns all the schedules without a host ID as target.
          pattern: ^host-[0-9a-f]{8}$
          title: host_id
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
        regionId:
          description: |-
            (OPTIONAL) The region ID target of the schedules. If not specified,
             returns all schedules (given the other query params).
             If specified, returns the schedules that have the specified region ID applied to them,
             i.e., target including the inherited ones (parent region if not null).
             If null, returns all the schedules without a region ID as target.
          pattern: ^region-[0-9a-f]{8}$
          title: region_id
          type: string
        siteId:
          description: |-
            (OPTIONAL) The site ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified site ID applied to them, i.e., target including the inherited ones.
             If null, returns all the schedules without a site ID as target
          pattern: ^site-[0-9a-f]{8}$
          title: site_id
          type: string
        unixEpoch:
          description: (OPTIONAL) Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
          pattern: ^[0-9]+$
          title: unix_epoch
          type: string
      title: ListRepeatedSchedulesRequest
      type: object
    ListRepeatedSchedulesResponse:
      additionalProperties: false
      description: Response message for the ListRepeatedSchedules method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        repeatedSchedules:
          description: Sorted and filtered list of repeated_schedules.
          items:
            $ref: '#/components/schemas/RepeatedScheduleResource'
          maxItems: 100
          title: repeated_schedules
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - repeatedSchedules
        - totalElements
        - hasNext
      title: ListRepeatedSchedulesResponse
      type: object
    ListSchedulesRequest:
      additionalProperties: false
      description: Request message for the ListSchedules method.
      properties:
        hostId:
          description: |-
            (OPTIONAL) The host ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified host ID applied to them, i.e., target including the inherited ones
             (parent site if not null). If null, returns all the schedules without a host ID as target.
          pattern: ^host-[0-9a-f]{8}$
          title: host_id
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
        regionId:
          description: |-
            (OPTIONAL) The region ID target of the schedules. If not specified,
             returns all schedules (given the other query params).
             If specified, returns the schedules that have the specified region ID applied to them,
             i.e., target including the inherited ones (parent region if not null).
             If null, returns all the schedules without a region ID as target.
          pattern: ^region-[0-9a-f]{8}$
          title: region_id
          type: string
        siteId:
          description: |-
            (OPTIONAL) The site ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified site ID applied to them, i.e., target including the inherited ones.
             If null, returns all the schedules without a site ID as target
          pattern: ^site-[0-9a-f]{8}$
          title: site_id
          type: string
        unixEpoch:
          description: (OPTIONAL) Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
          pattern: ^[0-9]+$
          title: unix_epoch
          type: string
      title: ListSchedulesRequest
      type: object
    ListSchedulesResponse:
      additionalProperties: false
      description: Response message for the ListSchedulesResponse method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        repeatedSchedules:
          description: Sorted and filtered list of repeated_schedules.
          items:
            $ref: '#/components/schemas/RepeatedScheduleResource'
          maxItems: 100
          title: repeated_schedules
          type: array
        singleSchedules:
          description: Sorted and filtered list of single_schedules.
          items:
            $ref: '#/components/schemas/SingleScheduleResource'
          maxItems: 100
          title: single_schedules
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - singleSchedules
        - repeatedSchedules
        - totalElements
        - hasNext
      title: ListSchedulesResponse
      type: object
    ListSingleSchedulesRequest:
      additionalProperties: false
      description: Request message for the ListSingleSchedules method.
      properties:
        hostId:
          description: |-
            (OPTIONAL) The host ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified host ID applied to them, i.e., target including the inherited ones
             (parent site if not null). If null, returns all the schedules without a host ID as target.
          pattern: ^host-[0-9a-f]{8}$
          title: host_id
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
        regionId:
          description: |-
            (OPTIONAL) The region ID target of the schedules. If not specified,
             returns all schedules (given the other query params).
             If specified, returns the schedules that have the specified region ID applied to them,
             i.e., target including the inherited ones (parent region if not null).
             If null, returns all the schedules without a region ID as target.
          pattern: ^region-[0-9a-f]{8}$
          title: region_id
          type: string
        siteId:
          description: |-
            (OPTIONAL) The site ID target of the schedules. If not specified, returns all schedules
             (given the other query params). If specified, returns the schedules that have
             the specified site ID applied to them, i.e., target including the inherited ones.
             If null, returns all the schedules without a site ID as target
          pattern: ^site-[0-9a-f]{8}$
          title: site_id
          type: string
        unixEpoch:
          description: (OPTIONAL) Filter based on the timestamp, expected to be UNIX epoch UTC timestamp in seconds.
          pattern: ^[0-9]+$
          title: unix_epoch
          type: string
      title: ListSingleSchedulesRequest
      type: object
    ListSingleSchedulesResponse:
      additionalProperties: false
      description: Response message for the ListSingleSchedules method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        singleSchedules:
          description: Sorted and filtered list of single_schedules.
          items:
            $ref: '#/components/schemas/SingleScheduleResource'
          maxItems: 100
          title: single_schedules
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - singleSchedules
        - totalElements
        - hasNext
      title: ListSingleSchedulesResponse
      type: object
    ListSitesRequest:
      additionalProperties: false
      description: Request message for the ListSites method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListSitesRequest
      type: object
    ListSitesResponse:
      additionalProperties: false
      description: Response message for the ListSites method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        sites:
          description: Sorted and filtered list of sites.
          items:
            $ref: '#/components/schemas/SiteResource'
          maxItems: 100
          title: sites
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - sites
        - totalElements
        - hasNext
      title: ListSitesResponse
      type: object
    ListTelemetryLogsGroupsRequest:
      additionalProperties: false
      description: Request message for the ListTelemetryLogsGroups method.
      properties:
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListTelemetryLogsGroupsRequest
      type: object
    ListTelemetryLogsGroupsResponse:
      additionalProperties: false
      description: Response message for the ListTelemetryLogsGroups method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        telemetryLogsGroups:
          description: Sorted and filtered list of telemetry_logs_groups.
          items:
            $ref: '#/components/schemas/TelemetryLogsGroupResource'
          maxItems: 100
          title: telemetry_logs_groups
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - telemetryLogsGroups
        - totalElements
        - hasNext
      title: ListTelemetryLogsGroupsResponse
      type: object
    ListTelemetryLogsProfilesRequest:
      additionalProperties: false
      description: Request message for the ListTelemetryLogsProfiles method.
      properties:
        instanceId:
          description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given instance identifier.
          pattern: ^inst-[0-9a-f]{8}$
          title: instance_id
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
        regionId:
          description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given regionID.
          pattern: ^region-[0-9a-f]{8}$
          title: region_id
          type: string
        showInherited:
          description: |-
            (OPTIONAL) Indicates if listed telemetry profiles should be extended with telemetry
             profiles rendered from hierarchy. This flag is only used along with one
             of siteId, regionId or instanceId. If siteId, regionId or instanceId are
             not set, this flag is ignored.
          title: show_inherited
          type: boolean
        siteId:
          description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given siteID.
          pattern: ^site-[0-9a-f]{8}$
          title: site_id
          type: string
      title: ListTelemetryLogsProfilesRequest
      type: object
    ListTelemetryLogsProfilesResponse:
      additionalProperties: false
      description: Response message for the ListTelemetryLogsProfiles method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        telemetryLogsProfiles:
          description: Sorted and filtered list of telemetry_logs_profiles.
          items:
            $ref: '#/components/schemas/TelemetryLogsProfileResource'
          maxItems: 100
          title: telemetry_logs_profiles
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - telemetryLogsProfiles
        - totalElements
        - hasNext
      title: ListTelemetryLogsProfilesResponse
      type: object
    ListTelemetryMetricsGroupsRequest:
      additionalProperties: false
      description: Request message for the ListTelemetryMetricsGroups method.
      properties:
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListTelemetryMetricsGroupsRequest
      type: object
    ListTelemetryMetricsGroupsResponse:
      additionalProperties: false
      description: Response message for the ListTelemetryMetricsGroups method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        telemetryMetricsGroups:
          description: Sorted and filtered list of telemetry_metrics_groups.
          items:
            $ref: '#/components/schemas/TelemetryMetricsGroupResource'
          maxItems: 100
          title: telemetry_metrics_groups
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - telemetryMetricsGroups
        - totalElements
        - hasNext
      title: ListTelemetryMetricsGroupsResponse
      type: object
    ListTelemetryMetricsProfilesRequest:
      additionalProperties: false
      description: Request message for the ListTelemetryMetricsProfiles method.
      properties:
        instanceId:
          description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given instance identifier.
          pattern: ^inst-[0-9a-f]{8}$
          title: instance_id
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
        regionId:
          description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given regionID.
          pattern: ^region-[0-9a-f]{8}$
          title: region_id
          type: string
        showInherited:
          description: |-
            (OPTIONAL) Indicates if listed telemetry profiles should be extended with telemetry
             profiles rendered from hierarchy. This flag is only used along with one
             of siteId, regionId or instanceId. If siteId, regionId or instanceId are
             not set, this flag is ignored.
          title: show_inherited
          type: boolean
        siteId:
          description: (OPTIONAL) Returns only the telemetry profiles that are assigned with the given siteID.
          pattern: ^site-[0-9a-f]{8}$
          title: site_id
          type: string
      title: ListTelemetryMetricsProfilesRequest
      type: object
    ListTelemetryMetricsProfilesResponse:
      additionalProperties: false
      description: Response message for the ListTelemetryMetricsProfiles method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        telemetryMetricsProfiles:
          description: Sorted and filtered list of telemetry_metrics_profiles.
          items:
            $ref: '#/components/schemas/TelemetryMetricsProfileResource'
          maxItems: 100
          title: telemetry_metrics_profiles
          type: array
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
      required:
        - telemetryMetricsProfiles
        - totalElements
        - hasNext
      title: ListTelemetryMetricsProfilesResponse
      type: object
    ListWorkloadMembersRequest:
      additionalProperties: false
      description: Request message for the ListWorkloadMembers method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListWorkloadMembersRequest
      type: object
    ListWorkloadMembersResponse:
      additionalProperties: false
      description: Response message for the ListWorkloadMembers method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
        workloadMembers:
          description: Sorted and filtered list of workload_members.
          items:
            $ref: '#/components/schemas/WorkloadMember'
          maxItems: 100
          title: workload_members
          type: array
      required:
        - workloadMembers
        - totalElements
        - hasNext
      title: ListWorkloadMembersResponse
      type: object
    ListWorkloadsRequest:
      additionalProperties: false
      description: Request message for the ListWorkloads method.
      properties:
        filter:
          description: |-
            (OPTIONAL) Optional filter to return only item of interest.
             See https://google.aip.dev/160 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.,:/=*(){}"' ]+$
          title: filter
          type: string
        offset:
          description: (OPTIONAL) Index of the first item to return. This allows skipping items.
          maximum: 10000
          title: offset
          type: integer
        orderBy:
          description: |-
            (OPTIONAL) Optional comma separated list of fields to specify a sorting order.
             See https://google.aip.dev/132 for details.
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9., ]+$
          title: order_by
          type: string
        pageSize:
          description: |-
            (OPTIONAL) Defines the amount of items to be contained in a single page.
             Default of 20.
          maximum: 100
          minimum: 1
          title: page_size
          type: integer
      title: ListWorkloadsRequest
      type: object
    ListWorkloadsResponse:
      additionalProperties: false
      description: Response message for the ListWorkloads method.
      properties:
        hasNext:
          description: Inform if there are more elements
          title: has_next
          type: boolean
        totalElements:
          description: Count of items in the entire list, regardless of pagination.
          format: int32
          title: total_elements
          type: integer
        workloads:
          description: Sorted and filtered list of workloads.
          items:
            $ref: '#/components/schemas/WorkloadResource'
          maxItems: 100
          title: workloads
          type: array
      required:
        - workloads
        - totalElements
        - hasNext
      title: ListWorkloadsResponse
      type: object
    LocalAccountResource:
      additionalProperties: false
      properties:
        localAccountID:
          description: Deprecated, The local account resource's unique identifier. Alias of resourceId.
          maxLength: 21
          pattern: ^localaccount-[0-9a-f]{8}$
          readOnly: true
          title: local_accountID
          type: string
        resourceId:
          description: resource identifier
          maxLength: 21
          pattern: ^localaccount-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        sshKey:
          description: SSH Public Key of EN
          maxLength: 800
          pattern: ^(ssh-ed25519|ecdsa-sha2-nistp521) ([A-Za-z0-9+/=]+) ?(.*)?$
          title: ssh_key
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        username:
          description: Username provided by admin
          maxLength: 32
          pattern: ^[a-z][a-z0-9-]{0,31}$
          title: username
          type: string
      required:
        - username
        - sshKey
      title: LocalAccountResource
      type: object
    MetadataItem:
      additionalProperties: false
      description: A metadata item, represented by a key:value pair.
      properties:
        key:
          description: The metadata key.
          maxLength: 316
          pattern: ^$|^[a-z.]+/$|^[a-z.]+/[a-z0-9][a-z0-9-_.]*[a-z0-9]$|^[a-z.]+/[a-z0-9]$|^[a-z]$|^[a-z0-9][a-z0-9-_.]*[a-z0-9]$
          title: key
          type: string
        value:
          description: The metadata value.
          maxLength: 63
          pattern: ^$|^[a-z0-9]$|^[a-z0-9][a-z0-9._-]*[a-z0-9]$
          title: value
          type: string
      required:
        - key
        - value
      title: MetadataItem
      type: object
    NetworkInterfaceLinkState:
      additionalProperties: false
      properties:
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        type:
          $ref: '#/components/schemas/LinkState'
      title: NetworkInterfaceLinkState
      type: object
    OSUpdatePolicy:
      additionalProperties: false
      properties:
        description:
          description: User-provided, human-readable description.
          maxLength: 200
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*() ]+$
          title: description
          type: string
        installPackages:
          description: |-
            Freeform text, OS-dependent. A list of package names, one per line (newline separated). Must not contain version information.
             Applies only to Mutable OSes.
          maxLength: 500000
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+~()"\ \n{}[]]+$
          title: install_packages
          type: string
        kernelCommand:
          description: |-
            The OS resource's kernel Command Line Options.
             Applies only to Mutable OSes.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          title: kernel_command
          type: string
        name:
          description: User-provided, human-readable name.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        resourceId:
          description: resource ID, generated by the inventory on Create.
          pattern: ^osupdatepolicy-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        targetOs:
          $ref: '#/components/schemas/OperatingSystemResource'
        targetOsId:
          description: The unique identifier of target OS will be associated with the OS Update policy.
          maxLength: 11
          pattern: ^os-[0-9a-f]{8}$
          title: target_os_id
          type: string
          writeOnly: true
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        updatePolicy:
          $ref: '#/components/schemas/UpdatePolicy'
        updateSources:
          description: |-
            The list of OS resource update sources.
             Should be in 'DEB822 Source Format' for Debian style OSs.
             Applies only to Mutable OSes.
          items:
            maxItems: 100
            pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+()" \\n]+$
            type: string
          maxItems: 100
          title: update_sources
          type: array
      required:
        - name
      title: OSUpdatePolicy
      type: object
    OSUpdateRun:
      additionalProperties: false
      properties:
        appliedPolicy:
          $ref: '#/components/schemas/OSUpdatePolicy'
        description:
          description: Human-readable description.
          maxLength: 200
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*() ]+$
          readOnly: true
          title: description
          type: string
        endTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        instance:
          $ref: '#/components/schemas/InstanceResource'
        name:
          description: Human-readable name.
          maxLength: 40
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*() ]+$
          readOnly: true
          title: name
          type: string
        resourceId:
          description: resource ID, generated by the inventory on Create.
          pattern: ^osupdaterun-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        startTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        status:
          description: Short message that describes what happened during the OS Update.
          maxLength: 1024
          readOnly: true
          title: status
          type: string
        statusDetails:
          description: Details about what happened during the OS Update.
          maxLength: 100000
          readOnly: true
          title: status_details
          type: string
        statusIndicator:
          $ref: '#/components/schemas/StatusIndication'
        statusTimestamp:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      title: OSUpdateRun
      type: object
    OnboardHostRequest:
      additionalProperties: false
      description: Request to onboard a Host.
      properties:
        resourceId:
          description: Host resource ID
          pattern: ^host-[0-9a-f]{8}$
          title: resourceId
          type: string
      title: OnboardHostRequest
      type: object
    OnboardHostResponse:
      additionalProperties: false
      description: Response of a Host Register request.
      title: OnboardHostResponse
      type: object
    ProblemDetails:
      description: Carries a message in an HTTP error response.
      properties:
        message:
          description: Contains detailed information about the problem, such as its
            source data that can be used for debugging purposes.
          readOnly: true
          type: string
      type: object  
    OperatingSystemResource:
      additionalProperties: false
      description: An OS resource.
      properties:
        architecture:
          description: The OS resource's CPU architecture.
          maxLength: 20
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          title: architecture
          type: string
        description:
          maxLength: 1000
          pattern: ^$|^[a-zA-Z-_0-9.:;=@?!#,<>*(){}&%$`^\+\- ]+$
          title: description
          type: string
        existingCves:
          description: The CVEs that are currently present on the Operating System, encoded as a JSON list.
          maxLength: 20000
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+~()"\\ \\n\{\}\[\]]+$
          readOnly: true
          title: existing_cves
          type: string
        existingCvesUrl:
          description: (IMMUTABLE) URL of the file containing information about the existing CVEs on the Operating System.
          format: uri-ref
          maxLength: 500
          title: existing_cves_url
          type: string
        fixedCves:
          description: The CVEs that have been fixed by this OS Resource version, encoded as a JSON list.
          maxLength: 20000
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+~()"\\ \\n\{\}\[\]]+$
          readOnly: true
          title: fixed_cves
          type: string
        fixedCvesUrl:
          description: (IMMUTABLE) URL of the file containing information about the CVEs that have been fixed by this OS Resource version.
          format: uri-ref
          maxLength: 500
          title: fixed_cves_url
          type: string
        imageId:
          description: A unique identifier of the OS image that can be retrieved from the running OS.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()"\ ]+$
          title: image_id
          type: string
        imageUrl:
          description: The URL repository of the OS image.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()"\ ]+$
          title: image_url
          type: string
        installedPackages:
          description: List of installed packages, encoded as a JSON list.
          maxLength: 500000
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" \\\n]+$
          readOnly: true
          title: installed_packages
          type: string
        installedPackagesUrl:
          description: |-
            (IMMUTABLE) The URL of the OS manifest which contains install packages details. This will be used to fill the installed_packages field
             for the advance use case to allow manual creation of OSProfiles when supported from backend.
          format: uri-ref
          maxLength: 200
          title: installed_packages_url
          type: string
        kernelCommand:
          description: Deprecated, will be removed in EMF v3.2.0, this has been moved to new resource OSUpdatePolicy. The OS resource's kernel Command Line Options.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          title: kernel_command
          type: string
        metadata:
          description: Opaque JSON field storing metadata associated to this OS resource. Expected to be a JSON object with string keys and values, or an empty string.
          maxLength: 500
          pattern: ^$|^[a-z0-9,.\-_:/"\\ \\n{}\[\]]+$
          title: metadata
          type: string
        name:
          description: The OS resource's name.
          maxLength: 128
          pattern: '^$|^[a-zA-Z-_0-9./: ()]+$'
          title: name
          type: string
        osProvider:
          $ref: '#/components/schemas/OsProviderKind'
        osResourceID:
          description: Deprecated, The OS resource's unique identifier. Alias of resourceId.
          maxLength: 11
          pattern: ^os-[0-9a-f]{8}$
          readOnly: true
          title: os_resourceID
          type: string
        osType:
          $ref: '#/components/schemas/OsType'
        platformBundle:
          description: "Opaque JSON field storing references to custom installation script(s) that\n supplements the base OS with additional OS-level dependencies/configurations. \n If empty, the default OS installation will be used."
          readOnly: true
          title: platform_bundle
          type: string
        profileName:
          description: Name of an OS profile that the OS resource belongs to. Uniquely identifies a family of OS resources.
          maxLength: 128
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()"\ ]+$
          title: profile_name
          type: string
        profileVersion:
          description: Version of OS profile that the OS resource belongs to.
          readOnly: true
          title: profile_version
          type: string
        repoUrl:
          description: Deprecated. OS image URL. URL of the original installation source.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()" ]+$
          title: repo_url
          type: string
        resourceId:
          description: Resource ID, generated by inventory on Create.
          maxLength: 11
          pattern: ^os-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        securityFeature:
          $ref: '#/components/schemas/SecurityFeature'
        sha256:
          description: SHA256 checksum of the OS resource in hexadecimal representation.
          maxLength: 64
          minLength: 64
          pattern: ^[a-f0-9]+$
          title: sha256
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        updateSources:
          description: |-
            Deprecated, will be removed in EMF v3.2.0, this has been moved to new resource OSUpdatePolicy. The list of OS resource update sources.
             Should be in 'DEB822 Source Format' for Debian style OSs
          items:
            maxItems: 100
            maxLength: 10000
            pattern: ^$|^[a-zA-Z-_0-9./:;=@?!#,<>*+()"\ \\\n]+$
            type: string
          maxItems: 100
          title: update_sources
          type: array
      required:
        - sha256
      title: OperatingSystemResource
      type: object
    OsProviderKind:
      description: OsProviderKind describes "owner" of the OS, that will drive OS provisioning.
      enum:
        - OS_PROVIDER_KIND_UNSPECIFIED
        - OS_PROVIDER_KIND_INFRA
        - OS_PROVIDER_KIND_LENOVO
      title: OsProviderKind
      type: string
    OsType:
      description: OsType describes type of operating system.
      enum:
        - OS_TYPE_UNSPECIFIED
        - OS_TYPE_MUTABLE
        - OS_TYPE_IMMUTABLE
      title: OsType
      type: string
    PatchHostRequest:
      additionalProperties: false
      description: Request message for the PatchHost method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        host:
          $ref: '#/components/schemas/HostResource'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - host
      title: PatchHostRequest
      type: object
    PatchInstanceRequest:
      additionalProperties: false
      description: Request message for the PatchInstance method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        instance:
          $ref: '#/components/schemas/InstanceResource'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - instance
      title: PatchInstanceRequest
      type: object
    PatchOperatingSystemRequest:
      additionalProperties: false
      description: Request message for the PatchOperatingSystem method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        os:
          $ref: '#/components/schemas/OperatingSystemResource'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - os
      title: PatchOperatingSystemRequest
      type: object
    PatchRegionRequest:
      additionalProperties: false
      description: Request message for the PatchRegion method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        region:
          $ref: '#/components/schemas/RegionResource'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - region
      title: PatchRegionRequest
      type: object
    PatchRepeatedScheduleRequest:
      additionalProperties: false
      description: Request message for the PatchRepeatedSchedule method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        repeatedSchedule:
          $ref: '#/components/schemas/RepeatedScheduleResource'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - repeatedSchedule
      title: PatchRepeatedScheduleRequest
      type: object
    PatchSingleScheduleRequest:
      additionalProperties: false
      description: Request message for the PatchSingleSchedule method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
        singleSchedule:
          $ref: '#/components/schemas/SingleScheduleResource'
      required:
        - resourceId
        - singleSchedule
      title: PatchSingleScheduleRequest
      type: object
    PatchSiteRequest:
      additionalProperties: false
      description: Request message for the PatchSite method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
        site:
          $ref: '#/components/schemas/SiteResource'
      required:
        - resourceId
        - site
      title: PatchSiteRequest
      type: object
    PatchTelemetryLogsProfileRequest:
      additionalProperties: false
      description: Request message for the PatchTelemetryLogs method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
        telemetryLogsProfile:
          $ref: '#/components/schemas/TelemetryLogsProfileResource'
      required:
        - resourceId
        - telemetryLogsProfile
      title: PatchTelemetryLogsProfileRequest
      type: object
    PatchTelemetryMetricsProfileRequest:
      additionalProperties: false
      description: Request message for the PatchTelemetryMetricsProfile method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
        telemetryMetricsProfile:
          $ref: '#/components/schemas/TelemetryMetricsProfileResource'
      required:
        - resourceId
        - telemetryMetricsProfile
      title: PatchTelemetryMetricsProfileRequest
      type: object
    PatchWorkloadRequest:
      additionalProperties: false
      description: Request message for the PatchWorkload method.
      properties:
        fieldMask:
          $ref: '#/components/schemas/google.protobuf.FieldMask'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
        workload:
          $ref: '#/components/schemas/WorkloadResource'
      required:
        - resourceId
        - workload
      title: PatchWorkloadRequest
      type: object
    PowerCommandPolicy:
      description: The policy for handling power commands.
      enum:
        - POWER_COMMAND_POLICY_UNSPECIFIED
        - POWER_COMMAND_POLICY_IMMEDIATE
        - POWER_COMMAND_POLICY_ORDERED
      title: PowerCommandPolicy
      type: string
    PowerState:
      description: The host power state.
      enum:
        - POWER_STATE_UNSPECIFIED
        - POWER_STATE_ON
        - POWER_STATE_OFF
        - POWER_STATE_SLEEP
        - POWER_STATE_HIBERNATE
        - POWER_STATE_RESET
        - POWER_STATE_POWER_CYCLE
      title: PowerState
      type: string
    ProviderKind:
      description: Kind of provider.
      enum:
        - PROVIDER_KIND_UNSPECIFIED
        - PROVIDER_KIND_BAREMETAL
      title: ProviderKind
      type: string
    ProviderResource:
      additionalProperties: false
      description: A provider resource.
      properties:
        apiCredentials:
          description: The provider resource's list of credentials.
          items:
            maxItems: 100
            maxLength: 500
            pattern: ^$|^[a-zA-Z-_0-9.\/:;=?@!#,<>*(){}"\\ ]+$
            type: string
          maxItems: 100
          title: api_credentials
          type: array
        apiEndpoint:
          description: The provider resource's API endpoint.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*() ]+$
          title: api_endpoint
          type: string
        config:
          description: Opaque provider configuration.
          maxLength: 2000
          pattern: ^$|^[a-zA-Z-_0-9.\/:;=?@!#,<>*(){}"\\ ]+$
          title: config
          type: string
        name:
          description: The provider resource's name.
          maxLength: 40
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        providerID:
          description: Deprecated, The provider resource's unique identifier. Alias of resourceId.
          maxLength: 17
          pattern: ^provider-[0-9a-f]{8}$
          readOnly: true
          title: providerID
          type: string
        providerKind:
          $ref: '#/components/schemas/ProviderKind'
        providerVendor:
          $ref: '#/components/schemas/ProviderVendor'
        resourceId:
          description: Resource ID, generated by the inventory on Create.
          maxLength: 17
          pattern: ^provider-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - providerKind
        - name
        - apiEndpoint
      title: ProviderResource
      type: object
    ProviderVendor:
      description: Vendor of the provider.
      enum:
        - PROVIDER_VENDOR_UNSPECIFIED
        - PROVIDER_VENDOR_LENOVO_LXCA
        - PROVIDER_VENDOR_LENOVO_LOCA
      title: ProviderVendor
      type: string
    RegionResource:
      additionalProperties: false
      description: A region resource.
      properties:
        inheritedMetadata:
          description: |-
            The rendered metadata from the Region parent(s)
             that can be inherited by the Region, represented by a list of key:value pairs.
             This field can not be used in filter.
          items:
            $ref: '#/components/schemas/MetadataItem'
          maxItems: 100
          readOnly: true
          title: inherited_metadata
          type: array
        metadata:
          description: |-
            (OPTIONAL) The metadata associated to the Region,
             represented by a list of key:value pairs.
          items:
            $ref: '#/components/schemas/MetadataItem'
          maxItems: 100
          title: metadata
          type: array
        name:
          description: The user-provided, human-readable name of region
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        parentId:
          description: |-
            The parent Region unique identifier
             that the region is associated to, when existent.
             This field can not be used in filter.
          maxLength: 15
          pattern: ^$|^region-[0-9a-f]{8}$
          title: parent_id
          type: string
          writeOnly: true
        parentRegion:
          $ref: '#/components/schemas/RegionResource'
        regionID:
          description: Deprecated, The Region unique identifier. Alias of resourceId.
          maxLength: 15
          pattern: ^region-[0-9a-f]{8}$
          readOnly: true
          title: regionID
          type: string
        resourceId:
          description: resource ID, generated by the inventory on Create.
          maxLength: 15
          pattern: ^region-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        totalSites:
          description: The total number of sites in the region.
          format: int32
          readOnly: true
          title: total_sites
          type: integer
      title: RegionResource
      type: object
    RegisterHostRequest:
      additionalProperties: false
      description: Request to register a Host.
      properties:
        host:
          $ref: '#/components/schemas/HostRegister'
        resourceId:
          pattern: ^host-[0-9a-f]{8}$
          title: resourceId
          type: string
      required:
        - host
      title: RegisterHostRequest
      type: object
    RepeatedScheduleResource:
      additionalProperties: false
      description: A repeated-schedule resource.
      properties:
        cronDayMonth:
          description: cron style day of month (1-31), it can be empty only when used in a Filter
          pattern: ^([*]|([1-9]|([12][0-9])|3[01])((,([1-9]|([12][0-9])|3[01]))*))$
          title: cron_day_month
          type: string
        cronDayWeek:
          description: cron style day of week (0-6), it can be empty only when used in a Filter
          pattern: ^([*]|([0-6])((,([0-6]))*))$
          title: cron_day_week
          type: string
        cronHours:
          description: cron style hours (0-23), it can be empty only when used in a Filter
          pattern: ^([*]|([0-9]|1[0-9]|2[0-3])((,([0-9]|1[0-9]|2[0-3]))*))$
          title: cron_hours
          type: string
        cronMinutes:
          description: cron style minutes (0-59), it can be empty only when used in a Filter.
          pattern: ^([*]|([0-9]|([1-5][0-9]))((,([0-9]|([1-5][0-9])))*))$
          title: cron_minutes
          type: string
        cronMonth:
          description: cron style month (1-12), it can be empty only when used in a Filter
          pattern: ^([*]|([1-9]|1[012])((,([1-9]|1[012]))*))$
          title: cron_month
          type: string
        durationSeconds:
          description: The duration in seconds of the repeated schedule, per schedule.
          format: int32
          maximum: 86400
          minimum: 1
          title: duration_seconds
          type: integer
        name:
          description: The schedule's name.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        repeatedScheduleID:
          description: Deprecated, The repeated schedule's unique identifier. Alias of resourceId.
          maxLength: 21
          pattern: ^repeatedsche-[0-9a-f]{8}$
          readOnly: true
          title: repeated_scheduleID
          type: string
        resourceId:
          description: Resource ID, generated by the inventory on Create.
          maxLength: 21
          pattern: ^repeatedsche-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        scheduleStatus:
          $ref: '#/components/schemas/ScheduleStatus'
        targetHost:
          $ref: '#/components/schemas/HostResource'
        targetHostId:
          description: |-
            The target region ID of the schedule.
             Only one target can be provided per schedule.
             This field cannot be used as filter.
          maxLength: 13
          pattern: ^$|^host-[0-9a-f]{8}$
          title: target_host_id
          type: string
          writeOnly: true
        targetRegion:
          $ref: '#/components/schemas/RegionResource'
        targetRegionId:
          description: |-
            The target region ID of the schedule.
             Only one target can be provided per schedule.
             This field cannot be used as filter.
          maxLength: 15
          pattern: ^$|^region-[0-9a-f]{8}$
          title: target_region_id
          type: string
          writeOnly: true
        targetSite:
          $ref: '#/components/schemas/SiteResource'
        targetSiteId:
          description: |-
            The target site ID of the schedule.
             Only one target can be provided per schedule.
             This field cannot be used as filter.
          maxLength: 13
          pattern: ^$|^site-[0-9a-f]{8}$
          title: target_site_id
          type: string
          writeOnly: true
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - scheduleStatus
        - durationSeconds
        - cronMinutes
        - cronHours
        - cronDayMonth
        - cronMonth
        - cronDayWeek
      title: RepeatedScheduleResource
      type: object
    ScheduleStatus:
      description: The representation of a schedule's status.
      enum:
        - SCHEDULE_STATUS_UNSPECIFIED
        - SCHEDULE_STATUS_MAINTENANCE
        - SCHEDULE_STATUS_OS_UPDATE
      title: ScheduleStatus
      type: string
    SecurityFeature:
      description: SecurityFeature describes the security capabilities of a resource.
      enum:
        - SECURITY_FEATURE_UNSPECIFIED
        - SECURITY_FEATURE_NONE
        - SECURITY_FEATURE_SECURE_BOOT_AND_FULL_DISK_ENCRYPTION
      title: SecurityFeature
      type: string
    SeverityLevel:
      description: |-
        Log level used for the telemetry config.
         This field must only be defined if kind equals to TELEMETRY_CONFIG_KIND_LOGS.
      enum:
        - SEVERITY_LEVEL_UNSPECIFIED
        - SEVERITY_LEVEL_CRITICAL
        - SEVERITY_LEVEL_ERROR
        - SEVERITY_LEVEL_WARN
        - SEVERITY_LEVEL_INFO
        - SEVERITY_LEVEL_DEBUG
      title: SeverityLevel
      type: string
    SingleScheduleResource:
      additionalProperties: false
      description: A single schedule resource.
      properties:
        endSeconds:
          description: |-
            The end time in seconds, of the single schedule.
             The value of endSeconds must be equal to or bigger than the value of startSeconds.
          maximum: 4.294967295e+09
          minimum: 1
          title: end_seconds
          type: integer
        name:
          description: The schedule's name.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        resourceId:
          description: Resource ID, generated by the inventory on Create.
          maxLength: 19
          pattern: ^singlesche-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        scheduleStatus:
          $ref: '#/components/schemas/ScheduleStatus'
        singleScheduleID:
          description: Deprecated, The single schedule resource's unique identifier. Alias of resourceId.
          maxLength: 19
          pattern: ^singlesche-[0-9a-f]{8}$
          readOnly: true
          title: single_scheduleID
          type: string
        startSeconds:
          description: The start time in seconds, of the single schedule.
          maximum: 4.294967295e+09
          minimum: 1
          title: start_seconds
          type: integer
        targetHost:
          $ref: '#/components/schemas/HostResource'
        targetHostId:
          description: |-
            The target host ID of the schedule.
             Only one target can be provided per schedule.
             This field cannot be used as filter.
          maxLength: 13
          pattern: ^$|^host-[0-9a-f]{8}$
          title: target_host_id
          type: string
          writeOnly: true
        targetRegion:
          $ref: '#/components/schemas/RegionResource'
        targetRegionId:
          description: |-
            The target region ID of the schedule.
             Only one target can be provided per schedule.
             This field cannot be used as filter.
          maxLength: 15
          pattern: ^$|^region-[0-9a-f]{8}$
          title: target_region_id
          type: string
          writeOnly: true
        targetSite:
          $ref: '#/components/schemas/SiteResource'
        targetSiteId:
          description: |-
            The target site ID of the schedule.
             Only one target can be provided per schedule.
             This field cannot be used as filter.
          maxLength: 13
          pattern: ^$|^site-[0-9a-f]{8}$
          title: target_site_id
          type: string
          writeOnly: true
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - scheduleStatus
        - startSeconds
      title: SingleScheduleResource
      type: object
    SiteResource:
      additionalProperties: false
      description: A site resource.
      properties:
        inheritedMetadata:
          description: |-
            The rendered metadata from the Region parent(s)
             that can be inherited by the Region, represented by a list of key:value pairs.
             This field can not be used in filter.
          items:
            $ref: '#/components/schemas/MetadataItem'
          maxItems: 100
          readOnly: true
          title: inherited_metadata
          type: array
        metadata:
          description: |-
            (OPTIONAL) The metadata associated to the Region,
             represented by a list of key:value pairs.
          items:
            $ref: '#/components/schemas/MetadataItem'
          maxItems: 100
          title: metadata
          type: array
        name:
          description: The site's human-readable name.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        provider:
          $ref: '#/components/schemas/ProviderResource'
        region:
          $ref: '#/components/schemas/RegionResource'
        regionId:
          description: |-
            The region's unique identifier
             that the site is associated to. This field cannot be used in filter.
          maxLength: 15
          pattern: ^$|^region-[0-9a-f]{8}$
          title: region_id
          type: string
          writeOnly: true
        resourceId:
          description: resource ID, generated by the inventory on Create.
          maxLength: 13
          pattern: ^site-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        siteID:
          description: Deprecated, The site unique identifier. Alias of resourceId.
          maxLength: 13
          pattern: ^site-[0-9a-f]{8}$
          readOnly: true
          title: siteID
          type: string
        siteLat:
          description: |-
            The geolocation latitude of the site.
             Points are represented as latitude-longitude pairs in the E7 representation
             (degrees are multiplied by 10**7 and rounded to the nearest integer).
             siteLat must be in the range of +/- 90 degrees.
          format: int32
          maximum: 9e+08
          minimum: -9e+08
          title: site_lat
          type: integer
        siteLng:
          description: |-
            The geolocation longitude of the site.
             Points are represented as latitude-longitude pairs in the E7 representation
             (degrees are multiplied by 10**7 and rounded to the nearest integer).
             siteLng must be in the range of +/- 180 degrees (inclusive).
          format: int32
          maximum: 1.8e+09
          minimum: -1.8e+09
          title: site_lng
          type: integer
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      title: SiteResource
      type: object
    StatusIndication:
      description: The status indicator.
      enum:
        - STATUS_INDICATION_UNSPECIFIED
        - STATUS_INDICATION_ERROR
        - STATUS_INDICATION_IN_PROGRESS
        - STATUS_INDICATION_IDLE
      title: StatusIndication
      type: string
    TelemetryCollectorKind:
      description: The collector kind.
      enum:
        - TELEMETRY_COLLECTOR_KIND_UNSPECIFIED
        - TELEMETRY_COLLECTOR_KIND_HOST
        - TELEMETRY_COLLECTOR_KIND_CLUSTER
      title: TelemetryCollectorKind
      type: string
    TelemetryLogsGroupResource:
      additionalProperties: false
      description: TelemetryLogsGroupResource.
      properties:
        collectorKind:
          $ref: '#/components/schemas/TelemetryCollectorKind'
        groups:
          description: A list of log groups to collect.
          items:
            maxItems: 100
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.:;=@?!#*()"\ ]+$
            type: string
          maxItems: 100
          title: groups
          type: array
        name:
          description: Human-readable name for the log group.
          maxLength: 50
          minLength: 1
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        resourceId:
          description: Unique ID of the telemetry group.
          maxLength: 23
          pattern: ^telemetrygroup-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        telemetryLogsGroupId:
          description: Deprecated, Unique ID of the telemetry group. Alias of resource_id.
          maxLength: 23
          pattern: ^telemetrygroup-[0-9a-f]{8}$
          readOnly: true
          title: telemetry_logs_group_id
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - name
        - collectorKind
        - groups
      title: TelemetryLogsGroupResource
      type: object
    TelemetryLogsProfileResource:
      additionalProperties: false
      description: A telemetry log profile for a hierarchy object.
      properties:
        logLevel:
          $ref: '#/components/schemas/SeverityLevel'
        logsGroup:
          $ref: '#/components/schemas/TelemetryLogsGroupResource'
        logsGroupId:
          description: The unique identifier of the telemetry log group.
          maxLength: 23
          pattern: ^telemetrygroup-[0-9a-f]{8}$
          title: logs_group_id
          type: string
        profileId:
          description: Deprecated, The ID of the telemetry profile.
          maxLength: 25
          pattern: ^telemetryprofile-[0-9a-f]{8}$
          readOnly: true
          title: profile_id
          type: string
        resourceId:
          description: The ID of the telemetry profile.
          maxLength: 25
          pattern: ^telemetryprofile-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        targetInstance:
          description: |-
            The ID of the instance that the telemetry profile is assigned to.
             Can only be one of targetInstance, targetSite, or targetRegion.
          maxLength: 13
          pattern: ^$|^inst-[0-9a-f]{8}$
          title: target_instance
          type: string
        targetRegion:
          description: |-
            The ID of the region where the telemetry profile is assigned to.
             Can only be one of targetInstance, targetSite, or targetRegion.
          maxLength: 15
          pattern: ^$|^region-[0-9a-f]{8}$
          title: target_region
          type: string
        targetSite:
          description: |-
            The ID of the site where the telemetry profile is assigned to.
             Can only be one of targetInstance, targetSite, or targetRegion.
          maxLength: 13
          pattern: ^$|^site-[0-9a-f]{8}$
          title: target_site
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - logLevel
        - logsGroupId
      title: TelemetryLogsProfileResource
      type: object
    TelemetryMetricsGroupResource:
      additionalProperties: false
      description: TelemetryMetricsGroupResource.
      properties:
        collectorKind:
          $ref: '#/components/schemas/TelemetryCollectorKind'
        groups:
          description: A list of log groups to collect.
          items:
            maxItems: 100
            maxLength: 1000
            pattern: ^$|^[a-zA-Z-_0-9.:;=@?!#*()"\ ]+$
            type: string
          maxItems: 100
          title: groups
          type: array
        name:
          description: Human-readable name for the log group.
          maxLength: 50
          minLength: 1
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        resourceId:
          description: Unique ID of the telemetry group.
          maxLength: 23
          pattern: ^telemetrygroup-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        telemetryMetricsGroupId:
          description: Deprecated, Unique ID of the telemetry group. Alias of resource_id.
          maxLength: 23
          pattern: ^telemetrygroup-[0-9a-f]{8}$
          readOnly: true
          title: telemetry_metrics_group_id
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - name
        - collectorKind
        - groups
      title: TelemetryMetricsGroupResource
      type: object
    TelemetryMetricsProfileResource:
      additionalProperties: false
      description: A telemetry metric profile for a hierarchy object.
      properties:
        metricsGroup:
          $ref: '#/components/schemas/TelemetryMetricsGroupResource'
        metricsGroupId:
          description: The unique identifier of the telemetry metric group.
          maxLength: 23
          pattern: ^telemetrygroup-[0-9a-f]{8}$
          title: metrics_group_id
          type: string
        metricsInterval:
          description: |-
            Metric interval (in seconds) for the telemetry profile.
             This field must only be defined if the type equals to TELEMETRY_CONFIG_KIND_METRICS.
          format: int32
          minimum: 1
          title: metrics_interval
          type: integer
        profileId:
          description: Deprecated, The ID of the telemetry profile.
          maxLength: 25
          pattern: ^telemetryprofile-[0-9a-f]{8}$
          readOnly: true
          title: profile_id
          type: string
        resourceId:
          description: The ID of the telemetry profile.
          maxLength: 25
          pattern: ^telemetryprofile-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        targetInstance:
          description: |-
            The ID of the instance that the telemetry profile is assigned to.
             Can only be one of targetInstance, targetSite, or targetRegion.
          maxLength: 13
          pattern: ^$|^inst-[0-9a-f]{8}$
          title: target_instance
          type: string
        targetRegion:
          description: |-
            The ID of the region where the telemetry profile is assigned to.
             Can only be one of targetInstance, targetSite, or targetRegion.
          maxLength: 15
          pattern: ^$|^region-[0-9a-f]{8}$
          title: target_region
          type: string
        targetSite:
          description: |-
            The ID of the site where the telemetry profile is assigned to.
             Can only be one of targetInstance, targetSite, or targetRegion.
          maxLength: 13
          pattern: ^$|^site-[0-9a-f]{8}$
          title: target_site
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
      required:
        - metricsInterval
        - metricsGroupId
      title: TelemetryMetricsProfileResource
      type: object
    TelemetryResourceKind:
      description: Kind of telemetry collector.
      enum:
        - TELEMETRY_RESOURCE_KIND_UNSPECIFIED
        - TELEMETRY_RESOURCE_KIND_METRICS
        - TELEMETRY_RESOURCE_KIND_LOGS
      title: TelemetryResourceKind
      type: string
    Timestamps:
      additionalProperties: false
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
      title: Timestamps
      type: object
    UpdateHostRequest:
      additionalProperties: false
      description: Request message for the UpdateHost method.
      properties:
        host:
          $ref: '#/components/schemas/HostResource'
        resourceId:
          description: Name of the host host to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - host
      title: UpdateHostRequest
      type: object
    UpdateInstanceRequest:
      additionalProperties: false
      description: Request message for the UpdateInstance method.
      properties:
        instance:
          $ref: '#/components/schemas/InstanceResource'
        resourceId:
          description: ID of the resource to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - instance
      title: UpdateInstanceRequest
      type: object
    UpdateOperatingSystemRequest:
      additionalProperties: false
      description: Request message for the UpdateOperatingSystem method.
      properties:
        os:
          $ref: '#/components/schemas/OperatingSystemResource'
        resourceId:
          description: Name of the os os to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - os
      title: UpdateOperatingSystemRequest
      type: object
    UpdatePolicy:
      description: States of the host.
      enum:
        - UPDATE_POLICY_UNSPECIFIED
        - UPDATE_POLICY_LATEST
        - UPDATE_POLICY_TARGET
      title: UpdatePolicy
      type: string
    UpdateRegionRequest:
      additionalProperties: false
      description: Request message for the UpdateRegion method.
      properties:
        region:
          $ref: '#/components/schemas/RegionResource'
        resourceId:
          description: Name of the region region to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - region
      title: UpdateRegionRequest
      type: object
    UpdateRepeatedScheduleRequest:
      additionalProperties: false
      description: Request message for the UpdateRepeatedSchedule method.
      properties:
        repeatedSchedule:
          $ref: '#/components/schemas/RepeatedScheduleResource'
        resourceId:
          description: Name of the repeated_schedule repeated_schedule to be updated.
          title: resourceId
          type: string
      required:
        - resourceId
        - repeatedSchedule
      title: UpdateRepeatedScheduleRequest
      type: object
    UpdateSingleScheduleRequest:
      additionalProperties: false
      description: Request message for the UpdateSingleSchedule method.
      properties:
        resourceId:
          description: Name of the single_schedule single_schedule to be updated.
          title: resourceId
          type: string
        singleSchedule:
          $ref: '#/components/schemas/SingleScheduleResource'
      required:
        - resourceId
        - singleSchedule
      title: UpdateSingleScheduleRequest
      type: object
    UpdateSiteRequest:
      additionalProperties: false
      description: Request message for the UpdateSite method.
      properties:
        resourceId:
          description: Name of the site site to be updated.
          title: resourceId
          type: string
        site:
          $ref: '#/components/schemas/SiteResource'
      required:
        - resourceId
        - site
      title: UpdateSiteRequest
      type: object
    UpdateTelemetryLogsProfileRequest:
      additionalProperties: false
      description: Request message for the UpdateTelemetryLogsProfile method.
      properties:
        resourceId:
          description: Name of the telemetry_logs_profile telemetry_logs_profile to be updated.
          title: resourceId
          type: string
        telemetryLogsProfile:
          $ref: '#/components/schemas/TelemetryLogsProfileResource'
      required:
        - resourceId
        - telemetryLogsProfile
      title: UpdateTelemetryLogsProfileRequest
      type: object
    UpdateTelemetryMetricsProfileRequest:
      additionalProperties: false
      description: Request message for the UpdateTelemetryMetricsProfile method.
      properties:
        resourceId:
          description: Name of the telemetry_metrics_profile telemetry_metrics_profile to be updated.
          title: resourceId
          type: string
        telemetryMetricsProfile:
          $ref: '#/components/schemas/TelemetryMetricsProfileResource'
      required:
        - resourceId
        - telemetryMetricsProfile
      title: UpdateTelemetryMetricsProfileRequest
      type: object
    UpdateWorkloadRequest:
      additionalProperties: false
      description: Request message for the UpdateWorkload method.
      properties:
        resourceId:
          description: Name of the workload workload to be updated.
          title: resourceId
          type: string
        workload:
          $ref: '#/components/schemas/WorkloadResource'
      required:
        - resourceId
        - workload
      title: UpdateWorkloadRequest
      type: object
    WorkloadKind:
      description: Represents the type of workload.
      enum:
        - WORKLOAD_KIND_UNSPECIFIED
        - WORKLOAD_KIND_CLUSTER
      title: WorkloadKind
      type: string
    WorkloadMember:
      additionalProperties: false
      description: Intermediate resource to represent a relation between a workload and a compute resource (i.e., instance).
      properties:
        instance:
          $ref: '#/components/schemas/InstanceResource'
        instanceId:
          description: The unique identifier of the instance.
          maxLength: 13
          pattern: ^inst-[0-9a-f]{8}$
          title: instance_id
          type: string
          writeOnly: true
        kind:
          $ref: '#/components/schemas/WorkloadMemberKind'
        member:
          $ref: '#/components/schemas/InstanceResource'
        resourceId:
          description: Resource ID, generated by the inventory on Create.
          maxLength: 23
          pattern: ^workloadmember-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        workload:
          $ref: '#/components/schemas/WorkloadResource'
        workloadId:
          description: The workload unique identifier.
          maxLength: 17
          pattern: ^workload-[0-9a-f]{8}$
          title: workload_id
          type: string
          writeOnly: true
        workloadMemberId:
          description: Deprecated, The workload unique identifier. Alias of resourceId.
          maxLength: 23
          pattern: ^workloadmember-[0-9a-f]{8}$
          readOnly: true
          title: workload_member_id
          type: string
      required:
        - kind
        - workloadId
        - instanceId
      title: WorkloadMember
      type: object
    WorkloadMemberKind:
      description: Represents the type of the workload member.
      enum:
        - WORKLOAD_MEMBER_KIND_UNSPECIFIED
        - WORKLOAD_MEMBER_KIND_CLUSTER_NODE
      title: WorkloadMemberKind
      type: string
    WorkloadResource:
      additionalProperties: false
      description: A generic way to group compute resources to obtain a workload.
      properties:
        externalId:
          description: The ID of the external resource, used to link to resources outside the realm of Edge Infrastructure Manager.
          maxLength: 40
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: external_id
          type: string
        kind:
          $ref: '#/components/schemas/WorkloadKind'
        members:
          description: The members of the workload.
          items:
            $ref: '#/components/schemas/WorkloadMember'
          maxItems: 100
          readOnly: true
          title: members
          type: array
        name:
          description: Human-readable name for the workload.
          maxLength: 50
          pattern: '^$|^[a-zA-Z-_0-9./: ]+$'
          title: name
          type: string
        resourceId:
          description: resource ID, generated by the inventory on Create.
          maxLength: 17
          pattern: ^workload-[0-9a-f]{8}$
          readOnly: true
          title: resource_id
          type: string
        status:
          description: Human-readable status of the workload.
          maxLength: 500
          pattern: ^$|^[a-zA-Z-_0-9./:;=?@!#,<>*() ]+$
          title: status
          type: string
        timestamps:
          $ref: '#/components/schemas/Timestamps'
        workloadId:
          description: Deprecated, The workload unique identifier. Alias of resourceId.
          maxLength: 17
          pattern: ^workload-[0-9a-f]{8}$
          readOnly: true
          title: workload_id
          type: string
      required:
        - kind
        - members
      title: WorkloadResource
      type: object
    WorkloadState:
      description: Represents the Workload state, used for both current and desired state.
      enum:
        - WORKLOAD_STATE_UNSPECIFIED
        - WORKLOAD_STATE_ERROR
        - WORKLOAD_STATE_DELETING
        - WORKLOAD_STATE_DELETED
        - WORKLOAD_STATE_PROVISIONED
      title: WorkloadState
      type: string
    connect-protocol-version:
      const: 1
      description: Define the version of the Connect protocol
      enum:
        - 1
      title: Connect-Protocol-Version
      type: number
    connect-timeout-header:
      description: Define the timeout, in ms
      title: Connect-Timeout-Ms
      type: number
    connect.error:
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
      properties:
        code:
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
          enum:
            - canceled
            - unknown
            - invalid_argument
            - deadline_exceeded
            - not_found
            - already_exists
            - permission_denied
            - resource_exhausted
            - failed_precondition
            - aborted
            - out_of_range
            - unimplemented
            - internal
            - unavailable
            - data_loss
            - unauthenticated
          examples:
            - not_found
          type: string
        detail:
          $ref: '#/components/schemas/google.protobuf.Any'
        message:
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
          type: string
      title: Connect Error
      type: object
    google.protobuf.Any:
      additionalProperties: true
      description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
      properties:
        debug:
          additionalProperties: true
          type: object
        type:
          type: string
        value:
          format: binary
          type: string
      type: object
    google.protobuf.FieldMask:
      description: |-
        `FieldMask` represents a set of symbolic field paths, for example:

             paths: "f.a"
             paths: "f.b.d"

         Here `f` represents a field in some root message, `a` and `b`
         fields in the message found in `f`, and `d` a field found in the
         message in `f.b`.

         Field masks are used to specify a subset of fields that should be
         returned by a get operation or modified by an update operation.
         Field masks also have a custom JSON encoding (see below).

         # Field Masks in Projections

         When used in the context of a projection, a response message or
         sub-message is filtered by the API to only contain those fields as
         specified in the mask. For example, if the mask in the previous
         example is applied to a response message as follows:

             f {
               a : 22
               b {
                 d : 1
                 x : 2
               }
               y : 13
             }
             z: 8

         The result will not contain specific values for fields x,y and z
         (their value will be set to the default, and omitted in proto text
         output):


             f {
               a : 22
               b {
                 d : 1
               }
             }

         A repeated field is not allowed except at the last position of a
         paths string.

         If a FieldMask object is not present in a get operation, the
         operation applies to all fields (as if a FieldMask of all fields
         had been specified).

         Note that a field mask does not necessarily apply to the
         top-level response message. In case of a REST get operation, the
         field mask applies directly to the response, but in case of a REST
         list operation, the mask instead applies to each individual message
         in the returned resource list. In case of a REST custom method,
         other definitions may be used. Where the mask applies will be
         clearly documented together with its declaration in the API.  In
         any case, the effect on the returned resource/resources is required
         behavior for APIs.

         # Field Masks in Update Operations

         A field mask in update operations specifies which fields of the
         targeted resource are going to be updated. The API is required
         to only change the values of the fields as specified in the mask
         and leave the others untouched. If a resource is passed in to
         describe the updated values, the API ignores the values of all
         fields not covered by the mask.

         If a repeated field is specified for an update operation, new values will
         be appended to the existing repeated field in the target resource. Note that
         a repeated field is only allowed in the last position of a `paths` string.

         If a sub-message is specified in the last position of the field mask for an
         update operation, then new value will be merged into the existing sub-message
         in the target resource.

         For example, given the target message:

             f {
               b {
                 d: 1
                 x: 2
               }
               c: [1]
             }

         And an update message:

             f {
               b {
                 d: 10
               }
               c: [2]
             }

         then if the field mask is:

          paths: ["f.b", "f.c"]

         then the result will be:

             f {
               b {
                 d: 10
                 x: 2
               }
               c: [1, 2]
             }

         An implementation may provide options to override this default behavior for
         repeated and message fields.

         In order to reset a field's value to the default, the field must
         be in the mask and set to the default value in the provided resource.
         Hence, in order to reset all fields of a resource, provide a default
         instance of the resource and set all fields in the mask, or do
         not provide a mask as described below.

         If a field mask is not present on update, the operation applies to
         all fields (as if a field mask of all fields has been specified).
         Note that in the presence of schema evolution, this may mean that
         fields the client does not know and has therefore not filled into
         the request will be reset to their default. If this is unwanted
         behavior, a specific service may require a client to always specify
         a field mask, producing an error if not.

         As with get operations, the location of the resource which
         describes the updated values in the request message depends on the
         operation kind. In any case, the effect of the field mask is
         required to be honored by the API.

         ## Considerations for HTTP REST

         The HTTP kind of an update operation which uses a field mask must
         be set to PATCH instead of PUT in order to satisfy HTTP semantics
         (PUT must only be used for full updates).

         # JSON Encoding of Field Masks

         In JSON, a field mask is encoded as a single string where paths are
         separated by a comma. Fields name in each path are converted
         to/from lower-camel naming conventions.

         As an example, consider the following message declarations:

             message Profile {
               User user = 1;
               Photo photo = 2;
             }
             message User {
               string display_name = 1;
               string address = 2;
             }

         In proto a field mask for `Profile` may look as such:

             mask {
               paths: "user.display_name"
               paths: "photo"
             }

         In JSON, the same mask is represented as below:

             {
               mask: "user.displayName,photo"
             }

         # Field Masks and Oneof Fields

         Field masks treat fields in oneofs just as regular fields. Consider the
         following message:

             message SampleMessage {
               oneof test_oneof {
                 string name = 4;
                 SubMessage sub_message = 9;
               }
             }

         The field mask can be:

             mask {
               paths: "name"
             }

         Or:

             mask {
               paths: "sub_message"
             }

         Note that oneof type names ("test_oneof" in this case) cannot be used in
         paths.

         ## Field Mask Verification

         The implementation of any API method which has a FieldMask type field in the
         request should verify the included field paths, and return an
         `INVALID_ARGUMENT` error if any path is unmappable.
      type: string
    google.protobuf.Timestamp:
      description: |-
        A Timestamp represents a point in time independent of any time zone or local
         calendar, encoded as a count of seconds and fractions of seconds at
         nanosecond resolution. The count is relative to an epoch at UTC midnight on
         January 1, 1970, in the proleptic Gregorian calendar which extends the
         Gregorian calendar backwards to year one.

         All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
         second table is needed for interpretation, using a [24-hour linear
         smear](https://developers.google.com/time/smear).

         The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
         restricting to that range, we ensure that we can convert to and from [RFC
         3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.

         # Examples

         Example 1: Compute Timestamp from POSIX `time()`.

             Timestamp timestamp;
             timestamp.set_seconds(time(NULL));
             timestamp.set_nanos(0);

         Example 2: Compute Timestamp from POSIX `gettimeofday()`.

             struct timeval tv;
             gettimeofday(&tv, NULL);

             Timestamp timestamp;
             timestamp.set_seconds(tv.tv_sec);
             timestamp.set_nanos(tv.tv_usec * 1000);

         Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.

             FILETIME ft;
             GetSystemTimeAsFileTime(&ft);
             UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

             // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
             // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
             Timestamp timestamp;
             timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
             timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

         Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.

             long millis = System.currentTimeMillis();

             Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
                 .setNanos((int) ((millis % 1000) * 1000000)).build();

         Example 5: Compute Timestamp from Java `Instant.now()`.

             Instant now = Instant.now();

             Timestamp timestamp =
                 Timestamp.newBuilder().setSeconds(now.getEpochSecond())
                     .setNanos(now.getNano()).build();

         Example 6: Compute Timestamp from current time in Python.

             timestamp = Timestamp()
             timestamp.GetCurrentTime()

         # JSON Mapping

         In JSON format, the Timestamp type is encoded as a string in the
         [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
         format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
         where {year} is always expressed using four digits while {month}, {day},
         {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
         seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
         are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
         is required. A proto3 JSON serializer should always use UTC (as indicated by
         "Z") when printing the Timestamp type and a proto3 JSON parser should be
         able to accept both UTC and other timezones (as indicated by an offset).

         For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
         01:30 UTC on January 15, 2017.

         In JavaScript, one can convert a Date object to this format using the
         standard
         [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
         method. In Python, a standard `datetime.datetime` object can be converted
         to this format using
         [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
         the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
         the Joda Time's [`ISODateTimeFormat.dateTime()`](
         http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
         ) to obtain a formatter capable of generating timestamps in this format.
      format: date-time
      type: string
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
