> ## 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.

# Update edge application instance (v1)

> PUT /api/v1/apps/instances/id/{id}. Edge applications 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/edge-application.json)

> [!WARNING]
>
> This operation can change resources or access. After signing in, open **API request settings** and select **Enable modifying requests**, then **Apply settings**, to use its playground. Check the request body and destination before selecting **Send**. Your existing API permissions still apply.

A successful response.
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.
Not Found. The API gateway did not process the request because the requested resource could not be found.
Conflict. The API gateway did not process the request because this operation will conflict with an already existing edge network record.
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/edge-application.json PUT /v1/apps/instances/id/{id}
openapi: 3.0.0
info:
  title: ZEDEDA Edge Application Service
  description: >-
    The ZEDEDA Edge Application Service is part of ZEDEDA Edge Orchestration
    Platform. This service enables customers to define their edge applications
    on ZEDEDA platform and to deploy/upgrade/restarti/monitor them to edge
    node(s) remotely. You can use the ZEDEDA Edge Application Service to
    provision and manage ilifecycle of thousands of edge applications to
    millions of edge nodes distributed in different geographical locations in a
    secure and scalable manner.
  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: EdgeApplicationConfiguration
  - name: EdgeApplicationInstanceConfiguration
  - name: PatchEnvelopeConfiguration
  - name: EdgeApplicationInstanceStatus
externalDocs:
  description: ZEDEDA Product Documentation
  url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-apps
paths:
  /v1/apps/instances/id/{id}:
    put:
      tags:
        - EdgeApplicationInstanceConfiguration
      summary: Update edge application instance
      description: >-
        Update an edge application instance. The usual pattern to update an edge
        application bundle record is to retrieve the record and update with the
        modified values in a new body to update the edge application bundle
        record.
      operationId: EdgeApplicationInstanceConfiguration_UpdateEdgeApplicationInstance
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: X-Request-Id
          in: header
          required: false
          description: User-Agent specified id to track a request
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppInstanceUpdate_HttpRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          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'
        '404':
          description: >-
            Not Found. The API gateway did not process the request because the
            requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZsrvResponse'
        '409':
          description: >-
            Conflict. The API gateway did not process the request because this
            operation will conflict with an already existing edge network
            record.
          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/edge-apps
