Zededa EdgeNodeConfiguration API

The EdgeNodeConfiguration API from Zededa — 23 operation(s) for edgenodeconfiguration.

OpenAPI Specification

zededa-edgenodeconfiguration-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: ZEDEDA App Profiles Service AppProfileService EdgeNodeConfiguration API
  description: The ZEDEDA App Profiles Service is part of ZEDEDA Edge Orchestration Platform. This service enables customers to define their app profiles on ZEDEDA platform and to manage them remotely.
  termsOfService: https://www.zededa.com/terms
  version: '1.0'
  contact:
    name: ZEDEDA API Support
    url: https://www.zededa.com/support
    email: support@zededa.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
basePath: /api
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- BearerToken: []
tags:
- name: EdgeNodeConfiguration
paths:
  /v1/devices:
    get:
      summary: Query edge nodes
      description: Query the edge node records.
      operationId: EdgeNodeConfiguration_QueryEdgeNodes
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/DeviceConfigList'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: summary
        description: Summary flag
        in: query
        required: false
        type: boolean
      - name: namePattern
        description: name pattern
        in: query
        required: false
        type: string
      - name: projectName
        description: project name
        in: query
        required: false
        type: string
      - name: projectNamePattern
        description: project name pattern
        in: query
        required: false
        type: string
      - name: adminState
        description: "admin state of the device\n\n - CREATED: Entity Created in the controller\n - DELETED: Entity Deleted in the controller\n - ACTIVE: Entity Activated in the controller\n - INACTIVE: Entity Deactivated in the controller\n - REGISTERED: Specific to Edge-node - Edge-node Registered with the controller\n - ARCHIVED: Entity Archived in the controller"
        in: query
        required: false
        type: string
        enum:
        - UNSPECIFIED
        - CREATED
        - DELETED
        - ACTIVE
        - INACTIVE
        - REGISTERED
        - ARCHIVED
        default: UNSPECIFIED
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        type: number
        format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        type: number
        format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        type: number
        format: int64
      - name: fields
        description: 'Fields to select: id, name, title, description, tags, utype, projectId, serialno, adminState, modelId, clusterID, baseImage, interfaces, debugKnob'
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: clusterName
        description: cluster name
        in: query
        required: false
        type: string
      - name: clusterNamePattern
        description: cluster name pattern
        in: query
        required: false
        type: string
      - name: createdByPattern
        description: username pattern who created the device
        in: query
        required: false
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - EdgeNodeConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
    post:
      summary: Create edge node
      description: Create an edge node record.
      operationId: EdgeNodeConfiguration_CreateEdgeNode
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this edge node record will conflict with an already existing edge node record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/DeviceConfig'
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - EdgeNodeConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
  /v1/devices/id/{id}:
    get:
      summary: Get edge node
      description: Get the configuration (without security details) of an edge node record.
      operationId: EdgeNodeConfiguration_GetEdgeNode
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/DeviceConfig'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for a device
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - EdgeNodeConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
    delete:
      summary: Delete edge node
      description: Delete an edge node record.
      operationId: EdgeNodeConfiguration_DeleteEdgeNode
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for a device
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - EdgeNodeConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
    put:
      summary: Update edge node
      description: Update an edge node record. The usual pattern to update an edge node record is to retrieve the record and update with the modified values in a new body to update the edge node record.
      operationId: EdgeNodeConfiguration_UpdateEdgeNode
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this operation will conflict with an already existing edge node record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for a device
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          type: object
          properties:
            name:
              type: string
              description: user specified device name
            title:
              type: string
              description: user specified title
            description:
              type: string
              description: user specified description
            revision:
              type: object
              $ref: '#/definitions/ObjectRevision'
              description: Object revision details
            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: ^[^<%&?/\>]+$
            utype:
              type: string
              $ref: '#/definitions/ModelArchType'
              description: device model arch type
            projectId:
              type: string
              description: project name
            serialno:
              type: string
              description: Device serial number
            location:
              type: string
              description: 'Device location: deprecated'
            cpu:
              type: number
              format: int64
              description: CPU (configured values)
            thread:
              type: number
              format: int64
              description: Threads
            memory:
              type: number
              format: int64
              description: Device memory in MBs
            storage:
              type: number
              format: int64
              description: Device storage in GBs
            onboarding:
              type: object
              $ref: '#/definitions/DeviceCerts'
              description: Device level certificates used while onboarding
            identity:
              type: string
              format: byte
              description: Device identity
            obkey:
              type: string
              description: Object key
            token:
              type: string
              description: Single use token
            clientIp:
              type: string
              description: Client IP
            dlisp:
              type: object
              $ref: '#/definitions/DeviceLisp'
              description: device Lisp
            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_.-]+'
              uniqueItems: true
            adminState:
              type: object
              $ref: '#/definitions/AdminState'
              description: administrative state of device
            resetCounter:
              type: number
              format: int64
              description: devicereset counter
            resetTime:
              type: string
              description: device reset time
            baseImage:
              type: array
              items:
                $ref: '#/definitions/BaseOSImage'
              description: base images
            modelId:
              type: string
              description: device model
            configItem:
              type: array
              items:
                $ref: '#/definitions/EDConfigItem'
              description: ED configurations
            deprecated:
              type: string
              description: deprecated field
            vlanAdapters:
              type: array
              items:
                $ref: '#/definitions/vlanAdapter'
              description: A list of VLAN sub-interfaces configured for EVE management traffic and for local network instances
            interfaces:
              type: array
              items:
                $ref: '#/definitions/SysInterface'
              description: System Interface list
            devLocation:
              type: object
              $ref: '#/definitions/GeoLocation'
              description: User specified geo location
            sitePictures:
              type: array
              items:
                type: string
              description: Site captured pictures
            assetId:
              type: string
              description: Device asset ID
            baseOsRetryCounter:
              type: number
              format: int64
              description: device baseos retry counter
            baseOsRetryTime:
              type: string
              description: device baseos retry time
            debugKnob:
              type: object
              $ref: '#/definitions/DebugKnobDetail'
              description: debug knob details for the device
            defaultNetInst:
              type: object
              $ref: '#/definitions/NetInstConfig'
              description: default network instance details
            preparePowerOffCounter:
              type: number
              format: int64
              description: prepare poweroff counter
            preparePowerOffTime:
              type: string
              description: prepare poweroff time
            edgeviewconfig:
              type: object
              $ref: '#/definitions/EdgeviewCfg'
              description: edgeview configuration for device
            generateSoftSerial:
              type: boolean
              description: indicates whether a soft serial should be generated; it will work ONLY when device is created
            deploymentTag:
              type: string
              description: user defined tag for the device, which is used while deploying policies.
            localOperatorConsoleURL:
              type: string
              description: local operator console url
              title: will be deprecated 73
            configLock:
              $ref: '#/definitions/DeviceConfigLock'
              description: device configuration lock setting
            edgeviewAllow:
              type: boolean
              description: Allow device to enable Edgeview
              title: To support edge view policy in deployments, adding a new column in device table
            clusterInterface:
              type: string
              description: Cluster Interface
              title: The following two fields are related to the edge node cluster configuration
            edgeNodeCluster:
              type: object
              $ref: '#/definitions/EdgeNodeClusterConfig'
              description: Edge Node Cluster Configuration
            baseOsForceUpgrade:
              type: boolean
              description: Force upgrade base OS
            project:
              type: object
              $ref: '#/definitions/ProjectInfo'
              description: Project specific info
            model:
              type: object
              $ref: '#/definitions/ModelInfo'
              description: Model specific info
            edgeSyncConfig:
              type: object
              $ref: '#/definitions/EdgeSyncConfig'
              description: edge sync config
            pcrPolicy:
              $ref: '#/definitions/PolicyConfig'
              description: PCR policy for TPM key sealing on this specific device (overrides project policy)
            bondAdapter:
              type: array
              items:
                $ref: '#/definitions/BondAdapter'
              description: A list of bond interfaces
          description: Device Configuration request payload holds the device properties
          title: Device Configuration payload detail
          required:
          - name
          - title
          - projectId
          - modelId
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - EdgeNodeConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
  /v1/devices/id/{id}/activate:
    put:
      summary: Activate edge node.
      description: Activate an edge node. If already in active state no action is taken.
      operationId: EdgeNodeConfiguration_ActivateEdgeNode
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this operation will conflict with an already existing edge node record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for a device
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - EdgeNodeConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes
  /v1/devices/id/{id}/apply:
    put:
      summary: update EVE image on edge node
      description: Update EVE image on edge node, if edge node is already running the latest EVE image no action is taken.
      operationId: EdgeNodeConfiguration_UpdateEdgeNodeBaseOS
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this operation will conflict with an already existing edge node record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: system generated unique id for a device
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          type: object
          properties:
            name:
              type: string
              description: user specified device name
            title:
              type: string
              description: user specified title
            description:
              type: string
              description: user specified description
            revision:
              type: object
              $ref: '#/definitions/ObjectRevision'
              description: Object revision details
            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: ^[^<%&?/\>]+$
            utype:
              type: string
              $ref: '#/definitions/ModelArchType'
              description: device model arch type
            projectId:
              type: string
              description: project name
            serialno:
              type: string
              description: Device serial number
            location:
              type: string
              description: 'Device location: deprecated'
            cpu:
              type: number
              format: int64
              description: CPU (configured values)
            thread:
              type: number
              format: int64
              description: Threads
            memory:
              type: number
              format: int64
              description: Device memory in MBs
            storage:
              type: number
              format: int64
              description: Device storage in GBs
            onboarding:
              type: object
              $ref: '#/definitions/DeviceCerts'
              description: Device level certificates used while onboarding
            identity:
              type: string
              format: byte
              description: Device identity
            obkey:
              type: string
              description: Object key
            token:
              type: string
              description: Single use token
            clientIp:
              type: string
              description: Client IP
            dlisp:
              type: object
              $ref: '#/definitions/DeviceLisp'
              description: device Lisp
            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_.-]+'
              uniqueItems: true
            adminState:
              type: object
              $ref: '#/definitions/AdminState'
              description: administrative state of device
            resetCounter:
              type: number
              format: int64
              description: devicereset counter
            resetTime:
              type: string
              description: device reset time
            baseImage:
              type: array
              items:
                $ref: '#/definitions/BaseOSImage'
              description: base images
            modelId:
              type: string
              description: device model
            configItem:
              type: array
              items:
                $ref: '#/definitions/EDConfigItem'
              description: ED configurations
            deprecated:
              type: string
              description: deprecated field
            vlanAdapters:
              type: array
              items:
                $ref: '#/definitions/vlanAdapter'
              description: A list of VLAN sub-interfaces configured for EVE management traffic and for local network instances
            interfaces:
              type: array
              items:
                $ref: '#/definitions/SysInterface'
              description: System Interface list
            devLocation:
              type: object
              $ref: '#/definitions/GeoLocation'
              description: User specified geo location
            sitePictures:
              type: array
              items:
                type: string
              description: Site captured pictures
            assetId:
              type: string
              description: Device asset ID
            baseOsRetryCounter:
              type: number
              format: int64
              description: device baseos retry counter
   

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