Zededa EdgeNodeConfiguration API
The EdgeNodeConfiguration API from Zededa — 23 operation(s) for edgenodeconfiguration.
The EdgeNodeConfiguration API from Zededa — 23 operation(s) for edgenodeconfiguration.
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