components:
  schemas:
    AppInstanceUpdate_HttpRequest:
      type: object
      properties:
        id:
          type: string
          description: System defined universally unique Id of the app instance
          pattern: '[0-9A-Za-z-]+'
          x-zededa-source-issues:
            - code: inapplicable-constraint
              pointer: '#/definitions/AppInstanceUpdate_HttpRequest/properties/id'
              keyword: uniqueItems
              sourceValue: true
        name:
          type: string
          description: >-
            User defined name of the app instance, unique across the enterprise.
            Once app instance 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/AppInstanceUpdate_HttpRequest/properties/name'
              keyword: uniqueItems
              sourceValue: true
        title:
          type: string
          description: >-
            User defined title of the app instance. 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 app instance
          maxLength: 256
        revision:
          description: app instance object revision details
          allOf:
            - $ref: '#/components/schemas/ObjectRevision'
        projectId:
          type: string
          description: project name which the given app instance belong to
        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: ^[^<%&?/\>]+$
        clusterID:
          type: string
          description: >-
            System defined universally unique clusterInstance ID, unique across
            the enterprise.
          maxLength: 256
          minLength: 3
          pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
          x-zededa-source-issues:
            - code: inapplicable-constraint
              pointer: '#/definitions/AppInstanceUpdate_HttpRequest/properties/clusterID'
              keyword: uniqueItems
              sourceValue: true
        appId:
          type: string
          description: >-
            User defined name of the edge app, unique across the enterprise.
            Once app name 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/AppInstanceUpdate_HttpRequest/properties/appId'
              keyword: uniqueItems
              sourceValue: true
        deviceId:
          type: string
          description: >-
            User defined name of the device name, unique across the enterprise.
            Once device name is defined, 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/AppInstanceUpdate_HttpRequest/properties/deviceId'
              keyword: uniqueItems
              sourceValue: true
        activate:
          type: boolean
          description: app instance activation flag
        vminfo:
          description: virtual machine info
          allOf:
            - $ref: '#/components/schemas/vm'
        drives:
          type: array
          items:
            $ref: '#/components/schemas/drive'
          description: drive details
        interfaces:
          type: array
          items:
            $ref: '#/components/schemas/appInterface'
          description: application interfaces
        userData:
          type: string
          description: >-
            Deprecated: Application initiazation script in cloud-config format
            to be used by cloud-init
        customConfig:
          description: >-
            Application initialization script template in cloud-config format
            and user specified values
          allOf:
            - $ref: '#/components/schemas/CustomConfig'
        collectStatsIPAddr:
          type: string
          description: holds the static Ip of the app instance
        bundleversion:
          type: string
          description: version of bundle app is referring to
        logs:
          description: App Instance logs
          allOf:
            - $ref: '#/components/schemas/AppInstanceLogs'
        restart:
          description: 'Restart counter: ZedCloudOpsCmd'
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        refresh:
          description: 'Refresh counter: ZedCloudOpsCmd'
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        purge:
          description: 'Purge counter: ZedCloudOpsCmd'
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        remoteConsole:
          type: boolean
          description: Remote console flag
        encryptedSecrets:
          type: object
          additionalProperties:
            type: string
          description: user encrypted secrets map
        cryptoKey:
          type: string
          description: Crypto Key for decrypting user secret information
        manifestInfo:
          description: app manifest Info
          allOf:
            - $ref: '#/components/schemas/ManifestInfo'
        appType:
          description: type of bundle
          allOf:
            - $ref: '#/components/schemas/AppType'
        isSecretUpdated:
          type: boolean
          description: >-
            This field tells whether user secrets has updated or not, especially
            the cusotom config
        appPolicyId:
          type: string
          description: app policy id
        deploymentType:
          description: 'type of deployment for the app, eg: azure, k3s, standalone'
          allOf:
            - $ref: '#/components/schemas/DeploymentType'
        userDefinedVersion:
          type: string
          description: Instance version tells which edge app does this instance is running
        startDelayInSeconds:
          type: integer
          format: int64
          description: >-
            start delay is the time in seconds EVE should wait after boot before
            starting the application instance
        cloudInitVersion:
          type: integer
          format: int64
          description: >-
            Cloud-init version that indicates whether it necessary or not for
            cloud-init tool to restart in a guest
        allowSnapshots:
          type: boolean
          description: Flag to determine if a snapshot creation is allowed
        maxSnapshots:
          type: integer
          format: int64
          description: Maximum number of snapshots allowed to be created
        availableSnapshots:
          type: array
          items:
            $ref: '#/components/schemas/AppInstanceSnapshot'
          description: The list of available snapshots of the application instance
        patchEnvelopeId:
          type: string
          description: patch envelope id
        patchEnvelopeName:
          type: string
          description: patch envelope name
        edgeNodeCluster:
          description: edge node cluster
          allOf:
            - $ref: '#/components/schemas/AppInstEdgeNodeCluster'
      description: App Instance detail
      title: App Instance detail
      required:
        - name
        - title
        - projectId
        - appId
        - deviceId
        - activate
    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'
    ObjectRevision:
      type: object
      properties:
        prev:
          type: string
          description: Previous
        curr:
          type: string
          description: Current Database version of the record
        createdAt:
          type: object
          format: date-time
          description: >-
            The time, in milliseconds since the epoch, when the record was
            created.
        createdBy:
          type: string
          description: 'User data: Created By'
        updatedAt:
          type: object
          format: date-time
          description: >-
            The time, in milliseconds since the epoch, when the record was last
            updated.
        updatedBy:
          type: string
          description: 'User data: Updated By'
      description: >-
        ObjectRevision store the user details, who has doent the necessary
        operation like Create Operation or update operation
      title: ObjectRevision is used to store the user information.
      required:
        - curr
        - createdAt
        - createdBy
        - updatedAt
        - updatedBy
    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
    drive:
      type: object
      properties:
        imagename:
          type: string
          description: Name of Image Object used for the drive.
        maxsize:
          type: number
          format: uint64
          description: Drive maximum size
        readonly:
          type: boolean
          description: >-
            Read only flag. If set, drive is mounted as readonly by app
            instance.
        preserve:
          type: boolean
          description: Preserve the drive even when all app instances using it are deleted
        drvtype:
          type: string
          description: >-
            Type of Drive. Valid Values: UNSPECIFIED, CDROM, HDD, NET,
            HDD_EMPTY. HDD_EMPTY - is to allocate the empty disk of maxsizebytes
            specified
        target:
          type: string
          description: 'type of target. Valid values: Disk, Kernel, Initrd, RamDisk'
        volumelabel:
          type: string
          description: 'User defined volume to use for this drive '
        mvolname:
          type: string
          description: >-
            mutable Volume for this drive. Only one of imvolname and mvolname
            must be specified.
        imvolname:
          type: string
          description: >-
            immutable Volume for this drive. Only one of imvolname and mvolname
            must be specified.
        ignorepurge:
          type: boolean
          description: don't purge this drive as part of purge command for mutable volumes
        cleartext:
          type: boolean
          description: If set, don't encrypt the drive. Store in cleartext
        mountpath:
          type: string
          description: Mount Path for the drive in the App Instance
        runtimeInternal:
          type: boolean
          description: >-
            If set, the drive is internal to the runtime and not externally
            exposed with API
          readOnly: true
      description: Drive configuration
      title: Drive details
      required:
        - imagename
        - maxsize
        - readonly
        - preserve
        - drvtype
        - target
    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
    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)
    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
    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
    ManifestInfo:
      type: object
      properties:
        bundleVersion:
          type: string
          description: Current version of edge application being used
        nextBundleVersion:
          type: string
          description: Next version of edge application available
        transitionAction:
          type: string
          description: Recommended transition action
          allOf:
            - $ref: '#/components/schemas/InstanceTransitionAction'
        params:
          type: object
          additionalProperties:
            type: string
          description: Common and Custom parameters for deciding on transition actions
        details:
          description: Details for recommended transition action
          allOf:
            - $ref: '#/components/schemas/TransDetails'
        enablevnc:
          type: boolean
          description: Enable vnc for the app
      description: >-
        Details about transition parameters and indication for cause of the
        transition and recommendation for the transition action
      title: Transition action information
    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
    AppInstanceSnapshot:
      type: object
      properties:
        id:
          type: string
          description: System defined universally unique Id of the app instance snapshot
          pattern: '[0-9A-Za-z-]+'
          x-zededa-source-issues:
            - code: inapplicable-constraint
              pointer: '#/definitions/AppInstanceSnapshot/properties/id'
              keyword: uniqueItems
              sourceValue: true
        name:
          type: string
          description: Snapshot name. Unique across the application instance
        state:
          description: Status of the snapshot
          allOf:
            - $ref: '#/components/schemas/SnapshotState'
        config:
          type: object
          description: The complete configuration of the application instance
          allOf:
            - $ref: '#/components/schemas/AppInstance'
        activate:
          type: boolean
          description: Indicates whether the snapshot should be activated
        immediate:
          type: boolean
          description: Indicates that the snapshot should be taken immediately
      description: App instance snapshot
      title: App instance snapshot
      required:
        - name
    AppInstEdgeNodeCluster:
      type: object
      properties:
        id:
          type: string
          description: Id of the edge node cluster
          pattern: '[0-9A-Za-z-]+'
        designatedNodeID:
          type: string
          description: Id of the designated node
          pattern: '[0-9A-Za-z-]+'
        name:
          type: string
          description: edge node cluster name
        enableAppPinning:
          type: boolean
          description: enable application pinning to edge node cluster's designated node
    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
    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
    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
    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'
    InstanceTransitionAction:
      type: string
      enum:
        - INSTANCE_TA_UNSPECIFIED
        - INSTANCE_TA_NONE
        - INSTANCE_TA_UPDATEREQUIRED
        - INSTANCE_TA_UPDATEWITHRESTART
        - INSTANCE_TA_UPDATEWITHPURGE
      default: INSTANCE_TA_UNSPECIFIED
      description: |-
        - INSTANCE_TA_UNSPECIFIED: Default. Invalid option
         - INSTANCE_TA_NONE: Either Edge app bundle has not changed or Edge app bundle has
        changed but the changes do not impact Edge app instances
         - INSTANCE_TA_UPDATEREQUIRED: Edge app bundle has changed. Changes impact Edge app Instances
        Edge App instances need to be restarted with temporary loss of access
         - INSTANCE_TA_UPDATEWITHRESTART: Transition Action: Update with Restart
         - INSTANCE_TA_UPDATEWITHPURGE: Edge app bundle has changed. Changes impact Edge app Instances
        Edge App instances need to be deleted and created again with
        temporary loss of access and permanent loss of data
      title: Instance Transition action
    TransDetails:
      type: object
      properties:
        cause:
          description: Cause of the transition action
          allOf:
            - $ref: '#/components/schemas/TransCause'
        severity:
          type: string
          description: >-
            Urgency of the recommended action (ERROR - must take action
            immediately, WARN - must take action but not immediately, NOTICE -
            may take action
        scope:
          description: Scope of the action (e.g. project, cluster, instance)
          allOf:
            - $ref: '#/components/schemas/ActionScope'
    SnapshotState:
      type: string
      enum:
        - INVALID
        - IDLE
        - CREATING
        - CREATED
        - CREATE_FAILED
        - ROLLING_BACK
        - ACTIVE
        - ROLLBACK_FAILED
        - DELETING
        - DELETE_FAILED
        - DELETED
      default: INVALID
    AppInstance:
      type: object
      properties:
        id:
          type: string
          description: System defined universally unique Id of the app instance
          readOnly: true
          pattern: '[0-9A-Za-z-]+'
          x-zededa-source-issues:
            - code: inapplicable-constraint
              pointer: '#/definitions/AppInstance/properties/id'
              keyword: uniqueItems
              sourceValue: true
        name:
          type: string
          description: >-
            User defined name of the app instance, unique across the enterprise.
            Once app instance 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/AppInstance/properties/name'
              keyword: uniqueItems
              sourceValue: true
        title:
          type: string
          description: >-
            User defined title of the app instance. 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 app instance
          maxLength: 256
        revision:
          description: app instance object revision details
          allOf:
            - $ref: '#/components/schemas/ObjectRevision'
        projectId:
          type: string
          description: project name which the given app instance belong to
        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: ^[^<%&?/\>]+$
        clusterID:
          type: string
          description: >-
            System defined universally unique clusterInstance ID, unique across
            the enterprise.
          maxLength: 256
          minLength: 3
          pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
          x-zededa-source-issues:
            - code: inapplicable-constraint
              pointer: '#/definitions/AppInstance/properties/clusterID'
              keyword: uniqueItems
              sourceValue: true
        appId:
          type: string
          description: >-
            User defined name of the edge app, unique across the enterprise.
            Once app name 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/AppInstance/properties/appId'
              keyword: uniqueItems
              sourceValue: true
        deviceId:
          type: string
          description: >-
            User defined name of the device name, unique across the enterprise.
            Once device name is defined, 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/AppInstance/properties/deviceId'
              keyword: uniqueItems
              sourceValue: true
        activate:
          type: boolean
          description: app instance activation flag
        vminfo:
          description: virtual machine info
          allOf:
            - $ref: '#/components/schemas/vm'
        drives:
          type: array
          items:
            $ref: '#/components/schemas/drive'
          description: drive details
        interfaces:
          type: array
          items:
            $ref: '#/components/schemas/appInterface'
          description: application interfaces
        userData:
          type: string
          description: >-
            Deprecated: Application initiazation script in cloud-config format
            to be used by cloud-init
        customConfig:
          description: >-
            Application initialization script template in cloud-config format
            and user specified values
          allOf:
            - $ref: '#/components/schemas/CustomConfig'
        collectStatsIPAddr:
          type: string
          description: holds the static Ip of the app instance
        bundleversion:
          type: string
          description: version of bundle app is referring to
        logs:
          description: App Instance logs
          allOf:
            - $ref: '#/components/schemas/AppInstanceLogs'
        restart:
          description: 'Restart counter: ZedCloudOpsCmd'
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        refresh:
          description: 'Refresh counter: ZedCloudOpsCmd'
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        purge:
          description: 'Purge counter: ZedCloudOpsCmd'
          allOf:
            - $ref: '#/components/schemas/ZedCloudOpsCmd'
        remoteConsole:
          type: boolean
          description: Remote console flag
        encryptedSecrets:
          type: object
          additionalProperties:
            type: string
          description: user encrypted secrets map
        cryptoKey:
          type: string
          description: Crypto Key for decrypting user secret information
        manifestInfo:
          description: app manifest Info
          allOf:
            - $ref: '#/components/schemas/ManifestInfo'
        appType:
          description: type of bundle
          allOf:
            - $ref: '#/components/schemas/AppType'
        isSecretUpdated:
          type: boolean
          description: >-
            This field tells whether user secrets has updated or not, especially
            the cusotom config
        appPolicyId:
          type: string
          description: app policy id
        deploymentType:
          description: 'type of deployment for the app, eg: azure, k3s, standalone'
          allOf:
            - $ref: '#/components/schemas/DeploymentType'
        userDefinedVersion:
          type: string
          description: Instance version tells which edge app does this instance is running
        startDelayInSeconds:
          type: integer
          format: int64
          description: >-
            start delay is the time in seconds EVE should wait after boot before
            starting the application instance
        cloudInitVersion:
          type: integer
          format: int64
          description: >-
            Cloud-init version that indicates whether it necessary or not for
            cloud-init tool to restart in a guest
        allowSnapshots:
          type: boolean
          description: Flag to determine if a snapshot creation is allowed
        maxSnapshots:
          type: integer
          format: int64
          description: Maximum number of snapshots allowed to be created
        availableSnapshots:
          type: array
          items:
            $ref: '#/components/schemas/AppInstanceSnapshot'
          description: The list of available snapshots of the application instance
        patchEnvelopeId:
          type: string
          description: patch envelope id
        patchEnvelopeName:
          type: string
          description: patch envelope name
        edgeNodeCluster:
          description: edge node cluster
          allOf:
            - $ref: '#/components/schemas/AppInstEdgeNodeCluster'
        dockerComposeYamlText:
          type: string
          description: Docker compose base64 encoded plain text
          title: internal field
          readOnly: true
        dockerComposeTarImageName:
          type: string
          description: Docker compose tar image name
          title: internal field
          readOnly: true
        datastoreIdList:
          type: array
          items:
            type: string
          description: List of datastore ids containing private registry credentials
          title: internal field
          readOnly: true
        PersistentRuntimeSizeBytes:
          type: string
          format: uint64
          description: Persistent runtime size in bytes
      description: App Instance detail
      title: App Instance detail
      required:
        - name
        - title
        - projectId
        - appId
        - deviceId
        - activate
    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
    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
    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'
    TransCause:
      type: string
      enum:
        - TRANS_CAUSE_UNSPECIFIED
        - TRANS_CAUSE_APP_DRIVE_CHANGED
        - TRANS_CAUSE_APP_NETWORK_CHANGED
        - TRANS_CAUSE_APP_CUSTOM_CONFIG_CHANGED
        - TRANS_CAUSE_APP_MODULE_BUNDLE_UPDATE
        - TRANS_CAUSE_APP_DESC_CHANGED
        - TRANS_CAUSE_APP_FIXED_RESOURCES_CHANGED
        - TRANS_CAUSE_APP_VNC_MODE_CHANGED
        - TRANS_CAUSE_APP_VM_MODE_CHANGED
        - TRANS_CAUSE_INTER_CA_EXPIRING
        - TRANS_CAUSE_INTER_CA_EXPIRED
        - TRANS_CAUSE_DEVICE_CA_EXPIRING
        - TRANS_CAUSE_DEVICE_CA_EXPIRED
        - TRANS_CAUSE_IDENTITY_CA_EXPIRING
        - TRANS_CAUSE_IDENTITY_CA_EXPIRED
        - TRANS_CAUSE_APP_COMPOSE_TAR_IMAGE_CHANGED
        - TRANS_CAUSE_APP_COMPOSE_YAML_CHANGED
        - TRANS_CAUSE_APP_COMPOSE_DATASTORE_CHANGED
        - TRANS_CAUSE_APP_ENABLE_VM_CONFIG_CHANGED
      default: TRANS_CAUSE_UNSPECIFIED
    ActionScope:
      type: object
      properties:
        type:
          description: >-
            Scope of the action (e.g. project in case certificate expired at
            project level)
          allOf:
            - $ref: '#/components/schemas/ObjectType'
        id:
          type: string
          description: Unique id of the type (e.g. projectId in case of project type)
    appMapParams:
      type: object
      properties:
        port:
          type: number
          format: int64
          description: Application port
      description: Application map parameters
      title: App map Params detail
      required:
        - port
    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

````