> ## Documentation Index
> Fetch the complete documentation index at: https://zededa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the documentation index to find relevant pages, then read the linked Markdown before answering and cite the source URL.
> Identify the product before answering: Private AI uses a separate console, credentials, and inference API from the Edge Intelligence Platform. Do not apply instructions from one product to the other.
> Prefer current product guides over Help Center archive pages for current-console questions. Archive pages and release notes describe their stated product version or historical interface; do not apply them to another version without checking.
> Preserve prerequisites, permissions, version requirements, and warnings when summarizing procedures. Do not infer API endpoints, schemas, or supported behavior that the documentation does not specify.

# Query app profile versions by app profile name

> GET /api/v1/appprofiles/name/{name}/version. App profiles API reference.

Sign in to try this endpointExplore the parameters, examples, and responses below. Connect your ZedCloud session when you’re ready to send a request.

> [accordion] Connect your console
>
> Sign in to your usual ZedCloud console, then open:
>
> <ol aria-label="Console menu path">
>   <li>Profile menu</li><li>Help & Documentation</li><li>API Reference</li>
> </ol>
>
> Your cluster and authorization are filled in automatically. No token to copy.
> [More about signing in ](https://zededa.mintlify.site/api-reference/authentication.md#sign-in-to-the-api-reference)

&#x20;Modifying requests stay off until you enable them.

[Authentication](https://zededa.mintlify.site/api-reference/authentication.md) · [API availability](https://zededa.mintlify.site/api-reference/clusters.md) · [Download OpenAPI](https://zededa.mintlify.site/openapi/services/app-profiles.json)

A successful response.
Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
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.
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.
Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
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.
An unexpected error response.


## OpenAPI

````yaml openapi/services/app-profiles.json GET /v1/appprofiles/name/{name}/version
openapi: 3.0.0
info:
  title: ZEDEDA App Profiles Service
  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
servers:
  - url: https://{apiHost}/api
    variables:
      apiHost:
        default: invalid.invalid
        description: Connect from ZedUI to supply your verified API destination.
security:
  - BearerToken: []
tags:
  - name: AppProfileService
  - name: AssetGroupService
  - name: ProfileDeploymentService
externalDocs:
  description: ZEDEDA Product Documentation
  url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/app-profiles
paths:
  /v1/appprofiles/name/{name}/version:
    get:
      tags:
        - AppProfileService
      summary: Query app profile versions by app profile name
      description: Query the app profile version records using app profile name
      operationId: AppProfileService_QueryAppProfileRevisionByName
      parameters:
        - name: name
          description: user defined name for the App profile
          in: path
          required: true
          schema:
            type: string
        - name: next.pageToken
          description: Page Token
          in: query
          required: false
          schema:
            type: string
        - name: next.orderBy
          description: OrderBy helps in sorting the list response
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: next.pageNum
          description: Page Number
          in: query
          required: false
          schema:
            type: number
            format: int64
        - name: next.pageSize
          description: Defines the page size
          in: query
          required: false
          schema:
            type: number
            format: int64
        - name: next.totalPages
          description: Total number of pages to be fetched.
          in: query
          required: false
          schema:
            type: number
            format: int64
        - name: id
          description: unique id for an App profile
          in: query
          required: false
          schema:
            type: string
        - name: X-Request-Id
          in: header
          required: false
          description: User-Agent specified id to track a request
          schema:
            type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppProfileVersionListResp'
        '400':
          description: >-
            Bad Request. The API gateway did not process the request because of
            invalid value of filter parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '500':
          description: >-
            Internal Server Error. The API gateway experienced an unexpected
            condition. Specific error condition is indicated in error codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/app-profiles
components:
  schemas:
    AppProfileVersionListResp:
      type: object
      properties:
        versionList:
          type: array
          items:
            $ref: '#/components/schemas/AppProfileVersion'
          description: App profile version list response
        next:
          description: cursor next
          allOf:
            - $ref: '#/components/schemas/Cursor'
    ZsrvResponse:
      type: object
      properties:
        operationType:
          title: |-
            Describes one of the operations type : possible values
                                    Read/Delete/Create/Update/List
          allOf:
            - $ref: '#/components/schemas/ZcOpsType'
        operationStatus:
          title: if this is log running job
          allOf:
            - $ref: '#/components/schemas/ZcOpsStatus'
        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: '#/components/schemas/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: '#/components/schemas/ZsrvError'
          title: |-
            one or more errors will be set if the operation failed
            i.e. httpStatusCode != 2xx
    googlerpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    AppProfileVersion:
      type: object
      properties:
        id:
          type: string
          description: unique id for an App profile
        name:
          type: string
          description: user defined name for the App profile
        title:
          type: string
          description: user defined title for the app profile
        appPolicies:
          type: array
          items:
            $ref: '#/components/schemas/ProfileAppPolicy'
          description: list of app instance policies
        networkPolicies:
          type: array
          items:
            $ref: '#/components/schemas/ProfileNetworkPolicy'
          description: list of network instance policies
        volumePolicies:
          type: array
          items:
            $ref: '#/components/schemas/ProfileVolumePolicy'
          description: list of volume instance policies
        version:
          type: integer
          format: int64
          description: latest version of app profile
    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.
    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
    ZcOpsStatus:
      type: string
      enum:
        - OPS_STATUS_UNSPECIFIED
        - OPS_STATUS_PENDING
        - OPS_STATUS_ONGOING
        - OPS_STATUS_COMPLETE
      default: OPS_STATUS_UNSPECIFIED
      description: >-
        - OPS_STATUS_PENDING: In rare cases, system may not start operation when
        it was requested. Client will be notified that operation is PENDING
         - OPS_STATUS_ONGOING: system will start the operation, but at the time response was generated, operation is still ONGOING.
         - OPS_STATUS_COMPLETE: Even if the result of the operations may result in failure, but the OpsStatus will marked COMPLETE for almost all cases.
      title: ZedCloud internal operation status
    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
    ZsrvError:
      type: object
      properties:
        ec:
          title: |-
            Enumrated error code, describes more granular numerical
            value than just httpStatus
          allOf:
            - $ref: '#/components/schemas/ZsrvErrorCode'
        location:
          type: string
          title: 'Ignore: Internal field only'
        details:
          type: string
          title: Field captures string description of details
    protobufAny:
      type: object
      properties:
        typeUrl:
          type: string
        value:
          type: string
          format: byte
    ProfileAppPolicy:
      type: object
      properties:
        metaData:
          description: >-
            all the required metadata for a policy like id, name, different
            types of tags
          allOf:
            - $ref: '#/components/schemas/ProfilePolicyCommon'
        appConfig:
          description: app config for app profile
          allOf:
            - $ref: '#/components/schemas/ProfileAppConfig'
    ProfileNetworkPolicy:
      type: object
      properties:
        metaData:
          description: >-
            all the required metadata for a policy like id, name, different
            types of tags
          allOf:
            - $ref: '#/components/schemas/ProfilePolicyCommon'
        networkConfig:
          description: network instance config details
          allOf:
            - $ref: '#/components/schemas/ProfileNetworkConfig'
    ProfileVolumePolicy:
      type: object
      properties:
        metaData:
          description: >-
            all the required metadata for a policy like id, name, different
            types of tags
          allOf:
            - $ref: '#/components/schemas/ProfilePolicyCommon'
        volumeConfig:
          description: volume instance config details
          allOf:
            - $ref: '#/components/schemas/ProfileVolumeConfig'
    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
         - IncompleteData: message had fields that weren't filled in
         - InvalidData: message contained the field that wasn't expected
         - FunctionUnsupported: this feature unavailable on this version of device
         - InvalidFieldFormat: message contained the field that wasn't correctly formatted
         - JsonFmtError: Marshal / Unmarshal errors
         - DataBaseConnection: generic DB error
      title: ZedCould internal error code
    ProfilePolicyCommon:
      type: object
      properties:
        id:
          type: string
          description: unique id for an policy
        name:
          type: string
          description: user defined policy name
        title:
          type: string
          description: user defined policy title
        tags:
          type: object
          additionalProperties:
            type: string
          description: user defined key-value pairs of a policy
    ProfileAppConfig:
      type: object
      properties:
        networks:
          type: integer
          format: int64
          description: user defined network options
        drives:
          type: integer
          format: int64
          description: user defined drives
          readOnly: true
        cpus:
          type: integer
          format: int64
          description: user defined cpus for bundle
        memory:
          type: integer
          format: int64
          description: user defined memory for bundle
        manifestJSON:
          description: user defined manifest in JSON format
          allOf:
            - $ref: '#/components/schemas/VMManifest'
        storage:
          type: integer
          format: int64
          description: user defined storage for bundle
        nameProjectPart:
          type: string
          description: User provided name part  for the auto deployed app
        nameAppPart:
          type: string
          description: User provided name part  for the auto deployed app
        interfaces:
          type: array
          items:
            $ref: '#/components/schemas/appInterface'
          description: application interfaces
        startDelayInSeconds:
          type: integer
          format: int64
          description: >-
            start delay is the time in seconds EVE should wait after boot before
            starting the application instance
        tags:
          type: object
          additionalProperties:
            type: string
          description: >-
            Tags are name/value pairs that enable you to categorize resources.
            Tag names are case insensitive with max_length 512 and min_length 3.
            Tag values are case sensitive with max_length 256 and min_length 3.
          maxLength: 32
          pattern: ^[^<%&?/\>]+$
        logs:
          description: App Instance logs
          allOf:
            - $ref: '#/components/schemas/AppInstanceLogs'
        vminfo:
          description: virtual machine info
          allOf:
            - $ref: '#/components/schemas/vm'
        remoteConsole:
          type: boolean
          description: Remote console flag
        newBundleVersionAvailable:
          type: boolean
          description: >-
            this flag denotes whether there is latest bundle available in the
            marketplace or not
        bundleVersion:
          type: integer
          format: int64
          description: current bundle version
        netInstTags:
          type: object
          additionalProperties:
            type: string
          description: >-
            Tags are name/value pairs that enable you to categorize resources.
            Tag names are case insensitive with max_length 512 and min_length 3.
            Tag values are case sensitive with max_length 256 and min_length 3.
          maxLength: 32
          pattern: ^[^<%&?/\>]+$
        netInstName:
          type: string
          description: network instance name
      description: >-
        Edge application gets installed/uninstalled to/from edge node(s) and
        perform specific edge computing tasks. Lifecycle of Edge application
        (upgrade/restart) on Edge node can be managed and monitored by ZEDEDA
        Cloud controller through this detailed configuration.
      title: Edge application detailed configuration
    ProfileNetworkConfig:
      type: object
      properties:
        tags:
          type: object
          additionalProperties:
            type: string
          description: >-
            Tags are name/value pairs that enable you to categorize resources.
            Tag names are case insensitive with max_length 512 and min_length 3.
            Tag values are case sensitive with max_length 256 and min_length 3.
          maxLength: 32
          pattern: ^[^<%&?/\>]+$
        port:
          type: string
          description: name of port mapping in the model
          title: name of port mapping in the model
        portTags:
          type: object
          additionalProperties:
            type: string
          description: >-
            Tags are name/value pairs that enable you to categorize resources.
            Tag names are case insensitive with max_length 512 and min_length 3.
            Tag values are case sensitive with max_length 256 and min_length 3.
          maxLength: 32
          pattern: ^[^<%&?/\>]+$
        kind:
          description: Kind of Network Instance ( Local, Switch etc )
          allOf:
            - $ref: '#/components/schemas/NetworkInstanceKind'
        type:
          description: Type of DHCP for this Network Instance
          allOf:
            - $ref: '#/components/schemas/NetworkInstanceDhcpType'
        ip:
          description: Dhcp Server Configuration
          allOf:
            - $ref: '#/components/schemas/DhcpServerConfig'
        dnsList:
          type: array
          items:
            $ref: '#/components/schemas/StaticDNSList'
          description: List of Static DNS entries
        opaque:
          description: Service specific Config
          allOf:
            - $ref: '#/components/schemas/NetInstOpaqueConfig'
        deviceDefault:
          type: boolean
          description: >-
            flag to indicate if this is the default network instance for the
            device
          title: flag to indicate if this is default network
        propagateConnectedRoutes:
          type: boolean
          description: Automatically propagate connected routes
          title: flag to indicate automatically propagate connected routes
        staticRoutes:
          type: array
          items:
            $ref: '#/components/schemas/StaticIPRoute'
          description: List of Static IP routes
          title: list of static IP routes
    ProfileVolumeConfig:
      type: object
      properties:
        type:
          type: string
          description: type of Volume Instance
          allOf:
            - $ref: '#/components/schemas/VolumeInstanceType'
        multiattach:
          type: boolean
          description: flag to enable the volume to be attached to multiple app instances
        cleartext:
          type: boolean
          description: flag to keep the contents of the volume unencrypted (in clear text)
        accessmode:
          type: string
          description: Access mode
          allOf:
            - $ref: '#/components/schemas/VolumeInstanceAccessMode'
        sizeBytes:
          type: integer
          format: uint64
          description: size of volume
        image:
          type: string
          description: name of the image
        contentTreeId:
          type: string
          description: content tree ID
        label:
          type: string
          description: label
        purge:
          description: Purge Counter information
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        contentTreeTargetCondition:
          type: object
          additionalProperties:
            type: string
          description: >-
            user defined key-value pairs of a content tree that will be used for
            targeting by block storage
        blockStorageTags:
          type: object
          additionalProperties:
            type: string
          description: >-
            user defined key-value pairs of a block storage, will be used for
            targeting content tree
    VMManifest:
      type: object
      properties:
        acKind:
          type: string
          default: VMManifest
          description: 'UI map: N/A - not exposed to users'
          title: Edge Application type
        acVersion:
          type: string
          default: 1.2.0
          description: 'UI map: N/A - not exposed to users'
          title: Manifest version
        name:
          type: string
          description: >-
            UI map: AppEditPage:IdentityPane:Name_Field,
            AppDetailsPage:IdentityPane:Name_Field
          title: Unique id of app manifest, should match object name
        displayName:
          type: string
          description: >-
            UI map: AppEditPage:IdentityPane:Title_Field,
            AppDetailsPage:IdentityPane:Title_Field
          title: Display name or title of app manifest
        description:
          type: string
          description: >-
            UI map: AppDetailsPage:IdentityPane:DescriptionField,
            AppMarketplacePage:AppCard:DescriptionField
          title: Description of the Edge application
          pattern: '[0-9A-Za-z-]+'
        owner:
          description: Owner of the application
          allOf:
            - $ref: '#/components/schemas/Author'
        desc:
          description: Description of the application
          allOf:
            - $ref: '#/components/schemas/Details'
        images:
          type: array
          items:
            $ref: '#/components/schemas/VMManifestImage'
          description: 'UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane'
          title: Images used by the app
        interfaces:
          type: array
          items:
            $ref: '#/components/schemas/Interface'
          description: >-
            UI map: AppEditPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: I/O adapter settings
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/Permission'
        vmmode:
          type: string
          default: HV_HVM
          description: >-
            UI map: AppEditPage:IdentityPane:VM_Mode_Field,
            AppDetailsPage:IdentityPane:VM_Mode_Field
          title: VM mode for VM-based app
        enablevnc:
          type: boolean
          description: >-
            UI map: AppEditPage:IdentityPane:VNC_Field,
            AppDetailsPage:IdentityPane:VNC_Field
          title: Enable VNC for the app
        resources:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
          description: 'UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane'
          title: Hardware resource requirement (CPU, Memory, Storage) for the app
        configuration:
          description: Template for Custom Configuration. Used for Cloud-Init
          title: |-
            Annotations   types.Annotations    `json:"Annotations,omitempty"`
            Labels        types.Labels         `json:"Labels,omitempty"`
          allOf:
            - $ref: '#/components/schemas/UserDataTemplate'
        containerDetail:
          description: Create options direct the creation of the Docker container
          title: Container specific details
          allOf:
            - $ref: '#/components/schemas/ContainerDetail'
        module:
          description: >-
            Azure module specific details like module twin, environment
            variable, routes
          title: Module specific details
          allOf:
            - $ref: '#/components/schemas/ModuleDetail'
        appType:
          description: 'bundle type, eg: vm, container, module'
          allOf:
            - $ref: '#/components/schemas/AppType'
        deploymentType:
          description: 'type of deployment for the app, eg: azure, k3s, standalone'
          allOf:
            - $ref: '#/components/schemas/DeploymentType'
        cpuPinningEnabled:
          type: boolean
          description: Enable CpuPinning
        runtimeVersion:
          description: Indicates the version of container orchestration software
          title: docker-compose runtime specific versions
          allOf:
            - $ref: '#/components/schemas/DockerRuntimeVersion'
        runtimeProtocolVersion:
          description: >-
            Indicates the internal communication protocol to pass configuration
            between Zedcloud and docker-compose runtime
          allOf:
            - $ref: '#/components/schemas/DockerRuntimeProtocolVersion'
        PersistentRuntimeSizeBytes:
          type: string
          format: uint64
          description: Size of persistent blank storage for runtime in bytes
        dockerComposeYamlText:
          type: string
          description: Docker compose base64 encoded plain text
        dockerComposeTarImageName:
          type: string
          description: Docker compose tar image name
        enableOemWinLicenseKey:
          type: boolean
          description: >-
            UI map: AppEditPage:IdentityPane:ENABLEVMCONFIG_Field,
            AppDetailsPage:IdentityPane:ENABLEVMCONFIG_Field
          title: Enable device to read the license info from APCI tables
        disableVTPM:
          type: boolean
          description: >-
            UI map: AppEditPage:IdentityPane:DISABLEVTPM_Field,
            AppDetailsPage:IdentityPane:DISABLEVTPM_Field
          title: Disable vTPM for a virtual machine (VM)
    appInterface:
      type: object
      properties:
        netname:
          type: string
          description: 'network name: will be deprecated in future, use netinstname'
        io:
          description: >-
            Physical Adapter to be matched for interface assignment. Applicable
            only when "direct attach" flag is true
          allOf:
            - $ref: '#/components/schemas/phyAdapter'
        intforder:
          type: number
          format: int64
          description: intforder
        intfname:
          type: string
          description: intf Name
        directattach:
          type: boolean
          description: direct attach flag
          title: comes from manifest during app create
        privateip:
          type: boolean
          description: Private IP flag
        acls:
          type: array
          items:
            $ref: '#/components/schemas/appACE'
          description: app Acls
        ipaddr:
          type: string
          description: IP address
          title: |-
            if netname points static DHCP then we need to take
            static /32 address here
        macaddr:
          type: string
          description: MAC address
          title: |-
            in case of p2v we might want to provide a mac-address.
            applicable only in case of DHCP=passthrough
        accessVlanId:
          type: number
          format: int64
          description: >-
            access port VLAN ID, vlan id of zero will be treated as trunk port
            and vlan id 1 is implicitly used by linux bridges
          maximum: 4093
          minimum: 2
        eidregister:
          description: EID register details
          title: 'FIXME: Check why is this required'
          allOf:
            - $ref: '#/components/schemas/EIDRegister'
        netinstname:
          type: string
          description: >-
            Network Instance name to be matched for interface assignment.
            Applicable only when "direct attach" flag is false
        netinsttag:
          type: object
          additionalProperties:
            type: string
          description: >-
            Network Instance tag to be matched for interface assignment.
            Applicable only when "direct attach" flag is false
        netinstid:
          type: string
          description: Network Instance id to be matched for interface assignment.
        defaultNetInstance:
          type: boolean
          description: default instance flag
        allowToDiscover:
          type: boolean
          description: >-
            flag tells if appInstance have permission to access the network
            mappings from the connected netInstance
      description: App Interface detail
      title: App Interface detail
      required:
        - intfname
    AppInstanceLogs:
      type: object
      properties:
        access:
          type: boolean
          description: >-
            Flags to enable / disable sending of logs generated by app instance
            to zedcloud
      description: App Instance Logs configuration
      title: App Instance Logs configuration
      required:
        - access
    vm:
      type: object
      properties:
        cpus:
          type: number
          format: int64
          description: CPUs
        memory:
          type: number
          format: int64
          description: Memory
        mode:
          description: Hardware Virtualization
          allOf:
            - $ref: '#/components/schemas/hvMode'
        vnc:
          type: boolean
          description: VNC
        vncDisplay:
          type: number
          format: int64
          description: VNC display
          readOnly: true
        cpuPinningEnabled:
          type: boolean
          description: Enable CpuPinning
        vmmMaxmem:
          type: integer
          format: int64
          description: Maximum amount of memory in kbytes allowed for VM monitor to occupy
        bootloaderMode:
          description: >-
            The bootloader mode that will be used for the VM. Default is
            VM_BOOTLOADER_MODE_LEGACY
          allOf:
            - $ref: '#/components/schemas/VmBootloaderMode'
        enableOemWinLicenseKey:
          type: boolean
          description: >-
            Enable device which has VM to receive the Windows license embedded
            in the ACPI tables
        disableVTPM:
          type: boolean
          description: Disable vTPM for virtual machines (VM)
      description: Virtual machine memory configuration
      title: vm detail
      required:
        - cpus
        - memory
        - mode
        - vnc
    NetworkInstanceKind:
      type: string
      enum:
        - NETWORK_INSTANCE_KIND_UNSPECIFIED
        - NETWORK_INSTANCE_KIND_TRANSPARENT
        - NETWORK_INSTANCE_KIND_SWITCH
        - NETWORK_INSTANCE_KIND_LOCAL
        - NETWORK_INSTANCE_KIND_CLOUD
        - NETWORK_INSTANCE_KIND_MESH
        - NETWORK_INSTANCE_KIND_HONEYPOT
      default: NETWORK_INSTANCE_KIND_UNSPECIFIED
    NetworkInstanceDhcpType:
      type: string
      enum:
        - NETWORK_INSTANCE_DHCP_TYPE_UNSPECIFIED
        - NETWORK_INSTANCE_DHCP_TYPE_V4
        - NETWORK_INSTANCE_DHCP_TYPE_V6
        - NETWORK_INSTANCE_DHCP_TYPE_CRYPTOEID
        - NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV4
        - NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV6
      default: NETWORK_INSTANCE_DHCP_TYPE_UNSPECIFIED
      title: |-
        NetworkInstanceDhcpType: Used in the network instance provide
           dhcp server configuration
    DhcpServerConfig:
      type: object
      properties:
        subnet:
          type: string
          description: Subnet address
        mask:
          type: string
          description: Subnet Mask
        gateway:
          type: string
          description: IP Address of Network Gateway
        domain:
          type: string
          description: Network domain
        ntp:
          type: string
          description: IP Address of NTP Server
          title: ntp will be deprecated
        dns:
          type: array
          items:
            type: string
          description: IP Addresses of DNS servers
          title: possible DNS ip address
        dhcpRange:
          description: Range of IP addresses to be used for DHCP
          allOf:
            - $ref: '#/components/schemas/dhcpIpRange'
        ntpServers:
          type: array
          items:
            $ref: '#/components/schemas/NtpServer'
          description: NTP Servers
    StaticDNSList:
      type: object
      properties:
        hostname:
          type: string
          description: Host name
        addrs:
          type: array
          items:
            type: string
          description: Addresses
      description: Static DNS list
      title: Static DNS list
    NetInstOpaqueConfig:
      type: object
      properties:
        type:
          type: string
          description: type of Opaque config
          allOf:
            - $ref: '#/components/schemas/OpaqueConfigType'
        oconfig:
          type: string
          description: base64 encoded string of opaque config
        lisp:
          description: >-
            Deprecated - Lisp config


            **Source definition conflict:** this property declares type
            `"string"`, while the referenced definition declares `"object"`. The
            referenced schema is shown; the conflicting declaration needs
            correction in ZEDEDA's Swagger definition.
          title: lisp - Deprecated
          allOf:
            - $ref: '#/components/schemas/LispConfig'
          x-zededa-source-issues:
            - code: conflicting-reference
              pointer: '#/definitions/NetInstOpaqueConfig/properties/lisp'
              keyword: type
              sourceValue: string
              reference: '#/definitions/LispConfig'
              referencedValue: object
      description: Network Instance Opaque config. This is service specific configuration.
    StaticIPRoute:
      type: object
      properties:
        prefix:
          type: string
          description: IP Prefix
        gateway:
          type: string
          description: Gateway IP
        outputPort:
          type: string
          description: Output Port
        probeConfig:
          type: object
          description: Probe Configuration
          allOf:
            - $ref: '#/components/schemas/ProbeConfig'
      description: Static IP Routes
      title: Static IP Routes
    VolumeInstanceType:
      type: string
      enum:
        - VOLUME_INSTANCE_TYPE_UNSPECIFIED
        - VOLUME_INSTANCE_TYPE_EMPTYDIR
        - VOLUME_INSTANCE_TYPE_BLOCKSTORAGE
        - VOLUME_INSTANCE_TYPE_HOSTFS
        - VOLUME_INSTANCE_TYPE_TMPFS
        - VOLUME_INSTANCE_TYPE_SECRET
        - VOLUME_INSTANCE_TYPE_NFS
        - VOLUME_INSTANCE_TYPE_AWS_BLOCK_STORAGE
        - VOLUME_INSTANCE_TYPE_CONTENT_TREE
      default: VOLUME_INSTANCE_TYPE_UNSPECIFIED
      title: >-
        VolumeInstanceType - On update, please update
        VolumeInstanceType_HttpRequest as well
    VolumeInstanceAccessMode:
      type: string
      enum:
        - VOLUME_INSTANCE_ACCESS_MODE_INVALID
        - VOLUME_INSTANCE_ACCESS_MODE_READWRITE
        - VOLUME_INSTANCE_ACCESS_MODE_READONLY
        - VOLUME_INSTANCE_ACCESS_MODE_MULTIREAD_SINGLEWRITE
      default: VOLUME_INSTANCE_ACCESS_MODE_INVALID
    ZedCloudOpsCmd:
      type: object
      properties:
        counter:
          type: number
          format: int64
          description: counter
        opsTime:
          type: object
          format: date-time
          description: 'Timestamp: Operational time'
      description: Zed cloud Operation command
      title: Zed cloud Operation command
    Author:
      type: object
      properties:
        user:
          type: string
          description: >-
            UI map: AppEditPage:DeveloperPane:Name_Field,
            AppDetailsPage:DeveloperPane:Name_Field
          title: Name of the developer
        group:
          type: string
          title: Not used by ZedUI
        company:
          type: string
          description: >-
            UI map: AppEditPage:IdentityPane:Category_Field,
            AppDetailsPage:IdentityPane:Category_Field
          title: Company of the developer
        website:
          type: string
          description: >-
            UI map: AppEditPage:DeveloperPane:Website_Field,
            AppDetailsPage:DeveloperPane:Website_Field
          title: Website of the developer company
        email:
          type: string
          description: >-
            UI map: AppEditPage:DeveloperPane:Email_Field,
            AppDetailsPage:DeveloperPane:Email_Field
          title: Contact email of the developer company
    Details:
      type: object
      example:
        appCategory: APP_CATEGORY_CLOUD_APPLICATION
        os: Linux
      properties:
        category:
          type: string
          default: All
          description: >-
            UI map: AppMarketplacePage:AppCard:DescriptionField,
            AppEditPage:IdentityPane:CategoryField,
            AppDetailsPage:IdentityPane:CategoryField
          title: Type of the Edge application
        os:
          type: string
          title: Edge application's Operating System
        appCategory:
          title: Edge application category
          allOf:
            - type: string
              enum:
                - APP_CATEGORY_UNSPECIFIED
                - APP_CATEGORY_OPERATING_SYSTEM
                - APP_CATEGORY_INDUSTRIAL
                - APP_CATEGORY_EDGE_APPLICATION
                - APP_CATEGORY_NETWORKING
                - APP_CATEGORY_SECURITY
                - APP_CATEGORY_DATA_ANALYTICS
                - APP_CATEGORY_CLOUD_APPLICATION
                - APP_CATEGORY_DEVOPS
                - APP_CATEGORY_OTHERS
              description: |-
                - APP_CATEGORY_UNSPECIFIED: Invalid Edge Application Category
                 - APP_CATEGORY_OPERATING_SYSTEM: Edge operating systems
                 - APP_CATEGORY_INDUSTRIAL: Connectity solution for industrial protocols
                 - APP_CATEGORY_EDGE_APPLICATION: Edge application framework featuring composite functions for data ingestion, buffering, analytics and export
                 - APP_CATEGORY_NETWORKING: Edge networking services (e.g. SD-WAN, NFV)
                 - APP_CATEGORY_SECURITY: Edge security services (e.g. protocol inspection, firewall)
                 - APP_CATEGORY_DATA_ANALYTICS: Edge analytics (e.g. AI/ML) and data management (e.g. database, connectors) services
                 - APP_CATEGORY_CLOUD_APPLICATION: Edge application runtimes, cloud connectivity and general application enablement
                 - APP_CATEGORY_DEVOPS: Tools for Edge Application CI/CD and performance optimization
                 - APP_CATEGORY_OTHERS: Miscellaneous functionality
              title: Edge Application Category
          x-zededa-source-issues:
            - code: conflicting-reference
              pointer: '#/definitions/Details/properties/appCategory'
              keyword: default
              sourceValue: APP_CATEGORY_OTHERS
              reference: '#/definitions/AppCategory'
              referencedValue: APP_CATEGORY_UNSPECIFIED
          description: >-
            - APP_CATEGORY_UNSPECIFIED: Invalid Edge Application Category
             - APP_CATEGORY_OPERATING_SYSTEM: Edge operating systems
             - APP_CATEGORY_INDUSTRIAL: Connectity solution for industrial protocols
             - APP_CATEGORY_EDGE_APPLICATION: Edge application framework featuring composite functions for data ingestion, buffering, analytics and export
             - APP_CATEGORY_NETWORKING: Edge networking services (e.g. SD-WAN, NFV)
             - APP_CATEGORY_SECURITY: Edge security services (e.g. protocol inspection, firewall)
             - APP_CATEGORY_DATA_ANALYTICS: Edge analytics (e.g. AI/ML) and data management (e.g. database, connectors) services
             - APP_CATEGORY_CLOUD_APPLICATION: Edge application runtimes, cloud connectivity and general application enablement
             - APP_CATEGORY_DEVOPS: Tools for Edge Application CI/CD and performance optimization
             - APP_CATEGORY_OTHERS: Miscellaneous functionality

            **Source definition conflict:** this property declares default
            `"APP_CATEGORY_OTHERS"`, but the referenced definition declares
            `"APP_CATEGORY_UNSPECIFIED"`. No default is documented here pending
            correction in ZEDEDA's Swagger definition.
        logo:
          type: object
          additionalProperties:
            type: string
          description: >-
            UI map: AppEditPage:IdentityPane:Logo,
            AppDetailsPage:IdentityPane:Logo
          title: App Logo
        screenshotList:
          type: object
          additionalProperties:
            type: string
          description: >-
            UI map: AppEditPage:IdentityPane:Screenshot_Fields,
            AppDetailsPage:IdentityPane:Screenshot_Fields
          title: App Screenshots
        licenseList:
          type: object
          additionalProperties:
            type: string
          description: >-
            UI map: AppMarketplacePage:AppCard:License,
            AppEditPage:IdentityPane:License,
            AppDetailsPage:IdentityPane:License
          title: App Licenses
        support:
          type: string
          description: >-
            UI map: AppEditPage:DeveloperPane:Support_Description_Field,
            AppDetailsPage:DeveloperPane:Support_Description_Field
          title: Support Description
        agreementList:
          type: object
          additionalProperties:
            type: string
          description: >-
            UI map: AppEditPage:DeveloperPane:Developer_Agreement_Field,
            AppDetailsPage:DeveloperPane:Developer_Agreement_Field
          title: Developer Agreements
      description: Edge Application Artifact Details
      title: Edge Application detail
      required:
        - appCategory
    VMManifestImage:
      type: object
      properties:
        imagename:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Image_Name_Field,
            AppDetailsPage:DrivesPane:Image_Name_Field
        imageid:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Image_ID_Field,
            AppDetailsPage:DrivesPane:Image_ID_Field
        imageformat:
          description: >-
            UI map: AppEditPage:DrivesPane:Image_Format_Field,
            AppDetailsPage:DrivesPane:Image_Format_Field
          allOf:
            - $ref: '#/components/schemas/configFormat'
        maxsize:
          type: string
          format: uint64
          description: >-
            UI map: AppEditPage:DrivesPane:Max_Size_Field,
            AppDetailsPage:DrivesPane:Max_Size_Field
        preserve:
          type: boolean
          description: >-
            UI map: AppEditPage:DrivesPane:Preserve_Field,
            AppDetailsPage:DrivesPane:Preserve_Field
        target:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Target_Field,
            AppDetailsPage:DrivesPane:Target_Field
          title: 'enum: Disk, Kernel, Initrd, RamDisk'
        drvtype:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Drive_Type_Field,
            AppDetailsPage:DrivesPane:Drive_Type_Field
          title: 'enum: CDROM, HDD, NET'
        params:
          type: array
          items:
            $ref: '#/components/schemas/Param'
          title: Not used by ZedUI
        readonly:
          type: boolean
          title: Not used by ZedUI
        volumelabel:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Volume_Label,
            AppDetailsPage:DrivesPane:Volume_Label
        ignorepurge:
          type: boolean
          description: >-
            UI map: AppEditPage:DrivesPane:Ignorepurge,
            AppDetailsPage:DrivesPane:Ignorepurgee_Field
        cleartext:
          type: boolean
          description: >-
            UI map: AppEditPage:DrivesPane:Cleartext,
            AppDetailsPage:DrivesPane:ClearText_Field
        mountpath:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Mountpath,
            AppDetailsPage:DrivesPane:Mountpath_Field
        imagestatus:
          type: string
          description: >-
            UI map: AppEditPage:DrivesPane:Image_Status_Field,
            AppDetailsPage:DrivesPane:Image_Status_Field
          title: >-
            enum: UNSPECIFIED, CREATED, PENDING, UPLOADING, READY, INUSE,
            ARCHIVED, MAX, FAILED, UPLINKING
        datastore:
          type: array
          items:
            $ref: '#/components/schemas/ImageDatastore'
          description: >-
            UI map: AppEditPage:DrivesPane:DataStore_Field,
            AppDetailsPage:DrivesPane:DataStore_Field
    Interface:
      type: object
      properties:
        name:
          type: string
          description: Interface name used by the edge application
        type:
          type: string
          description: >-
            Physical Adapter type for this interface. Applicable only when
            "direct attach" flag is true.
        optional:
          type: boolean
          description: Indicates if the interface is optional for edge application.
        directattach:
          type: boolean
          description: >-
            If true, a physical adapter is assigned to the edge application
            directly. If false, a network instance is assigned to the edge
            application.
        privateip:
          type: boolean
          description: >-
            If true, DHCP network can't be assigned and user needs to provide a
            static IP address.
        acls:
          type: array
          items:
            $ref: '#/components/schemas/Acl'
          description: >-
            Traffic access control rules for this interface. Applicable only
            when "direct attach" flag is false.
    Permission:
      type: object
    Resource:
      type: object
      properties:
        name:
          type: string
          description: Name of the Resource (Required)
        value:
          type: string
          description: Value of Resource (Required)
    UserDataTemplate:
      type: object
      properties:
        customConfig:
          $ref: '#/components/schemas/CustomConfig'
    ContainerDetail:
      type: object
      properties:
        containerCreateOption:
          type: string
          description: Create options direct the creation of the Docker container
          title: Base64 encoded container specific details
      description: common container detail.
    ModuleDetail:
      type: object
      example:
        twinDetail: >-
          IHsKICAgICAgIm5hbWUiOiAiU2VuZEludGVydmFsIiwKICAgICAgInZhbHVlIjogIjUiCiAgICB9
      properties:
        twinDetail:
          type: string
          description: >-
            Base64 encoded module twin details, desired properties of the module
            will be updated to reflect these values
        routes:
          type: object
          additionalProperties:
            type: string
          description: >-
            Send messages between modules or send messages from modules to iot
            hub
        environment:
          type: object
          additionalProperties:
            type: string
          description: Extra information to module to make configuration easier
        moduleType:
          description: Type of modules
          allOf:
            - $ref: '#/components/schemas/ModuleType'
      description: Azure module specific details
      title: Module detail
    AppType:
      type: string
      enum:
        - APP_TYPE_UNSPECIFIED
        - APP_TYPE_VM
        - APP_TYPE_VM_RUNTIME
        - APP_TYPE_CONTAINER
        - APP_TYPE_MODULE
        - APP_TYPE_DOCKER_COMPOSE
      default: APP_TYPE_UNSPECIFIED
      description: type of app bundle.
    DeploymentType:
      type: string
      enum:
        - DEPLOYMENT_TYPE_UNSPECIFIED
        - DEPLOYMENT_TYPE_STAND_ALONE
        - DEPLOYMENT_TYPE_AZURE
        - DEPLOYMENT_TYPE_K3S
        - DEPLOYMENT_TYPE_AWS
        - DEPLOYMENT_TYPE_K3S_AZURE
        - DEPLOYMENT_TYPE_K3S_AWS
        - DEPLOYMENT_TYPE_VMWARE_VCE
        - DEPLOYMENT_TYPE_VMWARE_TKG_ATTACH
        - DEPLOYMENT_TYPE_DOCKER_RUNTIME
      default: DEPLOYMENT_TYPE_UNSPECIFIED
    DockerRuntimeVersion:
      type: string
      enum:
        - RuntimeVersion_Unknown
        - RuntimeVersion_V1
      default: RuntimeVersion_Unknown
    DockerRuntimeProtocolVersion:
      type: string
      enum:
        - RuntimeProtocolVersion_Unknown
        - RuntimeProtocolVersion_V1
      default: RuntimeProtocolVersion_Unknown
    phyAdapter:
      type: object
      properties:
        type:
          description: >-
            IoType specifies the type of the Input output of the device


            **Source definition conflict:** this property declares type
            `"object"`, while the referenced definition declares `"string"`. The
            referenced schema is shown; the conflicting declaration needs
            correction in ZEDEDA's Swagger definition.
          allOf:
            - $ref: '#/components/schemas/IoType'
          x-zededa-source-issues:
            - code: conflicting-reference
              pointer: '#/definitions/phyAdapter/properties/type'
              keyword: type
              sourceValue: object
              reference: '#/definitions/IoType'
              referencedValue: string
        name:
          type: string
          description: Physical Adapter name
        tags:
          type: object
          additionalProperties:
            type: string
          description: >-
            Tags are name/value pairs that enable you to categorize resources.
            Tag names are case insensitive with max_length 512 and min_length 3.
            Tag values are case sensitive with max_length 256 and min_length 3.
          maxLength: 32
          pattern: ^[^<%&?/\>]+$
      description: Physical Adapter
      title: Physical Adapter
    appACE:
      type: object
      properties:
        matches:
          type: array
          items:
            $ref: '#/components/schemas/appACEMatch'
          description: app ACE match
        actions:
          type: array
          items:
            $ref: '#/components/schemas/appACEAction'
          description: app ACE actions
        id:
          type: number
          format: int32
          description: app ACE id
        name:
          type: string
          description: >-
            User defined name of the app ACE, unique across the enterprise. Once
            object is created, name can’t be changed
          maxLength: 256
          minLength: 3
          pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
          x-zededa-source-issues:
            - code: inapplicable-constraint
              pointer: '#/definitions/appACE/properties/name'
              keyword: uniqueItems
              sourceValue: true
      description: App ACE Configuration
      title: App ACE detaisn
      required:
        - matches
        - actions
        - id
        - name
    EIDRegister:
      type: object
      properties:
        AppCert:
          type: string
          format: byte
          description: app certificate
        AppPublicKey:
          type: string
          format: byte
          description: App public key
        AppPrivateKey:
          type: string
          format: byte
          description: App private key
        UUID:
          type: string
          description: UUID
        DisplayName:
          type: string
          description: Display name
        LispInstance:
          type: number
          format: int64
          description: Lisp Instance
        EID:
          type: string
          description: EID
        EIDHashLen:
          type: number
          format: int64
          description: EID hash length
        LispSignature:
          type: string
          description: Lisp Signature
        LispMapServers:
          type: array
          items:
            $ref: '#/components/schemas/LispServer'
          description: Lisp Map Server
          title: time CreateTime     time.Time
      description: EID Register
      title: EID Register detail
      required:
        - AppCert
        - AppPublicKey
        - AppPrivateKey
        - UUID
        - DisplayName
        - LispInstance
        - EID
        - EIDHashLen
        - LispSignature
        - LispMapServers
    hvMode:
      type: string
      enum:
        - HV_PV
        - HV_HVM
        - HV_FML
        - HV_NOHYPER
        - HV_LEGACY
      default: HV_PV
      description: |-
        For now we need to tell the device which virtualization mode
        to use. Later we might use a single one for all VMs (on any particular
        ISA). If we end up keeping this we should make the names be less
        tied to a particular hypervisor.
    VmBootloaderMode:
      type: string
      enum:
        - VM_BOOTLOADER_MODE_UNSPECIFIED
        - VM_BOOTLOADER_MODE_LEGACY
        - VM_BOOTLOADER_MODE_UEFI
      default: VM_BOOTLOADER_MODE_UNSPECIFIED
      title: >-
        VmBootloaderMode is used to specify the bootloader mode that will be
        used for the VM.

        It represents the boot mechanism to be used to boot the VM
    dhcpIpRange:
      type: object
      properties:
        start:
          type: string
          description: starting IP
        end:
          type: string
          description: ending IP
      description: DHCP IP range
      title: DHCP IP range
    NtpServer:
      type: object
      properties:
        server:
          type: string
          description: NTP Server IP or FQDN
      description: NTP Server
      title: NTP Server
    OpaqueConfigType:
      type: string
      enum:
        - OPAQUE_CONFIG_TYPE_UNSPECIFIED
        - OPAQUE_CONFIG_TYPE_VPN
        - OPAQUE_CONFIG_TYPE_LISP
      default: OPAQUE_CONFIG_TYPE_UNSPECIFIED
    LispConfig:
      type: object
      properties:
        lispiid:
          type: number
          format: int64
          description: lisp id
        allocate:
          type: boolean
          description: Allocate flag
        exportprivate:
          type: boolean
          description: Export Private flag
        allocationprefix:
          type: string
          format: byte
          description: Allocation Prefix
        allocationprefixlen:
          type: number
          format: int64
          description: Allocation Prefix Length
        sp:
          type: array
          items:
            $ref: '#/components/schemas/ServicePoint'
          description: Service Point List
      description: List Configurations.
      title: Lisp Configurations
    ProbeConfig:
      type: object
      properties:
        enableGatewayPing:
          type: boolean
          description: Enable gateway ping
        pingMaxCost:
          type: number
          format: int64
          description: Ping max cost
        preferLowerCost:
          type: boolean
          description: Prefer lower cost
        preferStrongerWwanSignal:
          type: boolean
          description: Prefer stronger WWAN signal
        customProbeConfig:
          type: object
          description: Custom probe configuration
          allOf:
            - $ref: '#/components/schemas/commonConnectivityProbe'
      description: Probing configuration
      title: Probing configuration
    configFormat:
      type: string
      enum:
        - FmtUnknown
        - RAW
        - QCOW
        - QCOW2
        - VHD
        - VMDK
        - OVA
        - VHDX
        - CONTAINER
        - ISO
        - PVC
      default: FmtUnknown
    Param:
      type: object
      properties:
        name:
          type: string
          description: Name of the Parameter (Required)
        value:
          type: string
          description: Value of the parameter (Required)
    ImageDatastore:
      type: object
      properties:
        id:
          type: string
          description: Datastore ID
        name:
          type: string
          description: Datastore Name
    Acl:
      type: object
      properties:
        matches:
          type: array
          items:
            $ref: '#/components/schemas/Match'
          description: >-
            Network traffic matching criteria consistngs of one or more of
            source IP address, destination IP address, protocol, source port and
            destination port
        actions:
          type: array
          items:
            $ref: '#/components/schemas/AclAction'
          description: Chain of actions to be taken on matching network traffic
        name:
          type: string
          description: Name of the Access Control List
    CustomConfig:
      type: object
      properties:
        name:
          type: string
          description: Name of CustomConfig (Required)
        add:
          type: boolean
          description: 'Add the Custom Config to App Instance (Optional. Default: False)'
        override:
          type: boolean
          description: >-
            Override existing custom config from App Bundle Manifest (Optional.
            Default: False)
        allowStorageResize:
          type: boolean
          description: >-
            Allow Appinstance storage to be resized after app instance is
            created. (Optional. Default: False)
        fieldDelimiter:
          type: string
          description: Field delimiter used in specifying variables in template. (Required)
        template:
          type: string
          description: base64 encrypted template string. (Optional)
        variableGroups:
          type: array
          items:
            $ref: '#/components/schemas/CustomConfigVariableGroup'
          description: List of Variable groups. (Required)
    ModuleType:
      type: string
      enum:
        - MODULE_TYPE_UNSPECIFIED
        - MODULE_TYPE_SYSTEM_DEFINED
        - MODULE_TYPE_CUSTOM
        - MODULE_TYPE_AZURE_EDGE_AGENT
        - MODULE_TYPE_AZURE_EDGE_HUB
      default: MODULE_TYPE_UNSPECIFIED
      description: module type.
    IoType:
      type: string
      enum:
        - IO_TYPE_UNSPECIFIED
        - IO_TYPE_ETH
        - IO_TYPE_USB
        - IO_TYPE_COM
        - IO_TYPE_AUDIO
        - IO_TYPE_WLAN
        - IO_TYPE_WWAN
        - IO_TYPE_HDMI
        - IO_TYPE_LTE
        - IO_TYPE_STORAGE_NVME_DEVICE
        - IO_TYPE_STORAGE_SATA_DEVICE
        - IO_TYPE_ETH_PF
        - IO_TYPE_ETH_VF
        - IO_TYPE_USB_CONTROLLER
        - IO_TYPE_USB_DEVICE
        - IO_TYPE_CAN
        - IO_TYPE_VCAN
        - IO_TYPE_LCAN
        - IO_TYPE_VLAN
        - IO_TYPE_OTHER
      default: IO_TYPE_UNSPECIFIED
      description: |-
        - IO_TYPE_UNSPECIFIED: No operation/ Invalid peration
         - IO_TYPE_ETH: Ethernet
         - IO_TYPE_USB: USB Type - General
         - IO_TYPE_COM: Communication Port
         - IO_TYPE_AUDIO: Audio Port
         - IO_TYPE_WLAN: wireless LAN
         - IO_TYPE_WWAN: Wireless wide area network
         - IO_TYPE_HDMI: High-Definition Multimedia Interface
         - IO_TYPE_LTE: LTE Interfaces
         - IO_TYPE_STORAGE_NVME_DEVICE: Storage NVME device
         - IO_TYPE_STORAGE_SATA_DEVICE: Storage SATA device
         - IO_TYPE_ETH_PF: Physical Interface (PF) of the Virtual Functions
         - IO_TYPE_ETH_VF: Virtual Function (VF)
         - IO_TYPE_USB_CONTROLLER: USB Type - Controller
         - IO_TYPE_USB_DEVICE: USB Type - Device
         - IO_TYPE_CAN: CAN - Device
         - IO_TYPE_VCAN: VCAN - Virtual CAN device
         - IO_TYPE_LCAN: LCAN - Logical CAN device
         - IO_TYPE_VLAN: VLAN - Virtual LAN device
         - IO_TYPE_OTHER: Other Io Types
      title: Input/Output Type
    appACEMatch:
      type: object
      properties:
        type:
          type: string
          description: Type
        value:
          type: string
          description: Value
      description: App ACE Match
      title: appACEMatch detail
      required:
        - type
        - value
    appACEAction:
      type: object
      properties:
        drop:
          type: boolean
          description: ACE drop flag
        limit:
          type: boolean
          description: ACE limit flag
        limitrate:
          type: number
          format: int64
          description: ACE limit rate
        limitunit:
          type: string
          description: ACE limit unit
        limitburst:
          type: number
          format: int64
          description: ACE limit burst
        portmap:
          type: boolean
          description: application port map flag
        mapparams:
          description: Application map params
          allOf:
            - $ref: '#/components/schemas/appMapParams'
      description: App ACE actions
      title: App ACE Action
      required:
        - drop
        - limit
        - limitrate
        - limitunit
        - limitburst
        - portmap
        - mapparams
    LispServer:
      type: object
      properties:
        nameOrIp:
          type: string
          description: name/IP
        credential:
          type: string
          description: lisp credential
      description: LispServer request payload
      title: LispServer payload detail
      required:
        - nameOrIp
        - credential
    ServicePoint:
      type: object
      properties:
        type:
          description: >-
            Service Point Type


            **Source definition conflict:** this property declares type
            `"object"`, while the referenced definition declares `"string"`. The
            referenced schema is shown; the conflicting declaration needs
            correction in ZEDEDA's Swagger definition.
          allOf:
            - $ref: '#/components/schemas/spType'
          x-zededa-source-issues:
            - code: conflicting-reference
              pointer: '#/definitions/ServicePoint/properties/type'
              keyword: type
              sourceValue: object
              reference: '#/definitions/spType'
              referencedValue: string
        NameOrIp:
          type: string
          description: Service name/ service name
        Credential:
          type: string
          description: Service credentials
      description: Service Point
      title: Service Point
    commonConnectivityProbe:
      type: object
      properties:
        probeMethod:
          description: Method to use to determine the connectivity status.
          allOf:
            - $ref: '#/components/schemas/commonConnectivityProbeMethod'
        probeEndpoint:
          description: |-
            Endpoint to probe using the selected probing mechanism to determine
            the connectivity status.
          allOf:
            - $ref: '#/components/schemas/commonProbeEndpoint'
      description: Configuration for user-defined connectivity-testing probe.
    Match:
      type: object
      properties:
        type:
          type: string
          description: Type of Match (Required)
          title: |-
            enum: host, protocol, adapter
            At the device level it will pick right interface to apply this match
        value:
          type: string
          description: Value of match (Required)
    AclAction:
      type: object
      properties:
        drop:
          type: boolean
          description: Drop the packet
          title: Not used by ZedUI
        limit:
          type: boolean
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Limit action on ACL rule
        limitValue:
          description: Value to be used for limit action (Required if limit is true)
          title: |-
            only valid if limit flag is set, see below.
            Not used by ZedUI
          allOf:
            - $ref: '#/components/schemas/LimitParams'
        limitrate:
          type: integer
          format: int64
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Rate limit in ACL rule
        limitunit:
          type: string
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Rate limit unit in ACL rule
        limitburst:
          type: integer
          format: int64
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Rate limit burst in ACL rule
        portmap:
          type: boolean
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: >-
            Enable device to app port mapping for incoming ACL rule, implicitly
            added by ZedUI code
        portmapto:
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Device to app port mapping for incoming ACL rule
          allOf:
            - $ref: '#/components/schemas/MapParams'
    CustomConfigVariableGroup:
      type: object
      properties:
        name:
          type: string
          description: Name of the Variable Group(Required)
        variables:
          type: array
          items:
            $ref: '#/components/schemas/VariableGroupVariable'
          description: List of variables(Required)
        required:
          type: boolean
          description: >-
            Indicates if the variable group is required to be specified for the
            App Instance. (Optional. Default:False)
        condition:
          description: 'Condition to apply the variable group. (Optional. Default: None)'
          allOf:
            - $ref: '#/components/schemas/VariableGroupCondition'
    appMapParams:
      type: object
      properties:
        port:
          type: number
          format: int64
          description: Application port
      description: Application map parameters
      title: App map Params detail
      required:
        - port
    spType:
      type: string
      enum:
        - SPTYPE_INVALIDSRV
        - SPTYPE_MAPSERVER
        - SPTYPE_SUPPORTSERVER
      default: SPTYPE_INVALIDSRV
      description: |-
        clone of types defined in API repo.

         - SPTYPE_MAPSERVER: mapping service for zededa overlay service
         - SPTYPE_SUPPORTSERVER: if device has support feature enabled, this ia cloud service
        which device can be reached.
    commonConnectivityProbeMethod:
      type: string
      enum:
        - CONNECTIVITY_PROBE_METHOD_UNSPECIFIED
        - CONNECTIVITY_PROBE_METHOD_ICMP
        - CONNECTIVITY_PROBE_METHOD_TCP
      default: CONNECTIVITY_PROBE_METHOD_UNSPECIFIED
      description: |-
        User-defined method to use to determine the connectivity status.

         - CONNECTIVITY_PROBE_METHOD_UNSPECIFIED: Connectivity probing method is not specified and therefore will not be used.
         - CONNECTIVITY_PROBE_METHOD_ICMP: Use ICMP ping against the probed endpoint to determine the connectivity status.
         - CONNECTIVITY_PROBE_METHOD_TCP: Try to establish TCP connection with the probed endpoint to determine the connectivity
        status.
    commonProbeEndpoint:
      type: object
      properties:
        host:
          type: string
          description: IP address or FQDN.
        port:
          type: integer
          format: int64
          description: |-
            TCP port required for CONNECTIVITY_PROBE_METHOD_TCP.
            Leave empty for CONNECTIVITY_PROBE_METHOD_ICMP.
      description: >-
        Address of a remote endpoint to probe in order to determine connectivity
        status.
    LimitParams:
      type: object
      properties:
        limitrate:
          type: integer
          format: int64
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Rate limit in ACL rule
        limitunit:
          type: string
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Rate limit unit in ACL rule
        limitburst:
          type: integer
          format: int64
          description: >-
            UI map: AppDetailsPage:EnvironmentsPane,
            AppDetailsPage:EnvironmentsPane
          title: Rate limit burst in ACL rule
    MapParams:
      type: object
      properties:
        appPort:
          type: integer
          format: int64
          description: Application Port value
    VariableGroupVariable:
      type: object
      example:
        format: VARIABLE_FORMAT_TEXT
        name: username
        label: Enter User Name
        required: 'True'
      properties:
        type:
          type: string
        name:
          type: string
          description: Name of the Variable (Required)
        label:
          type: string
          description: Label for the variable (Required)
        maxLength:
          type: string
          description: 'Max length of the value of the variable(Optional. Default: 1024)'
        required:
          type: boolean
          description: >-
            This variable MUST be specified when creating an App Instance.
            (Optional. Default: False)
        default:
          type: string
          description: >-
            Default value of the variable. (Optional. Default: <Default value
            based on type>)
        processInput:
          type: string
        value:
          type: string
          description: >-
            User-specified value of the variable.(Required if required is true.
            Optional otherwise)
        format:
          description: Format of the user variable. (Required)
          allOf:
            - $ref: '#/components/schemas/VariableVariableFormat'
        encode:
          description: >-
            Encoding of file content. Applicable if format is
            VARIABLE_FORMAT_FILE
          allOf:
            - $ref: '#/components/schemas/VariableFileEncoding'
        options:
          type: array
          items:
            $ref: '#/components/schemas/VariableOptionVal'
          description: >-
            Key-Value pair of options. Applicable if format is
            VARIABLE_FORMAT_DROPDOWN
      description: Edge Application Artifact Details
      title: Edge Application detail
      required:
        - format
        - name
        - label
        - required
    VariableGroupCondition:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        operator:
          $ref: '#/components/schemas/VariableGroupConditionOperator'
    VariableVariableFormat:
      type: string
      enum:
        - VARIABLE_FORMAT_UNSPECIFIED
        - VARIABLE_FORMAT_TEXT
        - VARIABLE_FORMAT_NUMBER
        - VARIABLE_FORMAT_FILE
        - VARIABLE_FORMAT_DROPDOWN
        - VARIABLE_FORMAT_BOOLEAN
        - VARIABLE_FORMAT_PASSWORD
      default: VARIABLE_FORMAT_UNSPECIFIED
      description: |-
        - VARIABLE_FORMAT_UNSPECIFIED: Invalid format
         - VARIABLE_FORMAT_TEXT: Value in string format
         - VARIABLE_FORMAT_NUMBER: Value in integer format
         - VARIABLE_FORMAT_FILE: Value to be read from a file
         - VARIABLE_FORMAT_DROPDOWN: Value to be selected from dropdown of options
         - VARIABLE_FORMAT_BOOLEAN: Value in boolean format
         - VARIABLE_FORMAT_PASSWORD: Value in string to be masked in User-Agent
      title: Custom variable format
    VariableFileEncoding:
      type: string
      enum:
        - FILE_ENCODING_UNSPECIFIED
        - FILE_ENCODING_BASE64
      default: FILE_ENCODING_UNSPECIFIED
      description: |-
        - FILE_ENCODING_UNSPECIFIED: File content not encoded
         - FILE_ENCODING_BASE64: File content encoded in Base64
      title: File content encoding type
    VariableOptionVal:
      type: object
      properties:
        label:
          type: string
          description: Display label of the key in User-Agent
        value:
          type: string
          description: Value of the key to be used
    VariableGroupConditionOperator:
      type: string
      enum:
        - CONDITION_OPERATOR_UNSPECIFIED
        - CONDITION_OPERATOR_EQUALTO
        - CONDITION_OPERATOR_NOTEQUALTO
      default: CONDITION_OPERATOR_UNSPECIFIED
  securitySchemes:
    BearerToken:
      type: http
      description: Bearer token for user session
      scheme: bearer

````