Zededa ProfileDeploymentService API

The ProfileDeploymentService API from Zededa — 4 operation(s) for profiledeploymentservice.

OpenAPI Specification

zededa-profiledeploymentservice-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: ZEDEDA App Profiles Service AppProfileService ProfileDeploymentService API
  description: The ZEDEDA App Profiles Service is part of ZEDEDA Edge Orchestration Platform. This service enables customers to define their app profiles on ZEDEDA platform and to manage them remotely.
  termsOfService: https://www.zededa.com/terms
  version: '1.0'
  contact:
    name: ZEDEDA API Support
    url: https://www.zededa.com/support
    email: support@zededa.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
basePath: /api
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- BearerToken: []
tags:
- name: ProfileDeploymentService
paths:
  /v1/profiledeployments:
    get:
      summary: Query profile deployments
      description: Query the profile deployment records.
      operationId: ProfileDeploymentService_QueryProfileDeployments
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ProfileDeploymentList'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: filter.profileDeploymentId
        description: Unique id of the asset, unique across the enterprise.
        in: query
        required: false
        type: string
      - name: filter.namePattern
        description: deployment name pattern
        in: query
        required: false
        type: string
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        type: number
        format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        type: number
        format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        type: number
        format: int64
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
    post:
      summary: Create profile deployment
      description: Create a profile deployment record. When an assetgroup is associated with the app profiles via profile deployments, the policies will be applied onto the assets present in that group.
      operationId: ProfileDeploymentService_CreateProfileDeployment
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this profile deployment record will conflict with an already existing profile deployment record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/ProfileDeployment'
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
  /v1/profiledeployments/id/{id}:
    get:
      summary: Get profile deployment
      description: Get the configuration (without security details) of a profile deployment record.
      operationId: ProfileDeploymentService_GetProfileDeployment
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ProfileDeployment'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: unique Id of the deployment
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
    delete:
      summary: Delete profile deployment
      description: Delete a profile deployment record.
      operationId: ProfileDeploymentService_DeleteProfileDeployment
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because there are instances of this profile deployment deployed in edge node(s)
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: unique Id of the deployment
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
    put:
      summary: Update profile deployment
      description: Update a profile deployment record. The usual pattern to update a profile deployment record is to retrieve the record and update with the modified values in a new body to update the profile deployment record.
      operationId: ProfileDeploymentService_UpdateProfileDeployment
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this operation will conflict with an already existing profile deployment record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: unique Id of the deployment.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          type: object
          properties:
            name:
              type: string
              description: User defined name of the deployment, unique across the enterprise. Once deployment is created, name can’t be changed.
              maxLength: 256
              minLength: 3
              pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
              uniqueItems: true
            title:
              type: string
              description: User defined title of the deployment. Title can be changed at any time.
              maxLength: 256
              minLength: 3
              pattern: '[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+'
            description:
              type: string
              description: Detailed description of the deployment.
              maxLength: 256
            projectId:
              type: string
              description: project id
            appProfileInfo:
              $ref: '#/definitions/AppProfileInfo'
              description: app profile id
            targetAssetGroup:
              $ref: '#/definitions/TargetAssetGroup'
              description: asset group info
            status:
              type: string
          description: Profile Deployment is a proto that should be used by user-agents to create/update deployments
          title: Deployments for Application profile
          required:
          - name
          - appProfileInfo
          - projectId
          - targetAssetGroup
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
  /v1/profiledeployments/id/{id}/resourcestatus:
    get:
      summary: Query profile deployments resource status
      description: Query the profile deployment resourcs status.
      operationId: ProfileDeploymentService_QueryProfileDeploymentResourceStatus
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ProfileDeploymentResourceDetailedStatusResp'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: unique Id of the deployment.
        in: path
        required: true
        type: string
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        type: number
        format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        type: number
        format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        type: number
        format: int64
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
  /v1/profiledeployments/name/{name}:
    get:
      summary: Get profile deployment by name
      description: Get the configuration (without security details) of a profile deployment record by name.
      operationId: ProfileDeploymentService_GetProfileDeploymentByName
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ProfileDeployment'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have application level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: name
        description: User defined name of the deployment, unique across the enterprise. Once object is created, name can’t be changed
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - ProfileDeploymentService
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/profiledeployments
definitions:
  protobufAny:
    type: object
    properties:
      typeUrl:
        type: string
      value:
        type: string
        format: byte
  ProfileDeploymentResourceObjectStatus:
    type: object
    properties:
      id:
        type: string
        description: Unique ID of the object.
        readOnly: true
        pattern: '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'
        uniqueItems: true
      objectType:
        $ref: '#/definitions/ObjectType'
        description: object type
      objectRunState:
        $ref: '#/definitions/RunState'
        description: object run state
  ZcOpsType:
    type: string
    enum:
    - OPS_TYPE_UNSPECIFIED
    - OPS_TYPE_READ
    - OPS_TYPE_DELETE
    - OPS_TYPE_CREATE
    - OPS_TYPE_UPDATE
    - OPS_TYPE_LIST
    default: OPS_TYPE_UNSPECIFIED
    title: ZedCloud internal operation type
  Cursor:
    type: object
    properties:
      pageToken:
        type: string
        description: Page Token
      orderBy:
        type: array
        items:
          type: string
        description: OrderBy helps in sorting the list response
      pageNum:
        type: number
        format: int64
        description: Page Number
      pageSize:
        type: number
        format: int64
        description: Defines the page size
      totalPages:
        type: number
        format: int64
        description: Total number of pages to be fetched.
    description: 'Cursor helps in filtering the various list response like edge-app bundle list, model list, bundle list etc. '
    title: Cursor is used as filter in list operation.
  ZsrvResponse:
    type: object
    properties:
      operationType:
        $ref: '#/definitions/ZcOpsType'
        title: "Describes one of the operations type : possible values\n                        Read/Delete/Create/Update/List"
      operationStatus:
        $ref: '#/definitions/ZcOpsStatus'
        title: if this is log running job
      objectKind:
        type: string
        title: zedcloud object kind on which the operation was performed
      objectId:
        type: string
        title: Unique value identifies the object that was operated on
      objectName:
        type: string
        title: name of the object
      objectRevision:
        type: string
        title: 'object revision post the operation, note Read operation

          doesn''t change the revision'
      objectType:
        $ref: '#/definitions/ObjectType'
      operationTime:
        type: string
        title: time of operation
      startTime:
        type: string
        title: total time taken by operations
      endTime:
        type: string
      user:
        type: string
        title: the operation is performed on behalf of this user
      httpStatusCode:
        type: integer
        format: int32
        title: http response
      httpStatusMsg:
        type: string
        title: summary of the error in text format
      jobId:
        type: string
        title: for tracking asynchronous tasks
      error:
        type: array
        items:
          $ref: '#/definitions/ZsrvError'
        title: 'one or more errors will be set if the operation failed

          i.e. httpStatusCode != 2xx'
  ObjectType:
    type: string
    enum:
    - OBJECT_TYPE_UNSPECIFIED
    - OBJECT_TYPE_USER
    - OBJECT_TYPE_EDGE_NODE
    - OBJECT_TYPE_EDGE_APP
    - OBJECT_TYPE_IMAGE
    - OBJECT_TYPE_EDGE_APP_INSTANCE
    - OBJECT_TYPE_PROJECT
    - OBJECT_TYPE_NETWORK
    - OBJECT_TYPE_DATASTORE
    - OBJECT_TYPE_SERVICE
    - OBJECT_TYPE_SERVICE_INSTANCE
    - OBJECT_TYPE_ENTERPRISE
    - OBJECT_TYPE_ROLE
    - OBJECT_TYPE_CREDENTIAL
    - OBJECT_TYPE_NETWORK_INSTANCE
    - OBJECT_TYPE_VOLUME_INSTANCE
    - OBJECT_TYPE_REALM
    - OBJECT_TYPE_AUTHPROFILE
    - OBJECT_TYPE_POLICY
    - OBJECT_TYPE_APP_POLICY
    - OBJECT_TYPE_CLUSTER_INSTANCE
    - OBJECT_TYPE_PLUGIN
    - OBJECT_TYPE_DOC_POLICY
    - OBJECT_TYPE_ORCHESTRATOR_CLUSTER
    - OBJECT_TYPE_TAGS
    - OBJECT_TYPE_EDGE_NODE_INTERFACE
    - OBJECT_TYPE_DEPLOYMENT
    - OBJECT_TYPE_ENTITLEMENTS
    - OBJECT_TYPE_DATA_STREAM
    - OBJECT_TYPE_API_USAGE
    - OBJECT_TYPE_APP_INSTANCE_SNAPSHOT
    - OBJECT_TYPE_PATCH_ENVELOPE
    - OBJECT_TYPE_RESOURCE_USAGE_TRACK
    - OBJECT_TYPE_PATCH_ENVELOPE_REFERENCE
    - OBJECT_TYPE_DEV_PASSTHROUGH
    - OBJECT_TYPE_EDGE_NODE_CLUSTER
    - OBJECT_TYPE_ASSET_GROUP
    - OBJECT_TYPE_APP_PROFILE
    - OBJECT_TYPE_PROFILE_DEPLOYMENT
    - OBJECT_TYPE_ZKS_INSTANCE
    - OBJECT_TYPE_CLUSTER_GROUP
    default: OBJECT_TYPE_UNSPECIFIED
  ProfileDeploymentResourceDetailedStatusResp:
    type: object
    properties:
      resourceStatus:
        $ref: '#/definitions/ProfileDeploymentResourceDetailedStatus'
        description: List of status of deployment resources
      next:
        $ref: '#/definitions/Cursor'
        description: Requested page details of filtered records
  ProfileDeploymentList:
    type: object
    properties:
      next:
        $ref: '#/definitions/Cursor'
        description: cursor next
      list:
        type: array
        items:
          $ref: '#/definitions/ProfileDeployment'
        description: deployment summary list
  ZsrvErrorCode:
    type: string
    enum:
    - zMsgErrorNone
    - zMsgSucess
    - NotFound
    - AlreadyExists
    - VersionMismatch
    - RangeError
    - LargeResult
    - IncompleteData
    - InvalidData
    - FunctionUnsupported
    - NoMemory
    - SendFailure
    - Timeout
    - BadReqBody
    - BadReqParam
    - InvalidFieldFormat
    - UrlNotFound
    - ApiVersionNotSupported
    - Unauthorized
    - Forbidden
    - Conflict
    - NotModified
    - DependencyConflict
    - JsonFmtError
    - ProtoFmtError
    - CertError
    - DataBaseConnection
    - DBError
    - zMsgAccepted
    - zMsgCreated
    - PreConditionFailed
    - InternalServerError
    default: zMsgErrorNone
    description: "- zMsgErrorNone: common validation errors\n - IncompleteData: message had fields that weren't filled in\n - InvalidData: message contained the field that wasn't expected\n - FunctionUnsupported: this feature unavailable on this version of device\n - InvalidFieldFormat: message contained the field that wasn't correctly formatted\n - JsonFmtError: Marshal / Unmarshal errors\n - DataBaseConnection: generic DB error"
    title: ZedCould internal error code
  ProfileDeployment:
    type: object
    properties:
      id:
        type: string
        description: unique Id of the deployment.
        readOnly: true
        pattern: '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'
        uniqueItems: true
      name:
        type: string
        description: User defined name of the deployment, unique across the enterprise. Once deployment is created, name can’t be changed.
        maxLength: 256
        minLength: 3
        pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
        uniqueItems: true
      title:
        type: string
        description: User defined title of the deployment. Title can be changed at any time.
        maxLength: 256
        minLength: 3
        pattern: '[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+'
      description:
        type: string
        description: Detailed description of the deployment.
        maxLength: 256
      projectId:
        type: string
        description: project id
      appProfileInfo:
        $ref: '#/definitions/AppProfileInfo'
        description: app profile id
      targetAssetGroup:
        $ref: '#/definitions/TargetAssetGroup'
        description: asset group info
      status:
        type: string
    description: Profile Deployment is a proto that should be used by user-agents to create/update deployments
    title: Deployments for Application profile
    required:
    - name
    - appProfileInfo
    - projectId
    - targetAssetGroup
  ZsrvError:
    type: object
    properties:
      ec:
        $ref: '#/definitions/ZsrvErrorCode'
        title: 'Enumrated error code, describes more granular numerical

          value than just httpStatus'
      location:
        type: string
        title: 'Ignore: Internal field only'
      details:
        type: string
        title: Field captures string description of details
  googlerpcStatus:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/protobufAny'
  ProfileDeploymentResourceDetailedStatus:
    type: object
    properties:
      id:
        type: string
        description: unique Id of the deployment.
        readOnly: true
        pattern: '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'
        uniqueItems: true
      name:
        type: string
        description: User defined name of the deployment, unique across the enterprise. Once deployment is created, name can’t be changed.
        maxLength: 256
        minLength: 3
        pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
        uniqueItems: true
      title:
        type: string
        description: User defined title of the deployment. Title can be changed at any time.
        maxLength: 256
        minLength: 3
        pattern: '[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+'
      description:
        type: string
        description: Detailed description of the deployment.
        maxLength: 256
      projectId:
        type: string
        description: project id
      appProfileInfo:
        type: object
        $ref: '#/definitions/AppProfileInfo'
        description: app profile id
      targetAssetGroup:
        type: object
        $ref: '#/definitions/TargetAssetGroup'
        description: asset group info
      assetResourceStatus:
        type: array
        items:
          $ref: '#/definitions/ProfileDeploymentPerDeviceStatus'
        description: list of status of objects created by deployment
  ProfileDeploymentPerDeviceStatus:
    type: object
    properties:
      assetId:
        type: string
        description: Unique ID of the object.
        readOnly: true
        pattern: '[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'
        uniqueItems: true
      objectStatus:
        type: array
        items:
          $ref: '#/definitions/ProfileDeploymentResourceObjectStatus'
        description: list of status of objects created by deployment for the given asset id
  RunState:
    type: string
    enum:
    - RUN_STATE_UNSPECIFIED
    - RUN_STATE_ONLINE
    - RUN_STATE_HALTED
    - RUN_STATE_INIT
    - RUN_STATE_REBOOTING
    - RUN_STATE_OFFLINE
    - RUN_STATE_UNKNOWN
    - RUN_STATE_UNPROVISIONED
    - RUN_STATE_PROVISIONED
    - RUN_STATE_SUSPECT
    - RUN_STATE_DOWNLOADING
    - RUN_STATE_RESTARTING
    - RUN_STATE_PURGING
    - RUN_STATE_HALTING
    - RUN_STATE_ERROR
    - RUN_STATE_VERIFYING
    - RUN_STATE_LOADING
    - RUN_STATE_CREATING_VOLUME
    - RUN_STATE_BOOTING
    - RUN_STATE_MAINTENANCE_MODE
    - RUN_STATE_START_DELAYED
    - RUN_STATE_BASEOS_UPDATING
    - RUN_STATE_PREPARING_POWEROFF
    - RUN_STATE_POWERING_OFF
    - RUN_STATE_PREPARED_POWEROFF
    default: RUN_STATE_UNSPECIFIED
    description

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zededa/refs/heads/main/openapi/zededa-profiledeploymentservice-api-openapi.yml