{ "swagger": "2.0", "info": { "title": "ZEDEDA Edge Node Service", "description": "The ZEDEDA Edge Node Service is part of ZEDEDA Edge Orchestration Platform. This service enables customers to onboard their edge nodes on ZEDEDA platform and upgrade/restart/monitor them remotely. You can use the ZEDEDA Edge Node Service to provision and manage lifecycle of 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" } }, "tags": [ { "name": "EdgeNodeConfiguration" }, { "name": "EdgeNodeStatus" }, { "name": "ResourceGroupStatus" }, { "name": "ResourceGroup" }, { "name": "HardwareModel" }, { "name": "CertificateEnrollmentProfileConfiguration" } ], "basePath": "/api", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/v1/brands": { "get": { "summary": "Query hardware brands", "description": "Query the hardware brand records.", "operationId": "HardwareModel_QueryHardwareBrands", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysBrands" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Brand name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "originType", "description": "origin of object\n\n - ORIGIN_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - ORIGIN_IMPORTED: Object imported from global enterprise.\n - ORIGIN_LOCAL: Objectl created locally.\n - ORIGIN_GLOBAL: Object created in global store,\nto use this type user should have root previlage.\n - ORIGIN_APP_PROFILE_LOCAL: Object created via App profile", "in": "query", "required": false, "type": "string", "enum": [ "ORIGIN_UNSPECIFIED", "ORIGIN_IMPORTED", "ORIGIN_LOCAL", "ORIGIN_GLOBAL", "ORIGIN_APP_PROFILE_LOCAL" ], "default": "ORIGIN_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": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "post": { "summary": "Create hardware brand", "description": "Create a hardware brand record.", "operationId": "HardwareModel_CreateHardwareBrand", "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 hardware brand record will conflict with an already existing hardware brand 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/SysBrand" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/brands/global": { "get": { "summary": "Query global hardware brands", "description": "Query the global hardware brand records.", "operationId": "HardwareModel_QueryGlobalHardwareBrands", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysBrands" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Brand name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "originType", "description": "origin of object\n\n - ORIGIN_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - ORIGIN_IMPORTED: Object imported from global enterprise.\n - ORIGIN_LOCAL: Objectl created locally.\n - ORIGIN_GLOBAL: Object created in global store,\nto use this type user should have root previlage.\n - ORIGIN_APP_PROFILE_LOCAL: Object created via App profile", "in": "query", "required": false, "type": "string", "enum": [ "ORIGIN_UNSPECIFIED", "ORIGIN_IMPORTED", "ORIGIN_LOCAL", "ORIGIN_GLOBAL", "ORIGIN_APP_PROFILE_LOCAL" ], "default": "ORIGIN_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": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/brands/global/id/{id}": { "get": { "summary": "Get global hardware brand", "description": "Get the configuration (without security details) of a global hardware brand record.", "operationId": "HardwareModel_GetGlobalHardwareBrand", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysBrand" } }, "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 defined universally unique Id of the model.", "in": "path", "required": true, "type": "string" }, { "name": "enterpriseId", "description": "deprecated field: EnterpriseId", "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": [ "HardwareModel" ] } }, "/v1/brands/global/name/{name}": { "get": { "summary": "Get global hardware brand", "description": "Get the configuration (without security details) of a global hardware brand record.", "operationId": "HardwareModel_GetGlobalHardwareBrandByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysBrand" } }, "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": "name", "description": "user defined sys brand name", "in": "path", "required": true, "type": "string" }, { "name": "enterpriseId", "description": "deprecated field: EnterpriseId", "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": [ "HardwareModel" ] } }, "/v1/brands/id/{id}": { "get": { "summary": "Get hardware brand", "description": "Get the configuration (without security details) of a hardware brand record.", "operationId": "HardwareModel_GetHardwareBrand", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysBrand" } }, "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 defined universally unique Id of the model.", "in": "path", "required": true, "type": "string" }, { "name": "enterpriseId", "description": "deprecated field: EnterpriseId", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "delete": { "summary": "Delete hardware brand", "description": "Delete a hardware brand record.", "operationId": "HardwareModel_DeleteHardwareBrand", "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 defined universally unique Id of the model.", "in": "path", "required": true, "type": "string" }, { "name": "enterpriseId", "description": "deprecated field: EnterpriseId", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "put": { "summary": "Update hardware brand", "description": "Update a hardware brand. The usual pattern to update a hardware brand record is to retrieve the record and update with the modified values in a new body to update the hardware brand record.", "operationId": "HardwareModel_UpdateHardwareBrand", "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 hardware brand 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 defined universally unique Id of the brand.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "user defined sys brand name", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "title": { "type": "string", "description": "user defined title for sys brand", "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "description": { "type": "string", "description": "Detailed description of the image.", "maxLength": 256 }, "svg": { "type": "string", "description": "Deprecated: base64 encoded string of svg file" }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of " }, "state": { "$ref": "#/definitions/SysModelState", "description": "Sys Model Status" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "Object Revision of the sys brand" }, "systemMfgName": { "type": "string", "description": "System Manufacturer name" }, "logo": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of which holds the key:url for the logo artifact of the the brand" }, "originType": { "$ref": "#/definitions/Origin", "description": "origin of object" } }, "description": "SysModel consists of various brand attributes like id, name, title, svg, state, systemMfgName", "title": "SysBrand payload details", "required": [ "name", "title", "originType" ] } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/brands/name/{name}": { "get": { "summary": "Get hardware brand", "description": "Get the configuration (without security details) of a hardware brand record.", "operationId": "HardwareModel_GetHardwareBrandByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysBrand" } }, "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": "name", "description": "user defined sys brand name", "in": "path", "required": true, "type": "string" }, { "name": "enterpriseId", "description": "deprecated field: EnterpriseId", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/ceps": { "get": { "summary": "List certificate enrollment profiles", "description": "List all certificate enrollment profiles with optional filtering and pagination.", "operationId": "CertificateEnrollmentProfileConfiguration_QueryCEPs", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CEPCommonSCEPProfiles" } }, "400": { "description": "Bad Request. The API gateway did not process the request because of invalid 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": "namePattern", "description": "query param : \"name-pattern\" . Search * namePattern * in name field to filter records", "in": "query", "required": false, "type": "string" }, { "name": "summary", "description": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "showProjectsList", "description": "If true, include the list of projects referencing each CEP profile", "in": "query", "required": false, "type": "boolean" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "CertificateEnrollmentProfileConfiguration" ] }, "post": { "summary": "Create a certificate enrollment profile", "description": "Create a certificate enrollment profile (CEP) for SCEP-based certificate provisioning on edge devices.", "operationId": "CertificateEnrollmentProfileConfiguration_CreateCEP", "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 CEP record will conflict with an already existing CEP 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/CEPCommonSCEPProfile" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "CertificateEnrollmentProfileConfiguration" ] } }, "/v1/ceps/id/{id}": { "get": { "summary": "Get certificate enrollment profile by ID", "description": "Get the configuration of a certificate enrollment profile by its unique ID.", "operationId": "CertificateEnrollmentProfileConfiguration_GetCEPById", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CEPCommonSCEPProfile" } }, "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 defined universally unique Id of the CEP profile", "in": "path", "required": true, "type": "string" }, { "name": "showProjectsList", "description": "If true, include the list of projects referencing this CEP profile", "in": "query", "required": false, "type": "boolean" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "CertificateEnrollmentProfileConfiguration" ] }, "delete": { "summary": "Delete a certificate enrollment profile", "description": "Delete a certificate enrollment profile by its unique ID.", "operationId": "CertificateEnrollmentProfileConfiguration_DeleteCEP", "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 defined universally unique Id of the CEP profile", "in": "path", "required": true, "type": "string" }, { "name": "showProjectsList", "description": "If true, include the list of projects referencing this CEP profile", "in": "query", "required": false, "type": "boolean" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "CertificateEnrollmentProfileConfiguration" ] }, "put": { "summary": "Update a certificate enrollment profile", "description": "Update a certificate enrollment profile. Fields id, name, enterprise_id, and status are immutable and cannot be changed.", "operationId": "CertificateEnrollmentProfileConfiguration_UpdateCEP", "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" } }, "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 of a version conflict with the current state of the resource.", "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 identifier (UUID)", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "User-defined unique name for the profile", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "title": { "type": "string", "description": "Human-readable display title", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+" }, "description": { "type": "string", "description": "Detailed description of the profile purpose", "maxLength": 256 }, "scepUrl": { "type": "string", "description": "Full SCEP server URL including scheme, host, and path (e.g., https://ca.example.com/scep)" }, "useControllerProxy": { "type": "boolean", "description": "If true, SCEP requests are routed through the controller proxy; if false, device connects directly to SCEP server" }, "secret": { "$ref": "#/definitions/CEPCommonSCEPProfileSecrets", "description": "Write-only secret fields (challenge password). Not returned in GET responses." }, "encryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Encrypted secret data (set by server, do not modify)" }, "cryptoKey": { "type": "string", "description": "Encryption key reference (set by server, do not modify)" }, "caCertPem": { "type": "array", "items": { "type": "string", "format": "byte" }, "description": "PEM-encoded trusted CA certificates for SCEP server validation (per RFC8894 section 2.2)" }, "csrProfile": { "$ref": "#/definitions/CEPCommonCSRProfile", "description": "Certificate Signing Request configuration including subject DN, SANs, and key parameters" }, "enterpriseId": { "type": "string", "description": "Enterprise ID owning this profile", "readOnly": true }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "Object revision information", "readOnly": true }, "projectsList": { "type": "array", "items": { "$ref": "#/definitions/CEPCommonProjectReference" }, "description": "Projects referencing this CEP profile (populated only when showProjectsList=true)", "readOnly": true } }, "description": "SCEP Certificate Enrollment Profile for obtaining certificates from a SCEP server", "title": "SCEP Profile", "required": [ "name", "scepUrl", "caCertPem", "csrProfile" ] } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "CertificateEnrollmentProfileConfiguration" ] } }, "/v1/ceps/name/{name}": { "get": { "summary": "Get certificate enrollment profile by name", "description": "Get the configuration of a certificate enrollment profile by its unique name.", "operationId": "CertificateEnrollmentProfileConfiguration_GetCEPByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/CEPCommonSCEPProfile" } }, "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": "name", "description": "User defined name of the CEP profile", "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": [ "CertificateEnrollmentProfileConfiguration" ] } }, "/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" }, "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}/attestation": { "get": { "summary": "Get edge node PCR attestation", "description": "Get the PCR attestation of an edge node record if present.", "operationId": "EdgeNodeConfiguration_GetEdgeNodeAttestation", "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" } } }, "/v1/devices/id/{id}/baseos/upgrade/retry": { "put": { "summary": "Retry baseos upgrade on the edge node.", "description": "Retry baseos upgrade on the edge node.", "operationId": "EdgeNodeConfiguration_BaseOsUpgradeRetryEdgeNode", "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}/deactivate": { "put": { "summary": "Deactivate edge node.", "description": "Deactivate an edge node. If already in inactive state no action is taken.", "operationId": "EdgeNodeConfiguration_DeActivateEdgeNode", "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}/debug/disable": { "put": { "summary": "Stop debug mode on the edge node.", "description": "Stop debug mode on the edge node.", "operationId": "EdgeNodeConfiguration_StopDebugEdgeNode", "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}/debug/enable": { "put": { "summary": "Start debug mode on the edge node.", "description": "Start debug mode on the edge node.", "operationId": "EdgeNodeConfiguration_StartDebugEdgeNode", "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": { "debugKnob": { "type": "boolean", "description": "debug knob flag" }, "expiry": { "type": "string", "format": "uint64", "description": "debug expiry time in minutes" }, "expired": { "type": "boolean", "description": "debug knob expiry status flag" } }, "description": "Device debug knob configuration request payload holds the device debug mode properties", "title": "Device debug knob configuration" } }, { "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}/edgeview/clientscript": { "get": { "summary": "Get edgeview client script of the edge node.", "description": "Get edgeview client script of the edge node after edgeview is started.", "operationId": "EdgeNodeConfiguration_GetEdgeviewClientScript", "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" } } }, "/v1/devices/id/{id}/edgeview/disable": { "put": { "summary": "Stop edgeview on the edge node.", "description": "Stop edgeview on the edge node.", "operationId": "EdgeNodeConfiguration_StopEdgeviewEdgeNode", "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}/edgeview/enable": { "put": { "summary": "Start edgeview on the edge node.", "description": "Start edgeview on the edge node.", "operationId": "EdgeNodeConfiguration_StartEdgeviewEdgeNode", "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": { "debugKnob": { "type": "boolean", "description": "debug knob flag" }, "expiry": { "type": "string", "format": "uint64", "description": "debug expiry time in minutes" }, "expired": { "type": "boolean", "description": "debug knob expiry status flag" } }, "description": "Device debug knob configuration request payload holds the device debug mode properties", "title": "Device debug knob configuration" } }, { "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}/offboard": { "put": { "summary": "Offoard the edge-ndoe", "description": "The API is used for offbaording the device from the enterprise", "operationId": "EdgeNodeConfiguration_Offboard", "responses": { "200": { "description": "Success. The API gateway offboarded the edge-node successfully..", "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" } } }, "/v1/devices/id/{id}/onboarding": { "get": { "summary": "Get edge node onboarding certificate", "description": "Get the onboarding certificate of an edge node record if present, only valid for edge nodes that have not been onboarded.", "operationId": "EdgeNodeConfiguration_GetEdgeNodeOnboarding", "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" } } }, "/v1/devices/id/{id}/preparepoweroff": { "put": { "summary": "Shutdown applications on edge node.", "description": "Shutdown application instance on edge node in preparation for power off and equipment movement.", "operationId": "EdgeNodeConfiguration_PreparePowerOff", "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}/publish": { "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_UpdateEdgeNodeBaseOS2", "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}/reboot": { "put": { "summary": "Reboot edge node.", "description": "Reboot an edge node remotely. This operation triggers reboot event. Please check bla-bla for device reboot status.", "operationId": "EdgeNodeConfiguration_Reboot", "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}/status": { "get": { "summary": "Get edge node status", "description": "Get the status of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeStatus", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceStatusMsg" } }, "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", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/id/{id}/status/edgeview": { "get": { "summary": "Get edge node edgeview status", "description": "Get the edgeview status of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeEdgeviewStatus", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceRawMetrics" } }, "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", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/id/{id}/status/info": { "get": { "summary": "Get edge node info", "description": "Get the info of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeInfo", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceInfoMsg" } }, "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", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/id/{id}/status/metrics/raw": { "get": { "summary": "Get edge node raw status", "description": "Get the raw status of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeRawStatus", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceRawMetrics" } }, "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", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/id/{id}/suimage": { "get": { "summary": "Get edge node single-use EVE image details", "description": "Get details of a single use EVE image for an edge node.", "operationId": "EdgeNodeConfiguration_GetEdgeNodeSingleUseEVEImage", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceSingleUseImageResp" } }, "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" } }, "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", "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" } }, "post": { "summary": "Create edge node single-use EVE image", "description": "Create a single use EVE image for an edge node.", "operationId": "EdgeNodeConfiguration_CreateEdgeNodeSingleUseEVEImage", "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": "id", "description": "unique id for a device", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "imageTag": { "type": "string", "description": "eve image tag to use", "title": "EVE image tag (e.g. '12.2.1-kvm-amd64')" }, "imageType": { "type": "object", "$ref": "#/definitions/DeviceGenerateImageType", "description": "image type", "title": "Default: installer" }, "installDisk": { "type": "string", "description": "set particular disk to install EVE (default: use any free disk found)", "title": "EVE installation disk (e.g. 'sda')" }, "persistDisk": { "type": "string", "description": "set particular disk to use for persistent data (volumes, logs, etc.).", "title": "EVE persist disk (e.g. 'sdb')" }, "archVariant": { "type": "object", "$ref": "#/definitions/DeviceGenerateImageArchVariant", "description": "default: Generic", "title": "Architecture type fpr ARM images" } }, "description": "Device Generate Single-use EVE Image config payload holds the device properties for generating a single-use EVE image", "title": "Device Generate Single-use EVE Image config", "required": [ "imageTag", "imageType" ] } }, { "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}/suimage/link": { "get": { "summary": "Get edge node single-use EVE image download link", "description": "Get download link of a single use EVE image for an edge node.", "operationId": "EdgeNodeConfiguration_GetEdgeNodeSingleUseEVEImageDownloadLink", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceSingleUseImageDownloadLinkResp" } }, "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" } }, "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", "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}/unpublish": { "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_UpdateEdgeNodeBaseOS3", "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/{objid}/events": { "get": { "summary": "Get edge node events by id", "description": "Get configuration and status events of an edge node by id.", "operationId": "EdgeNodeStatus_GetEdgeNodeEvents", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/EventQueryResponse" } }, "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": "objid", "description": "Object id", "in": "path", "required": true, "type": "string" }, { "name": "startTime", "description": "start time in timestamp", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "description": "end time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "severity", "description": "severity", "in": "query", "required": false, "type": "string" }, { "name": "resource", "description": "resource", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/id/{objid}/timeSeries/{mType}": { "get": { "summary": "Get edge node resource usage timeline", "description": "Get the resource usage timeline of an edge node", "operationId": "EdgeNodeStatus_GetEdgeNodeResourceMetricsById", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/MetricQueryResponse" } }, "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": "objid", "in": "path", "required": true, "type": "string" }, { "name": "mType", "in": "path", "required": true, "type": "string", "enum": [ "UNSPECIFIED", "CPU_TOTAL", "CPU_USAGE", "MEMORY_TOTAL", "MEMORY_UTILIZATION", "NETWORK_TOTAL", "NETWORK_RATES", "EVENTS_COUNT", "STORAGE_UTILIZATION", "STORAGE_IO_ZPOOL", "STORAGE_IO_ZVOL" ] }, { "name": "startTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "interval", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/interfaces/tags": { "get": { "summary": "Query device interface tags", "description": "Device Interface tags LIST API is to fetch the interfaces tags attached to a device.", "operationId": "EdgeNodeConfiguration_GetDeviceInterfaceTags", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ObjectTagsList" } }, "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": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "EdgeNodeConfiguration" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/name/{name}": { "get": { "summary": "Get edge node by name", "description": "Get the configuration (without security details) of an edge node record.", "operationId": "EdgeNodeConfiguration_GetEdgeNodeByName", "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": "name", "description": "user defined device name 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/name/{name}/status": { "get": { "summary": "Get edge node status", "description": "Get the status of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeStatusByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceStatusMsg" } }, "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": "name", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/name/{name}/status/edgeview": { "get": { "summary": "Get edge node edgeview status by edge node name", "description": "Get the edgeview status of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeEdgeviewStatusByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceRawMetrics" } }, "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": "name", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/name/{name}/status/info": { "get": { "summary": "Get edge node info", "description": "Get the info of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeInfoByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceInfoMsg" } }, "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": "name", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/name/{name}/status/metrics/raw": { "get": { "summary": "Get edge node raw status", "description": "Get the raw status of an edge node as reported by the edge node itself", "operationId": "EdgeNodeStatus_GetEdgeNodeRawStatusByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceRawMetrics" } }, "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": "name", "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": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/name/{objname}/events": { "get": { "summary": "Get edge node events by id", "description": "Get configuration and status events of an edge node by id.", "operationId": "EdgeNodeStatus_GetEdgeNodeEventsByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/EventQueryResponse" } }, "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": "objname", "description": "Object name", "in": "path", "required": true, "type": "string" }, { "name": "startTime", "description": "start time in timestamp", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "description": "end time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "severity", "description": "severity", "in": "query", "required": false, "type": "string" }, { "name": "resource", "description": "resource", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/name/{objname}/timeSeries/{mType}": { "get": { "summary": "Get edge node resource usage timeline", "description": "Get the resource usage timeline of an edge node", "operationId": "EdgeNodeStatus_GetEdgeNodeResourceMetricsByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/MetricQueryResponse" } }, "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": "objname", "in": "path", "required": true, "type": "string" }, { "name": "mType", "in": "path", "required": true, "type": "string", "enum": [ "UNSPECIFIED", "CPU_TOTAL", "CPU_USAGE", "MEMORY_TOTAL", "MEMORY_UTILIZATION", "NETWORK_TOTAL", "NETWORK_RATES", "EVENTS_COUNT", "STORAGE_UTILIZATION", "STORAGE_IO_ZPOOL", "STORAGE_IO_ZVOL" ] }, { "name": "startTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "interval", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/serial/{serialno}": { "get": { "summary": "Get edge node by serial number", "description": "Get the configuration (without security details) of an edge node record.", "operationId": "EdgeNodeConfiguration_GetEdgeNodeBySerial", "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": "serialno", "description": "unique identity number of the 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/status": { "get": { "summary": "Query status of edge nodes", "description": "Query the status of edge nodes as reported by the edge nodes themselves", "operationId": "EdgeNodeStatus_QueryEdgeNodeStatus", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceStatusListMsg" } }, "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", "in": "query", "required": false, "type": "boolean" }, { "name": "runState", "in": "query", "required": false, "type": "string", "enum": [ "UNSPECIFIED", "ONLINE", "HALTED", "INIT", "REBOOTING", "OFFLINE", "UNKNOWN", "UNPROVISIONED", "PROVISIONED", "SUSPECT", "DOWNLOADING", "RESTARTING", "PURGING", "HALTING", "ERROR", "VERIFYING", "LOADING", "CREATING_VOLUME", "BOOTING", "MAINTENANCE_MODE", "START_DELAYED", "BASEOS_UPDATING", "PREPARING_POWEROFF", "POWERING_OFF", "PREPARED_POWEROFF" ], "default": "UNSPECIFIED" }, { "name": "projectName", "in": "query", "required": false, "type": "string" }, { "name": "load", "in": "query", "required": false, "type": "string", "enum": [ "UNSPECIFIED", "FREE", "MODERATE", "HEAVY" ], "default": "UNSPECIFIED" }, { "name": "namePattern", "in": "query", "required": false, "type": "string" }, { "name": "tags", "in": "query", "required": false, "type": "string" }, { "name": "projectNamePattern", "in": "query", "required": false, "type": "string" }, { "name": "deviceName", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "fields", "description": "Fields to select for composite api: id, name, title, serialNo, projectId, projectName, isEveLatest, appInstCount, runState, adminState.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "adminState", "description": " - 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": "eveLtsSupportType", "description": "filter devices by eve version support type i.e LTS OR NON_LTS", "in": "query", "required": false, "type": "string", "enum": [ "SUPPORT_TYPE_UNSPECIFIED", "SUPPORT_TYPE_LTS", "SUPPORT_TYPE_NON_LTS" ], "default": "SUPPORT_TYPE_UNSPECIFIED" }, { "name": "includeInterfaces", "description": "flag to indicate whether to include network interface details in the response", "in": "query", "required": false, "type": "boolean" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "EdgeNodeStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/status-config": { "get": { "summary": "Query device status and config", "description": "Device status config API is a composite API for device config and device status", "operationId": "HardwareModel_GetDeviceStatusConfig", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceStatusConfigList" } }, "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", "in": "query", "required": false, "type": "boolean" }, { "name": "runState", "in": "query", "required": false, "type": "string", "enum": [ "UNSPECIFIED", "ONLINE", "HALTED", "INIT", "REBOOTING", "OFFLINE", "UNKNOWN", "UNPROVISIONED", "PROVISIONED", "SUSPECT", "DOWNLOADING", "RESTARTING", "PURGING", "HALTING", "ERROR", "VERIFYING", "LOADING", "CREATING_VOLUME", "BOOTING", "MAINTENANCE_MODE", "START_DELAYED", "BASEOS_UPDATING", "PREPARING_POWEROFF", "POWERING_OFF", "PREPARED_POWEROFF" ], "default": "UNSPECIFIED" }, { "name": "projectName", "in": "query", "required": false, "type": "string" }, { "name": "load", "in": "query", "required": false, "type": "string", "enum": [ "UNSPECIFIED", "FREE", "MODERATE", "HEAVY" ], "default": "UNSPECIFIED" }, { "name": "namePattern", "in": "query", "required": false, "type": "string" }, { "name": "tags", "in": "query", "required": false, "type": "string" }, { "name": "projectNamePattern", "in": "query", "required": false, "type": "string" }, { "name": "deviceName", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "fields", "description": "Fields to select for composite api: id, name, title, serialNo, projectId, projectName, isEveLatest, appInstCount, runState, adminState.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "adminState", "description": " - 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": "eveLtsSupportType", "description": "filter devices by eve version support type i.e LTS OR NON_LTS", "in": "query", "required": false, "type": "string", "enum": [ "SUPPORT_TYPE_UNSPECIFIED", "SUPPORT_TYPE_LTS", "SUPPORT_TYPE_NON_LTS" ], "default": "SUPPORT_TYPE_UNSPECIFIED" }, { "name": "includeInterfaces", "description": "flag to indicate whether to include network interface details in the response", "in": "query", "required": false, "type": "boolean" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/status/locations": { "get": { "summary": "Query device status location", "description": "Query device status locations", "operationId": "HardwareModel_GetDeviceStatusLocation", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/DeviceLocations" } }, "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", "in": "query", "required": false, "type": "boolean" }, { "name": "runState", "in": "query", "required": false, "type": "string", "enum": [ "UNSPECIFIED", "ONLINE", "HALTED", "INIT", "REBOOTING", "OFFLINE", "UNKNOWN", "UNPROVISIONED", "PROVISIONED", "SUSPECT", "DOWNLOADING", "RESTARTING", "PURGING", "HALTING", "ERROR", "VERIFYING", "LOADING", "CREATING_VOLUME", "BOOTING", "MAINTENANCE_MODE", "START_DELAYED", "BASEOS_UPDATING", "PREPARING_POWEROFF", "POWERING_OFF", "PREPARED_POWEROFF" ], "default": "UNSPECIFIED" }, { "name": "projectName", "in": "query", "required": false, "type": "string" }, { "name": "load", "in": "query", "required": false, "type": "string", "enum": [ "UNSPECIFIED", "FREE", "MODERATE", "HEAVY" ], "default": "UNSPECIFIED" }, { "name": "namePattern", "in": "query", "required": false, "type": "string" }, { "name": "tags", "in": "query", "required": false, "type": "string" }, { "name": "projectNamePattern", "in": "query", "required": false, "type": "string" }, { "name": "deviceName", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "fields", "description": "Fields to select for composite api: id, name, title, serialNo, projectId, projectName, isEveLatest, appInstCount, runState, adminState.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "adminState", "description": " - 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": "eveLtsSupportType", "description": "filter devices by eve version support type i.e LTS OR NON_LTS", "in": "query", "required": false, "type": "string", "enum": [ "SUPPORT_TYPE_UNSPECIFIED", "SUPPORT_TYPE_LTS", "SUPPORT_TYPE_NON_LTS" ], "default": "SUPPORT_TYPE_UNSPECIFIED" }, { "name": "includeInterfaces", "description": "flag to indicate whether to include network interface details in the response", "in": "query", "required": false, "type": "boolean" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/devices/tags": { "get": { "summary": "Query device object tag key-values", "description": "Query device object tag key-values", "operationId": "HardwareModel_GetDeviceTags", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ObjectTagsList" } }, "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": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/pcrtemplate/id/{id}": { "put": { "summary": "Update pcr template", "description": "Update a pcr template record. The usual pattern to update a pcr template record is to retrieve the record and update with the modified values in a new body to update the pcr template record.", "operationId": "HardwareModel_UpdatePCRTemplate", "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 defined universally unique Id of the PCR template. If not set in POST / PUT API calls, this will be treated as a new entry and a unique System Generated ID assigned.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "eveVersion": { "type": "string", "description": "EVE version related to the PCR template" }, "firmwareVersion": { "type": "string", "description": "Firmware version related to the PCR template. If user doesn't set it, it will be set to '*'" }, "PCRValues": { "type": "array", "items": { "$ref": "#/definitions/PCRValue" }, "description": "List of PCR values for the PCR template" }, "name": { "type": "string", "description": "Name of the PCR template. The name is Unique among PCR templates for that System Model. If it is not specified, a system-generated name will be assigned.", "maxLength": 256 } }, "description": "PCR template data for the specified eve version and firmware version", "title": "PCR template", "required": [ "eveVersion", "PCRValues" ] } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/pcrtemplates/id/{id}": { "get": { "summary": "Query pcr template", "description": "Query pcr template by id. ", "operationId": "HardwareModel_GetPCRTemplateById", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/PCRTemplatesInfo" } }, "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": "id", "description": "System defined universally unique Id of the pcr template", "in": "path", "required": true, "type": "string" }, { "name": "modelId", "description": "Device model identifier", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "delete": { "summary": "Delete pcr template", "description": "Delete an pcr template record.", "operationId": "HardwareModel_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 defined universally unique Id of the pcr template", "in": "path", "required": true, "type": "string" }, { "name": "modelId", "description": "Device model identifier", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects": { "get": { "summary": "Query resource groups", "description": "Query the resource group records.", "operationId": "ResourceGroup_QueryResourceGroups", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/Tags" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Resource group name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "type", "description": "Resource group type to ne matched.\n\n - TAG_TYPE_UNSPECIFIED: Unspecified\n - TAG_TYPE_GENERIC: Generic resource group\n - TAG_TYPE_PROJECT: Project resource group\n - TAG_TYPE_AZURE: Project resource group\n - TAG_TYPE_DEPLOYMENT: Project with deployment", "in": "query", "required": false, "type": "string", "enum": [ "TAG_TYPE_UNSPECIFIED", "TAG_TYPE_GENERIC", "TAG_TYPE_PROJECT", "TAG_TYPE_AZURE", "TAG_TYPE_DEPLOYMENT" ], "default": "TAG_TYPE_UNSPECIFIED" }, { "name": "tags", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "fields", "description": "Fields to select: id, name, title, description, revision, type, attr, appPolicy, cloudPolicy, modulePolicy, numdevices, attestationPolicy, networkPolicy, edgeviewPolicy", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "post": { "summary": "Create resource group", "description": "Create a resource group record.", "operationId": "ResourceGroup_CreateResourceGroup", "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 resource group record will conflict with an already existing resource group 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/Tag" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/id/{id}": { "get": { "summary": "Get resource group", "description": "Get the configuration (without security details) of a resource group record.", "operationId": "ResourceGroup_GetResourceGroup", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/Tag" } }, "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 defined universally unique Id of the resource group", "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": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "delete": { "summary": "Delete resource group", "description": "Delete a resource group record.", "operationId": "ResourceGroup_DeleteResourceGroup", "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 defined universally unique Id of the resource group", "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": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "put": { "summary": "Update resource group", "description": "Update a resource group record. The usual pattern to update a resource group record is to retrieve the record and update with the modified values in a new body to update the resource group record.", "operationId": "ResourceGroup_UpdateResourceGroup", "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 resource group 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", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/TagUpdate_HttpRequest" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/id/{id}/status": { "get": { "summary": "Get resource group status", "description": "Get the status (without security details) of a resource group record.", "operationId": "ResourceGroupStatus_GetResourceGroupStatusById", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/TagStatusMsg" } }, "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 defined universally unique Id of the resource group", "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": [ "ResourceGroupStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/id/{objid}/events": { "get": { "summary": "Get resource group events by id", "description": "Get configuration and status events of a resource group by id.", "operationId": "ResourceGroup_GetResourceGroupEvents", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/EventQueryResponse" } }, "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": "objid", "description": "Object id", "in": "path", "required": true, "type": "string" }, { "name": "startTime", "description": "start time in timestamp", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "description": "end time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "severity", "description": "severity", "in": "query", "required": false, "type": "string" }, { "name": "resource", "description": "resource", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/id/{objid}/timeSeries/{mType}": { "get": { "summary": "Get resource group resource usage timeline", "description": "Get the resource usage timeline of a resource group as reported by the edge nodes in the resource group", "operationId": "ResourceGroup_GetResourceGroupResourceMetricsById", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/MetricQueryResponse" } }, "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": "objid", "in": "path", "required": true, "type": "string" }, { "name": "mType", "in": "path", "required": true, "type": "string", "enum": [ "UNSPECIFIED", "CPU_TOTAL", "CPU_USAGE", "MEMORY_TOTAL", "MEMORY_UTILIZATION", "NETWORK_TOTAL", "NETWORK_RATES", "EVENTS_COUNT", "STORAGE_UTILIZATION", "STORAGE_IO_ZPOOL", "STORAGE_IO_ZVOL" ] }, { "name": "startTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "interval", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/name/{name}": { "get": { "summary": "Get resource group", "description": "Get the configuration (without security details) of a resource group record.", "operationId": "ResourceGroup_GetResourceGroupByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/Tag" } }, "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": "name", "description": "User defined name of the resource group, unique across the enterprise. Once resource group is created, name can\u2019t be changed.", "in": "path", "required": true, "type": "string" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/name/{name}/status": { "get": { "summary": "Get resource group status", "description": "Get the status (without security details) of a resource group record.", "operationId": "ResourceGroupStatus_GetResourceGroupStatusByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/TagStatusMsg" } }, "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": "name", "description": "User defined name of the resource group, unique across the enterprise. Once resource group is created, name can\u2019t be changed.", "in": "path", "required": true, "type": "string" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroupStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/name/{objname}/events": { "get": { "summary": "Get resource group events by name", "description": "Get configuration and status events of a resource group by name.", "operationId": "ResourceGroup_GetResourceGroupEventsByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/EventQueryResponse" } }, "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": "objname", "description": "Object name", "in": "path", "required": true, "type": "string" }, { "name": "startTime", "description": "start time in timestamp", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "description": "end time", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "severity", "description": "severity", "in": "query", "required": false, "type": "string" }, { "name": "resource", "description": "resource", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/name/{objname}/timeSeries/{mType}": { "get": { "summary": "Get resource group resource usage timeline", "description": "Get the resource usage timeline of a resource group as reported by the edge nodes in the resource group", "operationId": "ResourceGroup_GetResourceGroupResourceMetricsByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/MetricQueryResponse" } }, "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": "objname", "in": "path", "required": true, "type": "string" }, { "name": "mType", "in": "path", "required": true, "type": "string", "enum": [ "UNSPECIFIED", "CPU_TOTAL", "CPU_USAGE", "MEMORY_TOTAL", "MEMORY_UTILIZATION", "NETWORK_TOTAL", "NETWORK_RATES", "EVENTS_COUNT", "STORAGE_UTILIZATION", "STORAGE_IO_ZPOOL", "STORAGE_IO_ZVOL" ] }, { "name": "startTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "interval", "in": "query", "required": false, "type": "string", "format": "date-time" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/status": { "get": { "summary": "Query resource groups status", "description": "Query the resource group status records.", "operationId": "ResourceGroupStatus_QueryResourceGroupStatus", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/TagStatusListMsg" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Resource group name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "status", "description": "Resource group status to be matched.", "in": "query", "required": false, "type": "integer", "format": "int32" }, { "name": "type", "description": "Resource group type to ne matched.\n\n - TAG_TYPE_UNSPECIFIED: Unspecified\n - TAG_TYPE_GENERIC: Generic resource group\n - TAG_TYPE_PROJECT: Project resource group\n - TAG_TYPE_AZURE: Project resource group\n - TAG_TYPE_DEPLOYMENT: Project with deployment", "in": "query", "required": false, "type": "string", "enum": [ "TAG_TYPE_UNSPECIFIED", "TAG_TYPE_GENERIC", "TAG_TYPE_PROJECT", "TAG_TYPE_AZURE", "TAG_TYPE_DEPLOYMENT" ], "default": "TAG_TYPE_UNSPECIFIED" }, { "name": "tags", "description": "Resource group type to be matched with tags.", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "fields", "description": "Fields to select: id, name, status", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroupStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/status-config": { "get": { "summary": "Query resource groups status and config", "description": "Query the resource group status and config records.", "operationId": "ResourceGroupStatus_QueryResourceGroupStatusConfig", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/TagsConfigStatus" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Resource group name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "status", "description": "Resource group status to be matched.", "in": "query", "required": false, "type": "integer", "format": "int32" }, { "name": "type", "description": "Resource group type to ne matched.\n\n - TAG_TYPE_UNSPECIFIED: Unspecified\n - TAG_TYPE_GENERIC: Generic resource group\n - TAG_TYPE_PROJECT: Project resource group\n - TAG_TYPE_AZURE: Project resource group\n - TAG_TYPE_DEPLOYMENT: Project with deployment", "in": "query", "required": false, "type": "string", "enum": [ "TAG_TYPE_UNSPECIFIED", "TAG_TYPE_GENERIC", "TAG_TYPE_PROJECT", "TAG_TYPE_AZURE", "TAG_TYPE_DEPLOYMENT" ], "default": "TAG_TYPE_UNSPECIFIED" }, { "name": "tags", "description": "Resource group type to be matched with tags.", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "fields", "description": "Fields to select: id, name, status", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroupStatus" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/projects/tags": { "get": { "summary": "Query resource group tag key-values", "description": "Query resource group tag key-values", "operationId": "ResourceGroup_GetResourceGroupTags", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ObjectTagsList" } }, "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": "filter.objId", "description": "Object Id which tags are associated.", "in": "query", "required": false, "type": "string" }, { "name": "filter.objName", "description": "Object name which tags are associated.", "in": "query", "required": false, "type": "string" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels": { "get": { "summary": "Query hardware models", "description": "Query the hardware model records.", "operationId": "HardwareModel_QueryHardwareModels", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModels" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Model name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "brandId", "description": "System defined universally unique Id of the brand.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "originType", "description": "origin of object\n\n - ORIGIN_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - ORIGIN_IMPORTED: Object imported from global enterprise.\n - ORIGIN_LOCAL: Objectl created locally.\n - ORIGIN_GLOBAL: Object created in global store,\nto use this type user should have root previlage.\n - ORIGIN_APP_PROFILE_LOCAL: Object created via App profile", "in": "query", "required": false, "type": "string", "enum": [ "ORIGIN_UNSPECIFIED", "ORIGIN_IMPORTED", "ORIGIN_LOCAL", "ORIGIN_GLOBAL", "ORIGIN_APP_PROFILE_LOCAL" ], "default": "ORIGIN_UNSPECIFIED" }, { "name": "includeGlobal", "description": "Include global models that are not imported.", "in": "query", "required": false, "type": "boolean" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "post": { "summary": "Create hardware model", "description": "Create a hardware model record.", "operationId": "HardwareModel_CreateHardwareModel", "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 hardware model record will conflict with an already existing hardware model 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/SysModel" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels/global": { "get": { "summary": "Query global hardware models", "description": "Query the global hardware model records.", "operationId": "HardwareModel_QueryGlobalHardwareModels", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModels" } }, "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": "Only summary of the records required", "in": "query", "required": false, "type": "boolean" }, { "name": "namePattern", "description": "Model name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "brandId", "description": "System defined universally unique Id of the brand.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "originType", "description": "origin of object\n\n - ORIGIN_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - ORIGIN_IMPORTED: Object imported from global enterprise.\n - ORIGIN_LOCAL: Objectl created locally.\n - ORIGIN_GLOBAL: Object created in global store,\nto use this type user should have root previlage.\n - ORIGIN_APP_PROFILE_LOCAL: Object created via App profile", "in": "query", "required": false, "type": "string", "enum": [ "ORIGIN_UNSPECIFIED", "ORIGIN_IMPORTED", "ORIGIN_LOCAL", "ORIGIN_GLOBAL", "ORIGIN_APP_PROFILE_LOCAL" ], "default": "ORIGIN_UNSPECIFIED" }, { "name": "includeGlobal", "description": "Include global models that are not imported.", "in": "query", "required": false, "type": "boolean" }, { "name": "next.pageToken", "description": "Page Token", "in": "query", "required": false, "type": "string" }, { "name": "next.orderBy", "description": "OrderBy helps in sorting the list response", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "next.pageNum", "description": "Page Number", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.pageSize", "description": "Defines the page size", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "next.totalPages", "description": "Total number of pages to be fetched.", "in": "query", "required": false, "type": "number", "format": "int64" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels/global/id/{id}": { "get": { "summary": "Get global hardware model", "description": "Get the configuration (without security details) of a global hardware model record.", "operationId": "HardwareModel_GetGlobalHardwareModel", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModel" } }, "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 defined universally unique Id of the model", "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": [ "HardwareModel" ] } }, "/v1/sysmodels/global/name/{name}": { "get": { "summary": "Get global hardware model", "description": "Get the configuration (without security details) of a global hardware model record.", "operationId": "HardwareModel_GetGlobalHardwareModelByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModel" } }, "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": "name", "description": "User defined name of the model, unique across the enterprise. Once model is created, name can\u2019t be changed.", "in": "path", "required": true, "type": "string" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ] } }, "/v1/sysmodels/id/{id}": { "get": { "summary": "Get hardware model", "description": "Get the configuration (without security details) of a hardware model record.", "operationId": "HardwareModel_GetHardwareModel", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModel" } }, "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 defined universally unique Id of the model", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "delete": { "summary": "Delete hardware model", "description": "Delete a hardware model record.", "operationId": "HardwareModel_DeleteHardwareModel", "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 defined universally unique Id of the model", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "put": { "summary": "Update hardware model", "description": "Update a hardware model. The usual pattern to update a hardware model record is to retrieve the record and update with the modified values in a new body to update the hardware model record.", "operationId": "HardwareModel_UpdateHardwareModel", "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 hardware model 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 defined universally unique Id of the model.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "user defined model name", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "title": { "type": "string", "description": "User defined title of the model. Title can be changed at any time.", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+" }, "brandId": { "type": "string", "description": "System defined universally unique Id of the brand.", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12", "uniqueItems": true }, "description": { "type": "string", "description": "Detailed description of the model.", "maxLength": 256 }, "state": { "$ref": "#/definitions/SysModelState", "description": "SysModel State which denotes the status of the model" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "Object Revision of the model", "readOnly": true }, "type": { "$ref": "#/definitions/ModelArchType", "description": "Defines the Architecture type of the model" }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of which defines attr" }, "productStatus": { "type": "string", "description": "Product status" }, "productURL": { "type": "string", "description": "Product URL" }, "brandName": { "type": "string", "description": "Brand name." }, "ioMemberList": { "type": "array", "items": { "$ref": "#/definitions/ioMember" }, "description": "List of IoMembers" }, "logo": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of which holds the key:url for the logo artifact of the model" }, "parentDetail": { "$ref": "#/definitions/ObjectParentDetail", "description": "origin and parent related details" }, "originType": { "$ref": "#/definitions/Origin", "description": "origin of object" }, "PCRTemplates": { "type": "array", "items": { "$ref": "#/definitions/PCRTemplate" }, "description": "PCR templates keyed by EVE version" }, "isImported": { "type": "boolean", "description": "Flag to represent whether sysModel is imported" } }, "description": "SysModel consists of various model attributes like id, name, title, brandId etc", "title": "SysModel payload details", "required": [ "name", "title", "brandId", "state", "type", "attr", "originType" ] } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels/id/{id}/import": { "put": { "summary": "Import hardware model to local enterprise if it is not already imported and return imported model information.", "description": "Import hardware model to local enterprise if it is not already imported and return model information.", "operationId": "HardwareModel_ImportHardwareModel", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModel" } }, "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 defined universally unique Id of the model", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels/id/{id}/pcrtemplates": { "get": { "summary": "Query pcr templates", "description": "Query pcr template records. ", "operationId": "HardwareModel_GetPCRTemplates", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/PCRTemplatesInfo" } }, "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": "id", "description": "System defined universally unique Id of the model.", "in": "path", "required": true, "type": "string" }, { "name": "name", "description": "PCR template name.", "in": "query", "required": false, "type": "string" }, { "name": "eveImageVersion", "description": "PCR template eve version.", "in": "query", "required": false, "type": "string" }, { "name": "namePattern", "description": "PCR template name pattern to be matched.", "in": "query", "required": false, "type": "string" }, { "name": "eveImageVersionPattern", "description": "PCR template eve image version pattern to be matched", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "post": { "summary": "Create pcr templates", "description": "Create a list of pcr templates.", "operationId": "HardwareModel_CreatePCRTemplates", "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" } }, "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", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PCRTemplatesReq" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels/id/{modelId}/pcrtemplates/name/{name}": { "get": { "summary": "Query pcr template", "description": "Query pcr template by name. ", "operationId": "HardwareModel_GetPCRTemplateByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/PCRTemplatesInfo" } }, "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": "modelId", "description": "Device model identifier", "in": "path", "required": true, "type": "string" }, { "name": "name", "description": "User defined name of the pcr template, unique across a model ", "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": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v1/sysmodels/name/{name}": { "get": { "summary": "Get hardware model", "description": "Get the configuration (without security details) of a hardware model record.", "operationId": "HardwareModel_GetHardwareModelByName", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/SysModel" } }, "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": "name", "description": "User defined name of the model, unique across the enterprise. Once model is created, name can\u2019t be changed.", "in": "path", "required": true, "type": "string" }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "HardwareModel" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v2/projects": { "post": { "summary": "Create resource group", "description": "v2 API to create a resource group record.", "operationId": "ResourceGroup_CreateResourceGroupV2", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ZsrvResponse" } }, "202": { "description": "Accepted. The API gateway accepted the request and will process it asynchronously.", "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": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/Tag" } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v2/projects/id/{projectId}/deployments": { "get": { "summary": "Get deployment list in a project by ID", "description": "v2 API to get deployment list by project ID", "operationId": "ResourceGroup_GetDeploymentListbyIdv2", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/Deployments" } }, "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": "projectId", "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": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "delete": { "summary": "Delete all deployments in a project", "description": "v2 API to delete all deployments in a project by project ID.", "operationId": "ResourceGroup_DeleteResourceGroupAllV2", "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" } }, "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": "projectId", "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": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "post": { "summary": "Create deployment for a project", "description": "v2 API to create a deployment for an existing project", "operationId": "ResourceGroup_CreateDeployment", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/ZsrvResponse" } }, "202": { "description": "Accepted. The API gateway accepted the request and will process it asynchronously.", "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": "projectId", "description": "project id", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for an deployment" }, "name": { "type": "string", "description": "user defined name for the deployment" }, "title": { "type": "string", "description": "user defined title for the deployment" }, "appInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/AppInstPolicy" }, "description": "list of app instance policies" }, "networkInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/NetworkInstPolicy" }, "description": "list of network instance policies" }, "volumeInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/VolumeInstPolicy" }, "description": "list of volume instamce policies" }, "devicePolicies": { "type": "array", "items": { "$ref": "#/definitions/DevicePolicy" }, "description": "list of device policies" }, "integrationPolicy": { "$ref": "#/definitions/IntegrationPolicy", "description": "integration policy details" }, "clusterPolicy": { "$ref": "#/definitions/ClusterInstPolicy", "description": "cluster policy details" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "object revision" }, "deploymentTag": { "type": "string", "description": "user defined tag for the deployment, which is used while targeting set of devices" }, "edgeviewPolicy": { "$ref": "#/definitions/EdgeViewPolicy", "description": "edge view policy details" } } } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } }, "/v2/projects/id/{projectId}/deployments/id/{id}": { "get": { "summary": "Get specific deployment status in a project by project ID and deployment ID", "description": "v2 API to get project status by project ID", "operationId": "ResourceGroup_GetDeploymentByIdV2", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/Deployment" } }, "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": "projectId", "in": "path", "required": true, "type": "string" }, { "name": "id", "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": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "delete": { "summary": "Delete deployment in a project", "description": "v2 API to delete a specific deployment in a project by project ID and deployment ID.", "operationId": "ResourceGroup_DeleteResourceGroupV2", "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" } }, "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": "projectId", "in": "path", "required": true, "type": "string" }, { "name": "id", "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": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }, "put": { "summary": "Update deployment in a project", "description": "v2 API to update deployment in a project. The usual pattern to update deployment is to retrieve the record and update with the modified values in a new body to update the deployment record.", "operationId": "ResourceGroup_UpdateResourceGroupV2", "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" } }, "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": "projectId", "description": "project id", "in": "path", "required": true, "type": "string" }, { "name": "id", "description": "system generated unique id for an deployment", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "user defined name for the deployment" }, "title": { "type": "string", "description": "user defined title for the deployment" }, "appInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/AppInstPolicy" }, "description": "list of app instance policies" }, "networkInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/NetworkInstPolicy" }, "description": "list of network instance policies" }, "volumeInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/VolumeInstPolicy" }, "description": "list of volume instamce policies" }, "devicePolicies": { "type": "array", "items": { "$ref": "#/definitions/DevicePolicy" }, "description": "list of device policies" }, "integrationPolicy": { "$ref": "#/definitions/IntegrationPolicy", "description": "integration policy details" }, "clusterPolicy": { "$ref": "#/definitions/ClusterInstPolicy", "description": "cluster policy details" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "object revision" }, "deploymentTag": { "type": "string", "description": "user defined tag for the deployment, which is used while targeting set of devices" }, "edgeviewPolicy": { "$ref": "#/definitions/EdgeViewPolicy", "description": "edge view policy details" } } } }, { "name": "X-Request-Id", "in": "header", "required": false, "description": "User-Agent specified id to track a request", "type": "string" } ], "tags": [ "ResourceGroup" ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } } } }, "definitions": { "Acl": { "type": "object", "properties": { "matches": { "type": "array", "items": { "$ref": "#/definitions/Match" }, "description": "Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port" }, "actions": { "type": "array", "items": { "$ref": "#/definitions/AclAction" }, "description": "Chain of actions to be taken on matching network traffic" }, "name": { "type": "string", "description": "Name of the Access Control List" } } }, "AclAction": { "type": "object", "properties": { "drop": { "type": "boolean", "description": "Drop the packet", "title": "Not used by ZedUI" }, "limit": { "type": "boolean", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Limit action on ACL rule" }, "limitValue": { "$ref": "#/definitions/LimitParams", "description": "Value to be used for limit action (Required if limit is true)", "title": "only valid if limit flag is set, see below.\nNot used by ZedUI" }, "limitrate": { "type": "integer", "format": "int64", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Rate limit in ACL rule" }, "limitunit": { "type": "string", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Rate limit unit in ACL rule" }, "limitburst": { "type": "integer", "format": "int64", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Rate limit burst in ACL rule" }, "portmap": { "type": "boolean", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Enable device to app port mapping for incoming ACL rule, implicitly added by ZedUI code" }, "portmapto": { "$ref": "#/definitions/MapParams", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Device to app port mapping for incoming ACL rule" } } }, "AdapterUsage": { "type": "string", "enum": [ "ADAPTER_USAGE_UNSPECIFIED", "ADAPTER_USAGE_MANAGEMENT", "ADAPTER_USAGE_APP_DIRECT", "ADAPTER_USAGE_APP_SHARED", "ADAPTER_USAGE_DISABLED", "ADAPTER_USAGE_VLANS_ONLY", "ADAPTER_USAGE_BOND_MEMBER" ], "default": "ADAPTER_USAGE_UNSPECIFIED", "description": "- ADAPTER_USAGE_UNSPECIFIED: Adapter unspecified\n - ADAPTER_USAGE_MANAGEMENT: Adapter can be used by EVE as well as other Edge applications\n - ADAPTER_USAGE_APP_DIRECT: Adapter is directly used by one edge application\n - ADAPTER_USAGE_APP_SHARED: Adapter can be shared by different network instances\n - ADAPTER_USAGE_DISABLED: Adapter disabled, for future use\n - ADAPTER_USAGE_VLANS_ONLY: Adapter is used exclusively for VLANs\n - ADAPTER_USAGE_BOND_MEMBER: Adapter is used exclusively for BOND interfaces", "title": "Adapter Usage" }, "AdminState": { "type": "string", "enum": [ "ADMIN_STATE_UNSPECIFIED", "ADMIN_STATE_CREATED", "ADMIN_STATE_DELETED", "ADMIN_STATE_ACTIVE", "ADMIN_STATE_INACTIVE", "ADMIN_STATE_REGISTERED", "ADMIN_STATE_ARCHIVED" ], "default": "ADMIN_STATE_UNSPECIFIED", "description": "- ADMIN_STATE_CREATED: Entity Created in the controller\n - ADMIN_STATE_DELETED: Entity Deleted in the controller\n - ADMIN_STATE_ACTIVE: Entity Activated in the controller\n - ADMIN_STATE_INACTIVE: Entity Deactivated in the controller\n - ADMIN_STATE_REGISTERED: Specific to Edge-node - Edge-node Registered with the controller\n - ADMIN_STATE_ARCHIVED: Entity Archived in the controller", "title": "AdminState - On update, please update AdminState_HttpRequest as well" }, "AdminStateConfig_HttpRequestAdminState_HttpRequest": { "type": "string", "enum": [ "UNSPECIFIED", "CREATED", "DELETED", "ACTIVE", "INACTIVE", "REGISTERED", "ARCHIVED" ], "default": "UNSPECIFIED", "description": "- 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", "title": "AdminState_HttpRequest - Only for swagger documentation" }, "AllocationPolicy": { "type": "string", "enum": [ "ALLOCATION_POLICY_UNSPECIFIED", "ALLOCATION_POLICY_HASHED", "ALLOCATION_POLICY_GEOLATENCY", "ALLOCATION_POLICY_STATIC", "ALLOCATION_POLICY_CUSTOM" ], "default": "ALLOCATION_POLICY_UNSPECIFIED", "description": "Iot hub allocation policy." }, "AppAccessPolicy": { "type": "object", "properties": { "allowApp": { "type": "boolean", "title": "app side of edge-view access is allowed or not" } } }, "AppCategory": { "type": "string", "enum": [ "APP_CATEGORY_UNSPECIFIED", "APP_CATEGORY_OPERATING_SYSTEM", "APP_CATEGORY_INDUSTRIAL", "APP_CATEGORY_EDGE_APPLICATION", "APP_CATEGORY_NETWORKING", "APP_CATEGORY_SECURITY", "APP_CATEGORY_DATA_ANALYTICS", "APP_CATEGORY_CLOUD_APPLICATION", "APP_CATEGORY_DEVOPS", "APP_CATEGORY_OTHERS" ], "default": "APP_CATEGORY_UNSPECIFIED", "description": "- APP_CATEGORY_UNSPECIFIED: Invalid Edge Application Category\n - APP_CATEGORY_OPERATING_SYSTEM: Edge operating systems\n - APP_CATEGORY_INDUSTRIAL: Connectity solution for industrial protocols\n - APP_CATEGORY_EDGE_APPLICATION: Edge application framework featuring composite functions for data ingestion, buffering, analytics and export\n - APP_CATEGORY_NETWORKING: Edge networking services (e.g. SD-WAN, NFV)\n - APP_CATEGORY_SECURITY: Edge security services (e.g. protocol inspection, firewall)\n - APP_CATEGORY_DATA_ANALYTICS: Edge analytics (e.g. AI/ML) and data management (e.g. database, connectors) services\n - APP_CATEGORY_CLOUD_APPLICATION: Edge application runtimes, cloud connectivity and general application enablement\n - APP_CATEGORY_DEVOPS: Tools for Edge Application CI/CD and performance optimization\n - APP_CATEGORY_OTHERS: Miscellaneous functionality", "title": "Edge Application Category" }, "AppConfig": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the edge application", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the edge application, unique across the enterprise. Once object is created, name can\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "title": { "type": "string", "description": "User defined title of the edge application. 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 edge application", "maxLength": 256 }, "appId": { "type": "string", "description": "User defined name of the edge app, unique across the enterprise. Once app name is created, name can\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "networks": { "type": "integer", "format": "int64", "description": "user defined network options", "required": [ "networks" ] }, "drives": { "type": "integer", "format": "int64", "description": "user defined drives", "readOnly": true, "required": [ "drives" ] }, "cpus": { "type": "integer", "format": "int64", "description": "user defined cpus for bundle", "required": [ "cpus" ] }, "memory": { "type": "integer", "format": "int64", "description": "user defined memory for bundle", "required": [ "memory" ] }, "manifestJSON": { "$ref": "#/definitions/VMManifest", "description": "Manifest data" }, "parentDetail": { "$ref": "#/definitions/ObjectParentDetail", "description": "origin and parent related details" }, "originType": { "type": "object", "$ref": "#/definitions/Origin", "description": "origin of object", "required": [ "true" ] }, "appVersion": { "type": "string", "description": "Current version of the attached bundle" }, "nameProjectPart": { "type": "string", "description": "User provided name part for the auto deployed app" }, "nameAppPart": { "type": "string", "description": "User provided name part for the auto deployed app" }, "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": "^[^<%&?/\\>]+$" }, "namingScheme": { "$ref": "#/definitions/AppNamingScheme", "description": "app naming scheme" }, "interfaces": { "type": "array", "items": { "$ref": "#/definitions/appInterface" }, "description": "application interfaces" }, "storage": { "type": "integer", "format": "int64", "description": "user defined storage for bundle" }, "startDelayInSeconds": { "type": "integer", "format": "int64", "description": "start delay is the time in seconds EVE should wait after boot before starting the application instance" } }, "description": "Edge application configuration for an App policy defines configuration details of the Edge application to be installed to all Edge node(s) under the App policy.", "title": "Edge application configuration for App policy", "required": [ "name", "title", "manifestJSON", "networks", "drives", "cpus", "memory", "originType" ] }, "AppInstConfig": { "type": "object", "example": { "name": "sample-app", "title": "Sample Edge Applications", "originType": "ORIGIN_LOCAL" }, "properties": { "networks": { "type": "integer", "format": "int64", "description": "user defined network options" }, "drives": { "type": "integer", "format": "int64", "description": "user defined drives", "readOnly": true }, "cpus": { "type": "integer", "format": "int64", "description": "user defined cpus for bundle" }, "memory": { "type": "integer", "format": "int64", "description": "user defined memory for bundle" }, "manifestJSON": { "$ref": "#/definitions/VMManifest", "description": "user defined manifest in JSON format" }, "parentDetail": { "$ref": "#/definitions/ObjectParentDetail", "description": "origin and parent related details" }, "originType": { "$ref": "#/definitions/Origin", "description": "origin of object" }, "storage": { "type": "integer", "format": "int64", "description": "user defined storage for bundle" }, "nameProjectPart": { "type": "string", "description": "User provided name part for the auto deployed app" }, "nameAppPart": { "type": "string", "description": "User provided name part for the auto deployed app" }, "namingScheme": { "$ref": "#/definitions/AppNamingSchemeV2", "description": "app naming scheme" }, "interfaces": { "type": "array", "items": { "$ref": "#/definitions/appInterface" }, "description": "application interfaces" }, "startDelayInSeconds": { "type": "integer", "format": "int64", "description": "start delay is the time in seconds EVE should wait after boot before starting the application instance" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3.", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "bundleId": { "type": "string", "description": "User defined name of the edge app, unique across the enterprise. Once app name is created, name can\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "logs": { "$ref": "#/definitions/AppInstanceLogs", "description": "App Instance logs" }, "vminfo": { "$ref": "#/definitions/vm", "description": "virtual machine info" }, "remoteConsole": { "type": "boolean", "description": "Remote console flag" }, "newBundleVersionAvailable": { "type": "boolean", "description": "this flag denotes whether there is latest bundle available in the marketplace or not" }, "bundleVersion": { "type": "integer", "format": "int64", "description": "current bundle version" } }, "description": "Edge application gets installed/uninstalled to/from edge node(s) and perform specific edge computing tasks. Lifecycle of Edge application (upgrade/restart) on Edge node can be managed and monitored by ZEDEDA Cloud controller through this detailed configuration.", "title": "Edge application detailed configuration" }, "AppInstPolicy": { "type": "object", "properties": { "metaData": { "$ref": "#/definitions/PolicyCommon", "description": "all the required metadata for a policy like id, name, different types of tags" }, "appInstConfig": { "$ref": "#/definitions/AppInstConfig", "description": "app instance config for automated deployment" } } }, "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" ] }, "AppNamingScheme": { "type": "string", "enum": [ "APP_NAMING_SCHEME_UNSPECIFIED", "APP_NAMING_SCHEME_DEVICE", "APP_NAMING_SCHEME_APP_DEVICE", "APP_NAMING_SCHEME_PROJECT_DEVICE", "APP_NAMING_SCHEME_PROJECT_APP_DEVICE" ], "default": "APP_NAMING_SCHEME_UNSPECIFIED", "description": "type of name aliasing." }, "AppNamingSchemeV2": { "type": "string", "enum": [ "APP_NAMING_SCHEMEV2_UNSPECIFIED", "APP_NAMING_SCHEMEV2_DEVICE", "APP_NAMING_SCHEMEV2_APP_DEVICE", "APP_NAMING_SCHEMEV2_PROJECT_DEVICE", "APP_NAMING_SCHEMEV2_PROJECT_APP_DEVICE" ], "default": "APP_NAMING_SCHEMEV2_UNSPECIFIED", "description": "type of name aliasing." }, "AppPolicy": { "type": "object", "properties": { "apps": { "type": "array", "items": { "$ref": "#/definitions/AppConfig" }, "description": "list of app details that will be provisioned on all the devices of the project to which this policy is attached" } }, "description": "list of apps that will be provisioned on all the devices of the project to which this policy is attached", "title": "App policy body detail", "required": [ "apps" ] }, "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." }, "ArpMonitor": { "type": "object", "properties": { "interval": { "type": "integer", "format": "int64", "description": "Interval specifies the ARP link monitoring frequency in milliseconds." }, "ipTargets": { "type": "array", "items": { "type": "string" }, "description": "IpTargets specifies the IPv4 addresses to use as ARP monitoring peers.\nThese are the targets of ARP requests sent to determine the health of links." } }, "description": "ArpMonitor : ARP-based link monitoring parameters.\nDefined for BondAdapter." }, "AttestPolicyType": { "type": "string", "enum": [ "ATTEST_POLICY_TYPE_UNSPECIFIED", "ATTEST_POLICY_TYPE_ACCEPT", "ATTEST_POLICY_TYPE_ENFORCE" ], "default": "ATTEST_POLICY_TYPE_UNSPECIFIED", "description": " - ATTEST_POLICY_TYPE_ACCEPT: Do not enforce attestation. All devices are marked as successfully attested.\n - ATTEST_POLICY_TYPE_ENFORCE: Enforce attestation. Devices failing attestation are marked accordingly." }, "AttestState": { "type": "string", "enum": [ "ATTEST_STATE_UNSPECIFIED", "ATTEST_STATE_NONE", "ATTEST_STATE_FAIL", "ATTEST_STATE_PASS", "ATTEST_STATE_PASS_NO_PCR", "ATTEST_STATE_FAIL_NO_PCR" ], "default": "ATTEST_STATE_UNSPECIFIED" }, "AttestationPolicy": { "type": "object", "properties": { "id": { "type": "string", "description": "unique policy id", "readOnly": true, "pattern": "[0-9-a-z-]+" }, "type": { "$ref": "#/definitions/AttestPolicyType", "description": "Attestation policy type" } }, "description": "Attestation policy to enforce on all devices of the project", "title": "Attestation policy body detail", "required": [ "type" ] }, "Author": { "type": "object", "properties": { "user": { "type": "string", "description": "UI map: AppEditPage:DeveloperPane:Name_Field, AppDetailsPage:DeveloperPane:Name_Field", "title": "Name of the developer" }, "group": { "type": "string", "title": "Not used by ZedUI" }, "company": { "type": "string", "description": "UI map: AppEditPage:IdentityPane:Category_Field, AppDetailsPage:IdentityPane:Category_Field", "title": "Company of the developer" }, "website": { "type": "string", "description": "UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field", "title": "Website of the developer company" }, "email": { "type": "string", "description": "UI map: AppEditPage:DeveloperPane:Email_Field, AppDetailsPage:DeveloperPane:Email_Field", "title": "Contact email of the developer company" } } }, "AzurePolicy": { "type": "object", "properties": { "appId": { "type": "string", "description": "app id for rbac" }, "appPassword": { "type": "string", "description": "app password for rbac" }, "tenantId": { "type": "string", "description": "tenant id for rbac" }, "encryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" }, "description": "encrypted AppPassword" }, "cryptoKey": { "type": "string", "description": "key to decrypt AppPassword" }, "azureResourceAndServices": { "$ref": "#/definitions/AzureResourceAndServices", "description": "azure resource and service the policy will be interested in" }, "customDeploymentManaged": { "type": "boolean" }, "certificate": { "$ref": "#/definitions/Certificate", "description": "Certificate object holds the details of certificate like encryption type, validity, subject etc" } }, "description": "All azure policy related details that are required to provision an iot edge device and deploy a module on that.", "title": "Azure policy body detail", "required": [ "appId", "appPassword", "tenantId" ] }, "AzureResourceAndServiceDetail": { "type": "object", "properties": { "name": { "type": "string" }, "createByDefault": { "type": "boolean" }, "region": { "type": "string" }, "SKU": { "$ref": "#/definitions/SKUDetail" }, "subscriptionId": { "type": "string" }, "resourceGroupName": { "type": "string" } } }, "AzureResourceAndServices": { "type": "object", "properties": { "resourceGroup": { "type": "array", "items": { "$ref": "#/definitions/ResourceGroupDetail" }, "description": "list of resource groups attached to cloud policy" }, "iotHubService": { "type": "array", "items": { "$ref": "#/definitions/IotHubServiceDetail" }, "description": "list of iothubs attached to cloud policy" }, "dpsService": { "type": "object", "$ref": "#/definitions/DPSServiceDetail", "description": "dps service attached to cloud policy" } }, "description": "Azure resource request payload for cloud policy", "title": "Azure resource payload detail for cloud policy", "required": [ "resourceGroup", "iotHubService", "dpsService" ] }, "BaseOSImage": { "type": "object", "properties": { "uuid": { "type": "string", "description": "system generated unique id for an image" }, "version": { "type": "string", "description": "image version" }, "imageName": { "type": "string", "description": "image name" }, "activate": { "type": "boolean", "description": "activation flag" }, "imvolId": { "type": "string", "description": "immutable Volume for this base image" } }, "description": "Base OS image request details", "title": "Base OS image payload detail", "required": [ "uuid", "version", "imageName", "activate" ] }, "BlobStatus": { "type": "object", "properties": { "hash": { "type": "string" }, "refCount": { "type": "string", "format": "uint64" }, "swState": { "$ref": "#/definitions/SWState" }, "sizeMB": { "type": "string", "format": "uint64" } } }, "BondAdapter": { "type": "object", "properties": { "logicalLabel": { "type": "string", "description": "Logical name of this bond adapter" }, "interfaceName": { "type": "string", "description": "A physical name of the bond interface" }, "lowerLayerNames": { "type": "array", "items": { "type": "string" }, "description": "Logical names of aggregated PhysicalIOs" }, "bondMode": { "$ref": "#/definitions/BondMode", "description": "Bonding mode", "title": "A bonding mode specifies the policy indicating how bonding slaves are used\nduring network transmission" }, "mii": { "$ref": "#/definitions/MIIMonitor", "description": "MII monitor" }, "arp": { "$ref": "#/definitions/ArpMonitor", "description": "ARP monitor" }, "lacpRate": { "$ref": "#/definitions/LacpRate", "description": "LACPDU transmission rate in 802.3ad mode" }, "interface": { "$ref": "#/definitions/SysInterface", "description": "System Sub-Interface" } }, "description": "bondAdapter represents a single bond interface", "title": "bondAdapter payload detail" }, "BondMode": { "type": "string", "enum": [ "BOND_MODE_UNSPECIFIED", "BOND_MODE_BALANCE_RR", "BOND_MODE_ACTIVE_BACKUP", "BOND_MODE_BALANCE_XOR", "BOND_MODE_BROADCAST", "BOND_MODE_802_3AD", "BOND_MODE_BALANCE_TLB", "BOND_MODE_BALANCE_ALB" ], "default": "BOND_MODE_UNSPECIFIED", "description": "A bonding mode specifies the policy indicating how bonding slaves are used\nduring network transmission.\n\n - BOND_MODE_UNSPECIFIED: BOND_MODE_UNSPECIFIED : if bonding mode is not explicitly specified,\nthen by default Round-Robin policy is applied (BOND_MODE_BALANCE_RR).\n - BOND_MODE_BALANCE_RR: BOND_MODE_BALANCE_RR : transmit packets in sequential order from the first\navailable slave through the last. This mode provides load balancing\nand fault tolerance.\nThis is the default bonding mode.\n - BOND_MODE_ACTIVE_BACKUP: BOND_MODE_ACTIVE_BACKUP : only one slave in the bond is active.\nA different slave becomes active if, and only if, the active slave fails.\nThe bond's MAC address is externally visible on only one port to avoid\nconfusing the switch.\nThis mode provides fault tolerance.\n - BOND_MODE_BALANCE_XOR: BOND_MODE_BALANCE_XOR : packet source and destination MAC addresses are\nused to calculate hash and select the output slave interface accordingly.\nThis algorithm will place all traffic destined to a particular network\npeer on the same slave.\nThis mode provides load balancing and fault tolerance.\n - BOND_MODE_BROADCAST: BOND_MODE_BROADCAST: transmits everything on all slave interfaces.\nThis mode provides fault tolerance.\n - BOND_MODE_802_3AD: BOND_MODE_802_3AD : IEEE 802.3ad Dynamic link aggregation.\nCreates aggregation groups that share the same speed and duplex settings.\nUtilizes all slaves in the active aggregator according to the 802.3ad\nspecification.\nRequires that upstream networks equipment supports and has the IEEE 802.3ad\nDynamic link aggregation properly configured.\n - BOND_MODE_BALANCE_TLB: BOND_MODE_BALANCE_TLB : adaptive transmit load balancing. Channel bonding that\ndoes not require any special switch support. The outgoing traffic\nis distributed according to the current load (computed relative to the speed)\non each slave.\nIncoming traffic is received by the current slave. If the receiving slave\nfails, another slave takes over the MAC address of the failed receiving slave.\nThis mode provides (TX) load balancing and fault tolerance.\n - BOND_MODE_BALANCE_ALB: BOND_MODE_BALANCE_ALB : adaptive load balancing. Includes BOND_MODE_BALANCE_TLB\nplus receive load balancing (RLB) for IPV4 traffic, and does not require\nany special switch support. The receive load balancing is achieved by ARP\nnegotiation.\nThis mode provides load balancing and fault tolerance." }, "CEPCommonCSRProfile": { "type": "object", "properties": { "commonName": { "type": "string", "description": "Common Name (CN) - typically the device identifier or hostname" }, "organization": { "type": "string", "description": "Organization (O) - company or entity name" }, "organizationalUnit": { "type": "string", "description": "Organizational Unit (OU) - department or division" }, "country": { "type": "string", "description": "Country (C) - two-letter ISO country code" }, "state": { "type": "string", "description": "State or Province (ST)" }, "locality": { "type": "string", "description": "Locality (L) - city name" }, "sanUri": { "type": "array", "items": { "type": "string" }, "description": "URIs for Subject Alternative Name extension" }, "sanEmail": { "type": "array", "items": { "type": "string" }, "description": "Email addresses for Subject Alternative Name extension" }, "renewPeriodPercent": { "type": "integer", "format": "int64", "description": "Percentage of certificate validity period after which renewal should be attempted (e.g., 80 means renew when 80% of validity has passed)" }, "keyType": { "$ref": "#/definitions/CEPCommonKeyType", "description": "Key type and size for certificate key pair generation" }, "hashAlgorithm": { "$ref": "#/definitions/CEPCommonHashAlgorithm", "description": "Hash algorithm used for signing the CSR and SCEP messages" } }, "description": "Certificate Signing Request configuration including subject DN, SANs, and key parameters", "title": "CSR Profile", "required": [ "commonName" ] }, "CEPCommonHashAlgorithm": { "type": "string", "enum": [ "HASH_ALGORITHM_UNSPECIFIED", "HASH_ALGORITHM_SHA256", "HASH_ALGORITHM_SHA384", "HASH_ALGORITHM_SHA512" ], "default": "HASH_ALGORITHM_UNSPECIFIED", "title": "Supported hash algorithms for signing" }, "CEPCommonKeyType": { "type": "string", "enum": [ "KEY_TYPE_UNSPECIFIED", "KEY_TYPE_RSA_2048", "KEY_TYPE_RSA_3072", "KEY_TYPE_RSA_4096" ], "default": "KEY_TYPE_UNSPECIFIED", "title": "Supported key types (algorithm + parameters)" }, "CEPCommonProjectReference": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Project unique identifier" }, "projectName": { "type": "string", "description": "Project name" } }, "title": "ProjectReference represents a project that references a CEP profile" }, "CEPCommonSCEPProfile": { "type": "object", "properties": { "id": { "type": "string", "description": "System-generated unique identifier (UUID)", "readOnly": true }, "name": { "type": "string", "description": "User-defined unique name for the profile", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "title": { "type": "string", "description": "Human-readable display title", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+" }, "description": { "type": "string", "description": "Detailed description of the profile purpose", "maxLength": 256 }, "scepUrl": { "type": "string", "description": "Full SCEP server URL including scheme, host, and path (e.g., https://ca.example.com/scep)" }, "useControllerProxy": { "type": "boolean", "description": "If true, SCEP requests are routed through the controller proxy; if false, device connects directly to SCEP server" }, "secret": { "$ref": "#/definitions/CEPCommonSCEPProfileSecrets", "description": "Write-only secret fields (challenge password). Not returned in GET responses." }, "encryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Encrypted secret data (set by server, do not modify)" }, "cryptoKey": { "type": "string", "description": "Encryption key reference (set by server, do not modify)" }, "caCertPem": { "type": "array", "items": { "type": "string", "format": "byte" }, "description": "PEM-encoded trusted CA certificates for SCEP server validation (per RFC8894 section 2.2)" }, "csrProfile": { "$ref": "#/definitions/CEPCommonCSRProfile", "description": "Certificate Signing Request configuration including subject DN, SANs, and key parameters" }, "enterpriseId": { "type": "string", "description": "Enterprise ID owning this profile", "readOnly": true }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "Object revision information", "readOnly": true }, "projectsList": { "type": "array", "items": { "$ref": "#/definitions/CEPCommonProjectReference" }, "description": "Projects referencing this CEP profile (populated only when showProjectsList=true)", "readOnly": true } }, "description": "SCEP Certificate Enrollment Profile for obtaining certificates from a SCEP server", "title": "SCEP Profile", "required": [ "name", "scepUrl", "caCertPem", "csrProfile" ] }, "CEPCommonSCEPProfileSecrets": { "type": "object", "properties": { "challengePassword": { "type": "string", "description": "SCEP challenge password for certificate enrollment authentication" } } }, "CEPCommonSCEPProfiles": { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/CEPCommonSCEPProfile" }, "description": "List of SCEP profiles" }, "next": { "$ref": "#/definitions/Cursor", "description": "Pagination cursor for next page" } }, "description": "Paginated list of SCEP profiles", "title": "SCEP Profiles List" }, "Capabilities": { "type": "object", "properties": { "HWAssistedVirtualization": { "type": "boolean", "title": "VMX/SVM for amd64 or Arm virtualization extensions for arm64" }, "IOVirtualization": { "type": "boolean", "title": "I/O Virtualization support" } } }, "CellularAuthProtocol": { "type": "string", "enum": [ "CELLULAR_AUTH_PROTOCOL_NONE", "CELLULAR_AUTH_PROTOCOL_PAP", "CELLULAR_AUTH_PROTOCOL_CHAP", "CELLULAR_AUTH_PROTOCOL_PAP_AND_CHAP" ], "default": "CELLULAR_AUTH_PROTOCOL_NONE", "description": " - CELLULAR_AUTH_PROTOCOL_NONE: No authentication.\n - CELLULAR_AUTH_PROTOCOL_PAP: Password Authentication Protocol.\n - CELLULAR_AUTH_PROTOCOL_CHAP: Challenge-Handshake Authentication Protocol.\n - CELLULAR_AUTH_PROTOCOL_PAP_AND_CHAP: Both PAP and CHAP." }, "CellularMetrics": { "type": "object", "properties": { "ifName": { "type": "string", "description": "Network Interface name" }, "signalRSSI": { "type": "number", "format": "int32", "description": "Signal RSSI" }, "signalRSRQ": { "type": "number", "format": "int32", "description": "Signal RSRQ" }, "signalRSRP": { "type": "number", "format": "int32", "description": "Signal RSRP" }, "signalSNR": { "type": "number", "format": "int32", "description": "Signal SNR" }, "rxTotalPackets": { "type": "number", "format": "uint64", "description": "Rx Total Packets" }, "rxDrops": { "type": "number", "format": "uint64", "description": "Rx Drops" }, "rxTotalBytes": { "type": "number", "format": "uint64", "description": "Rx Total Bytes" }, "txTotalPackets": { "type": "number", "format": "uint64", "description": "Tx Total Packets" }, "txDrops": { "type": "number", "format": "uint64", "description": "Tx Drops" }, "txTotalBytes": { "type": "number", "format": "uint64", "description": "Tx Total Bytes" } }, "description": "CellularMetrics stores the Cellular Network Stats and Counters", "title": "CellularMetrics stores the Cellular Network Stats and Counters" }, "CellularStatus": { "type": "object", "properties": { "providers": { "type": "array", "items": { "$ref": "#/definitions/NetworkProvider" }, "description": "List of network providers" }, "modem": { "type": "object", "$ref": "#/definitions/ModemDetail", "description": "Modem detail" }, "simCards": { "type": "array", "items": { "$ref": "#/definitions/SIMCard" }, "description": "List of SIM Cards" } }, "description": "CellularStatus contains status information for a single cellular network", "title": "CellularStatus contains status information for a single cellular network" }, "CertDistinguishedName": { "type": "object", "properties": { "commonName": { "type": "string", "description": "Common Name (CN)" }, "serialNumber": { "type": "string", "description": "Serial Number (SERIALNUMBER)" }, "organization": { "type": "array", "items": { "type": "string" }, "description": "Organization (O)" }, "organizationalUnit": { "type": "array", "items": { "type": "string" }, "description": "Organizational Unit (OU)" }, "country": { "type": "array", "items": { "type": "string" }, "description": "Country (C)" }, "stateOrProvince": { "type": "array", "items": { "type": "string" }, "description": "State or Province (ST)" }, "locality": { "type": "array", "items": { "type": "string" }, "description": "Locality (L)" } }, "description": "CertDistinguishedName represents an X.509 distinguished name." }, "Certificate": { "type": "object", "properties": { "cert": { "type": "string", "description": "base64 string of the parent certificate", "title": "certificate details" }, "pvtKey": { "type": "string", "description": "base64 string of the parent pvt key" }, "publicKey": { "type": "string", "description": "base63 string of the public key" }, "passPhrase": { "type": "string", "description": "pass phase for the pvt key, this has to be filled if pvt key is encrypted with a pass phrase" }, "exportable": { "type": "boolean", "description": "Indicates if the private key can be exported." }, "reuseKey": { "type": "boolean", "description": "Indicates if the same key pair will be used on certificate renewal." }, "encryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" }, "description": "user encrypted secrets map", "title": "secrets encryption" }, "cryptoKey": { "type": "string", "description": "Crypto Key for decrypting user secret information" }, "publicKeyAlgorithm": { "type": "string", "description": "Public key algorithm.", "title": "encryption algorithm" }, "rsaEcryption": { "$ref": "#/definitions/RSA", "description": "RSA encryption algorithm of the certificate" }, "ecdsaEncryption": { "$ref": "#/definitions/ECDSA", "description": "ECDSA encryption algorithm of the certificate" }, "validFrom": { "type": "string", "format": "date-time", "description": "Certificate validatity start time", "title": "certificate validity" }, "validTill": { "type": "string", "format": "date-time", "description": "Certificate validatity start time" }, "sanValues": { "$ref": "#/definitions/SANValues", "description": "This holds the alternative name values like URIs, domain names IPs etc.", "title": "Subject alternative name values" }, "subject": { "$ref": "#/definitions/Subject", "description": "Parameters for the subject of the X509 component of a certificate." }, "issuer": { "$ref": "#/definitions/Subject", "description": "Parameters for the issuer of the X509 component of a certificate." }, "serialNumber": { "type": "string", "description": "Unique identifier for each Certificate generated by an Certificate Issuer. " }, "basicContraintsValid": { "type": "boolean", "description": "This fields tells the basic constraints like isCA are correct." }, "keyUsage": { "type": "integer", "format": "int32", "description": "Key usage extensions define the purpose of the public key contained in a certificate." }, "extendedKeyUsage": { "type": "array", "items": { "type": "string" }, "description": "Sequence of extended key usages." }, "signatureAlgorithm": { "type": "string" } } }, "CertificateEnrollmentDetail": { "type": "object", "properties": { "type": { "$ref": "#/definitions/EnrollmentType" }, "individualCertificateEnrollment": { "$ref": "#/definitions/IndividualCertificateEnrollment" }, "groupCertificateEnrollment": { "$ref": "#/definitions/GroupCertificateEnrollment" } } }, "ClusterConfig": { "type": "object", "properties": { "minNodesRequired": { "type": "integer", "format": "int64" } } }, "ClusterInstPolicy": { "type": "object", "properties": { "Id": { "type": "string" }, "Name": { "type": "string" }, "title": { "type": "string" }, "revision": { "$ref": "#/definitions/ObjectRevision" } } }, "ClusterNodeStatus": { "type": "object", "properties": { "age": { "type": "integer", "format": "int64" }, "internalIP": { "type": "string" }, "conditions": { "type": "string" }, "nodeType": { "$ref": "#/definitions/ClusterNodeType" } } }, "ClusterNodeType": { "type": "string", "enum": [ "CLUSTER_NODE_TYPE_UNSPECIFIED", "CLUSTER_NODE_TYPE_MASTER", "CLUSTER_NODE_TYPE_WORKER", "CLUSTER_NODE_TYPE_TIE_BREAKER" ], "default": "CLUSTER_NODE_TYPE_UNSPECIFIED" }, "ClusterPolicy": { "type": "object", "properties": { "type": { "$ref": "#/definitions/ClusterType", "description": "Type of cluster" }, "appPolicyID": { "type": "string", "description": "UUID of the app policy linked to this cluster policy", "pattern": "[0-9-a-z-]+" }, "networkPolicyID": { "type": "string", "description": "UUID of the network policy linked to this cluster policy", "pattern": "[0-9-a-z-]+" }, "clusterConfig": { "$ref": "#/definitions/ClusterConfig", "description": "Cluster Policy Parameters" } }, "description": "cluster policy to bring up cluster on devices in this project", "title": "Cluster policy body detail", "required": [ "type", "appPolicyID", "networkPolicyID" ] }, "ClusterType": { "type": "string", "enum": [ "CLUSTER_TYPE_UNSPECIFIED", "CLUSTER_TYPE_K3S", "CLUSTER_TYPE_TKG_ATTACH" ], "default": "CLUSTER_TYPE_UNSPECIFIED", "title": "- CLUSTER_TYPE_K3S: cluster type is k3s\n - CLUSTER_TYPE_TKG_ATTACH: cluster type is TKG, with subtype ATTACH" }, "CmdArg": { "type": "object", "properties": { "key": { "type": "string", "description": "Command line argument: key" }, "value": { "type": "string", "description": "Command line argument: value" } }, "description": "CmdArg store the passed command line key and values", "title": "CmdArg is used to store the command line arguments" }, "ConfigurationLock": { "type": "string", "enum": [ "CONFIGURATION_LOCK_UNSPECIFIED", "CONFIGURATION_LOCK_ENABLED", "CONFIGURATION_LOCK_DISABLED" ], "default": "CONFIGURATION_LOCK_UNSPECIFIED" }, "ConfigurationLockPolicy": { "type": "object", "properties": { "id": { "type": "string", "description": "unique policy id", "readOnly": true, "pattern": "[0-9-a-z-]+" }, "configLock": { "$ref": "#/definitions/ConfigurationLock", "description": "configuration lock setting" } }, "description": "Configuration lock policy to enforce on all devices of the project", "title": "configuration lock policy body detail", "required": [ "configLock" ] }, "ContainerDetail": { "type": "object", "properties": { "containerCreateOption": { "type": "string", "description": "Create options direct the creation of the Docker container", "title": "Base64 encoded container specific details" } }, "description": "common container detail." }, "CpuSummary": { "type": "object", "properties": { "Utilization": { "type": "number", "format": "double", "description": "CPU Utilization" } }, "description": "CPU Summary", "title": "CPU Summary" }, "Cursor": { "type": "object", "properties": { "pageToken": { "type": "string", "description": "Page Token" }, "orderBy": { "type": "array", "items": { "type": "string" }, "description": "OrderBy helps in sorting the list response" }, "pageNum": { "type": "number", "format": "int64", "description": "Page Number" }, "pageSize": { "type": "number", "format": "int64", "description": "Defines the page size" }, "totalPages": { "type": "number", "format": "int64", "description": "Total number of pages to be fetched." } }, "description": "Cursor helps in filtering the various list response like edge-app bundle list, model list, bundle list etc. ", "title": "Cursor is used as filter in list operation." }, "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": "#/definitions/CustomConfigVariableGroup" }, "description": "List of Variable groups. (Required)" } } }, "CustomConfigVariableGroup": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Variable Group(Required)" }, "variables": { "type": "array", "items": { "$ref": "#/definitions/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": { "$ref": "#/definitions/VariableGroupCondition", "description": "Condition to apply the variable group. (Optional. Default: None)" } } }, "DNSInfo": { "type": "object", "properties": { "servers": { "type": "array", "items": { "type": "string" }, "description": "Array of dns server" }, "domain": { "type": "string", "description": "domain name" }, "search": { "type": "array", "items": { "type": "string" }, "description": "Array of search strings" } }, "description": "DNSInfo is used to store Domain Name Server configuration. ", "title": "DNSInfo consists of DNS Configurations.", "required": [ "servers", "domain", "search" ] }, "DPSServiceDetail": { "type": "object", "properties": { "serviceDetail": { "$ref": "#/definitions/AzureResourceAndServiceDetail" }, "enrollment": { "$ref": "#/definitions/EnrollmentDetail" } } }, "DebugKnobDetail": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for a device", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "debugKnob": { "type": "boolean", "description": "debug knob flag" }, "expiry": { "type": "string", "format": "uint64", "description": "debug expiry time in minutes" }, "expired": { "type": "boolean", "description": "debug knob expiry status flag" } }, "description": "Device debug knob configuration request payload holds the device debug mode properties", "title": "Device debug knob configuration" }, "Deployment": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for an deployment" }, "name": { "type": "string", "description": "user defined name for the deployment" }, "title": { "type": "string", "description": "user defined title for the deployment" }, "appInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/AppInstPolicy" }, "description": "list of app instance policies" }, "networkInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/NetworkInstPolicy" }, "description": "list of network instance policies" }, "volumeInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/VolumeInstPolicy" }, "description": "list of volume instamce policies" }, "devicePolicies": { "type": "array", "items": { "$ref": "#/definitions/DevicePolicy" }, "description": "list of device policies" }, "integrationPolicy": { "$ref": "#/definitions/IntegrationPolicy", "description": "integration policy details" }, "clusterPolicy": { "$ref": "#/definitions/ClusterInstPolicy", "description": "cluster policy details" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "object revision" }, "deploymentTag": { "type": "string", "description": "user defined tag for the deployment, which is used while targeting set of devices" }, "projectId": { "type": "string", "description": "project id", "title": "Adding projectId to support for URL params" }, "edgeviewPolicy": { "$ref": "#/definitions/EdgeViewPolicy", "description": "edge view policy details" } } }, "DeploymentConfigSummary": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for an deployment" }, "name": { "type": "string", "description": "user defined deployment name" }, "title": { "type": "string", "description": "user defined deployment title" }, "appInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/PolicyCommon" }, "description": "list of app instance policies" }, "networkInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/PolicyCommon" }, "description": "list of network instance policies" }, "volumeInstPolicies": { "type": "array", "items": { "$ref": "#/definitions/PolicyCommon" }, "description": "list of volume instance policies" }, "devicePolicies": { "type": "array", "items": { "$ref": "#/definitions/PolicyCommon" }, "description": "list of device policies" }, "integrationPolicy": { "$ref": "#/definitions/PolicyCommon", "description": "integration policy details" }, "clusterPolicy": { "$ref": "#/definitions/PolicyCommon", "description": "cluster policy details" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "object revision details" }, "deploymentTag": { "type": "string", "description": "user defined tag for an deployment" }, "edgeViewPolicy": { "$ref": "#/definitions/PolicyCommon", "description": "edge view policy details" } } }, "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" }, "Deployments": { "type": "object", "properties": { "summaryByState": { "$ref": "#/definitions/Summary", "description": "deployment instance by summary" }, "list": { "type": "array", "items": { "$ref": "#/definitions/DeploymentConfigSummary" }, "description": "deployment instance summary list response" }, "next": { "$ref": "#/definitions/Cursor", "description": "cursor next" } } }, "Details": { "type": "object", "example": { "appCategory": "APP_CATEGORY_CLOUD_APPLICATION", "os": "Linux" }, "properties": { "category": { "type": "string", "default": "All", "description": "UI map: AppMarketplacePage:AppCard:DescriptionField, AppEditPage:IdentityPane:CategoryField, AppDetailsPage:IdentityPane:CategoryField", "title": "Type of the Edge application" }, "os": { "type": "string", "title": "Edge application's Operating System" }, "appCategory": { "$ref": "#/definitions/AppCategory", "default": "APP_CATEGORY_OTHERS", "title": "Edge application category" }, "logo": { "type": "object", "additionalProperties": { "type": "string" }, "description": "UI map: AppEditPage:IdentityPane:Logo, AppDetailsPage:IdentityPane:Logo", "title": "App Logo" }, "screenshotList": { "type": "object", "additionalProperties": { "type": "string" }, "description": "UI map: AppEditPage:IdentityPane:Screenshot_Fields, AppDetailsPage:IdentityPane:Screenshot_Fields", "title": "App Screenshots" }, "licenseList": { "type": "object", "additionalProperties": { "type": "string" }, "description": "UI map: AppMarketplacePage:AppCard:License, AppEditPage:IdentityPane:License, AppDetailsPage:IdentityPane:License", "title": "App Licenses" }, "support": { "type": "string", "description": "UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field", "title": "Support Description" }, "agreementList": { "type": "object", "additionalProperties": { "type": "string" }, "description": "UI map: AppEditPage:DeveloperPane:Developer_Agreement_Field, AppDetailsPage:DeveloperPane:Developer_Agreement_Field", "title": "Developer Agreements" } }, "description": "Edge Application Artifact Details", "title": "Edge Application detail", "required": [ "appCategory" ] }, "DevAccessPolicy": { "type": "object", "properties": { "allowDev": { "type": "boolean", "title": "device side of edge-view access is allowed or not" } } }, "DevDataSecAtRest": { "type": "object", "properties": { "status": { "$ref": "#/definitions/DeviceDataSecurityAtRestStatus" }, "name": { "type": "string" }, "errInfo": { "$ref": "#/definitions/DeviceError" } } }, "DevZedServer": { "type": "object", "properties": { "hostName": { "type": "string", "description": "Hostname for dev zed server" }, "EID": { "type": "array", "items": { "type": "string" }, "description": "EID" } }, "description": "DevZedServer request payload", "title": "DevZedServer payload detail", "required": [ "hostName", "EID" ] }, "DeviceAttestPolicyType": { "type": "string", "enum": [ "DEVICE_ATTEST_POLICY_TYPE_UNSPECIFIED", "DEVICE_ATTEST_POLICY_TYPE_ACCEPT", "DEVICE_ATTEST_POLICY_TYPE_ENFORCE" ], "default": "DEVICE_ATTEST_POLICY_TYPE_UNSPECIFIED", "description": " - DEVICE_ATTEST_POLICY_TYPE_ACCEPT: Do not enforce attestation. All devices are marked as successfully attested.\n - DEVICE_ATTEST_POLICY_TYPE_ENFORCE: Enforce attestation. Devices failing attestation are marked accordingly." }, "DeviceAttestationPolicy": { "type": "object", "properties": { "type": { "$ref": "#/definitions/DeviceAttestPolicyType", "description": "Attestation policy type" } }, "description": "Attestation policy to enforce on devices of a project", "title": "Attestation policy body detail", "required": [ "type" ] }, "DeviceBootReason": { "type": "string", "enum": [ "DEVICE_BOOT_REASON_UNSPECIFIED", "DEVICE_BOOT_REASON_FIRST", "DEVICE_BOOT_REASON_REBOOT_CMD", "DEVICE_BOOT_REASON_UPDATE", "DEVICE_BOOT_REASON_FALLBACK", "DEVICE_BOOT_REASON_DISCONNECT", "DEVICE_BOOT_REASON_FATAL", "DEVICE_BOOT_REASON_OOM", "DEVICE_BOOT_REASON_WATCHDOG_HUNG", "DEVICE_BOOT_REASON_WATCHDOG_PID", "DEVICE_BOOT_REASON_KERNEL", "DEVICE_BOOT_REASON_POWER_FAIL", "DEVICE_BOOT_REASON_UNKNOWN", "DEVICE_BOOT_REASON_VAULT_FAILED", "DEVICE_BOOT_REASON_POWEROFF_CMD", "DEVICE_BOOT_REASON_PARSE_FAIL" ], "default": "DEVICE_BOOT_REASON_UNSPECIFIED" }, "DeviceCerts": { "type": "object", "properties": { "pemCert": { "type": "string", "format": "byte", "description": "pem certificate" }, "pemKey": { "type": "string", "format": "byte", "description": "pem key" } }, "description": "Device certificates payload", "title": "DeviceCerts payload detail" }, "DeviceCmdsSubType": { "type": "string", "enum": [ "DeviceNoOp", "DeviceStart", "DeviceStop", "DeviceReboot", "DeviceShutdown", "DeviceUpdateOS", "DeviceApplyOS", "DeviceReset", "DeviceAddOS", "DeviceDropOS", "DeviceOffboard", "DeviceActivate", "DeviceDeActivate", "DeviceBaseosRetry", "DeviceStartDebugMode", "DeviceStopDebugMode", "PreparePowerOff", "DeviceStartEdgeviewMode", "DeviceStopEdgeviewMode", "DeviceEdgeviewClientScript" ], "default": "DeviceNoOp", "description": " - DeviceNoOp: Device Operation: No Operation\n - DeviceStart: Device Operation: Start\n - DeviceStop: Device Operation: Stop\n - DeviceReboot: Device Operation: Reboot: Power cycle the device\n - DeviceShutdown: Device Operation: Shutdown- Power off the device\n - DeviceUpdateOS: Device Operation: Update OS- deprecated\n - DeviceApplyOS: Device Operation: Apply OS- Change Boot order of installed images\n - DeviceReset: Device Operation: Reset- Config reset to factory default\n - DeviceAddOS: Device Operation: Add OS- Install new image but don't change boot order\n - DeviceDropOS: Device Operation: Drop OS- Remove uninstalled image but don't change boot order\n - DeviceOffboard: Device Operation Type: offboard the device\n - DeviceActivate: Device Activate\n - DeviceDeActivate: Device Deactivate\n - DeviceBaseosRetry: Device Operation: Retry OS\n - DeviceStartDebugMode: Device Operation: Run device in debug mode.\n - DeviceStopDebugMode: Device Operation: Stop device in debug mode.\n - PreparePowerOff: Device Operation: Gracefully shutdown all apps and prepare for power down.\n - DeviceStartEdgeviewMode: Device Operation: Run device in edgeview mode.\n - DeviceStopEdgeviewMode: Device Operation: Stop device in edgeview mode.\n - DeviceEdgeviewClientScript: Device Operation: get Edgeview client script if activated." }, "DeviceConfig": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for a device", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "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" ] }, "DeviceConfigList": { "type": "object", "properties": { "summaryByState": { "type": "object", "$ref": "#/definitions/Summary", "description": "Summary by state" }, "summaryByTagDistribution": { "type": "object", "$ref": "#/definitions/Summary", "description": "Summary by project distribution" }, "list": { "type": "array", "items": { "$ref": "#/definitions/DeviceConfigSummary" }, "description": "device config list" }, "next": { "type": "object", "$ref": "#/definitions/Cursor", "description": "filter next" } }, "description": "Device configuration request payload", "title": "Device configuration payload detail", "required": [ "summaryByState", "list", "next" ] }, "DeviceConfigLock": { "type": "string", "enum": [ "DEVICE_CONFIG_LOCK_UNSPECIFIED", "DEVICE_CONFIG_LOCK_ENABLED", "DEVICE_CONFIG_LOCK_DISABLED" ], "default": "DEVICE_CONFIG_LOCK_UNSPECIFIED" }, "DeviceConfigSummary": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for a device", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "name": { "type": "string", "description": "user specified device name" }, "title": { "type": "string", "description": "user specified title" }, "description": { "type": "string", "description": "user specified description" }, "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" }, "adminState": { "type": "object", "$ref": "#/definitions/AdminState", "description": "administrative state of device" }, "modelId": { "type": "string", "description": "device model" }, "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 }, "baseImage": { "type": "array", "items": { "$ref": "#/definitions/BaseOSImage" }, "description": "base images" }, "interfaces": { "type": "array", "items": { "$ref": "#/definitions/SysInterface" }, "description": "System Interface list" }, "debugKnob": { "type": "object", "$ref": "#/definitions/DebugKnobDetail", "description": "debug knob details for the device" }, "deploymentTag": { "type": "string", "description": "user defined tag for the device, which is used while deploying policies." }, "vlanAdapters": { "type": "array", "items": { "$ref": "#/definitions/vlanAdapter" }, "description": "A list of VLAN adapters" }, "revision": { "type": "object", "$ref": "#/definitions/ObjectRevision", "description": "Object revision details" }, "bondAdapter": { "type": "array", "items": { "$ref": "#/definitions/BondAdapter" }, "description": "A list of Bond adapters" } }, "description": "Device Configuration request payload holds the device properties", "title": "Device Configuration payload summary", "required": [ "name", "title", "projectId", "modelId" ] }, "DeviceDataSecurityAtRestStatus": { "type": "string", "enum": [ "DEVICE_DATA_SECURITY_AT_REST_UNKNOWN", "DEVICE_DATA_SECURITY_AT_REST_DISABLED", "DEVICE_DATA_SECURITY_AT_REST_ENABLED", "DEVICE_DATA_SECURITY_AT_REST_ERROR" ], "default": "DEVICE_DATA_SECURITY_AT_REST_UNKNOWN" }, "DeviceEntity": { "type": "object", "properties": { "entity": { "$ref": "#/definitions/Entity" }, "entityId": { "type": "string" }, "entityName": { "type": "string" } } }, "DeviceError": { "type": "object", "properties": { "description": { "type": "string", "description": "Description of the error" }, "severity": { "type": "string", "$ref": "#/definitions/Severity", "description": "Severity of the error" }, "timestamp": { "type": "object", "format": "date-time", "description": "Timestamp at which error had occurred" }, "entities": { "type": "array", "items": { "$ref": "#/definitions/DeviceEntity" }, "description": "objects referenced by the description or retry_condition" }, "retryCondition": { "type": "string", "description": "condition for retry" } }, "description": "DeviceError store the error occurred at the device side", "title": "DeviceError is used to store the error details of the hardware.", "required": [ "description", "severity", "timestamp", "entities" ] }, "DeviceGenerateImageArchVariant": { "type": "string", "enum": [ "Generic", "Fr201", "Jetson" ], "default": "Generic" }, "DeviceGenerateImageType": { "type": "string", "enum": [ "Installer", "Live" ], "default": "Installer" }, "DeviceHWSecurityModuleStatus": { "type": "string", "enum": [ "DEVICE_HW_SECURITY_MODULE_STATUS_UNSPECIFIED", "DEVICE_HW_SECURITY_MODULE_STATUS_NOT_FOUND", "DEVICE_HW_SECURITY_MODULE_STATUS_DISABLED", "DEVICE_HW_SECURITY_MODULE_STATUS_ENABLED" ], "default": "DEVICE_HW_SECURITY_MODULE_STATUS_UNSPECIFIED" }, "DeviceImageGenerateStatus": { "type": "string", "enum": [ "Unavailable", "Starting", "InProgress", "DownloadingContainerImage", "RunningContainer", "UploadingImage", "Successful", "Failed" ], "default": "Unavailable" }, "DeviceInfo": { "type": "object", "properties": { "machineArch": { "type": "string" }, "cpuArch": { "type": "string" }, "platform": { "type": "string" }, "nCpu": { "type": "integer", "format": "int64" }, "memMB": { "type": "string", "format": "uint64" }, "storageMB": { "type": "string", "format": "uint64" } } }, "DeviceInfoMsg": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" }, "adminState": { "$ref": "#/definitions/AdminState" }, "runState": { "$ref": "#/definitions/RunState" }, "upTime": { "type": "string", "format": "date-time" }, "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.", "title": "deprecated = 6;", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "lastUpdate": { "type": "string", "format": "date-time" }, "bootTime": { "type": "string", "format": "date-time" }, "netStatusList": { "type": "array", "items": { "$ref": "#/definitions/NetworkStatus" } }, "dns": { "$ref": "#/definitions/DNSInfo" }, "ioStatusList": { "type": "array", "items": { "$ref": "#/definitions/IoBundleStatus" } }, "storageList": { "type": "array", "items": { "$ref": "#/definitions/StorageStatus" } }, "blobList": { "type": "array", "items": { "$ref": "#/definitions/BlobStatus" } }, "netCounterList": { "type": "array", "items": { "$ref": "#/definitions/NetworkCounters" } }, "hostName": { "type": "string" }, "swInfo": { "type": "array", "items": { "$ref": "#/definitions/DeviceSWInfo" } }, "zcCounters": { "type": "array", "items": { "$ref": "#/definitions/ZedcloudCounters" } }, "rawStatus": { "type": "string" }, "Memory": { "$ref": "#/definitions/MemorySummary", "description": "memory - OBSOLETE. Use memorySummary instead." }, "Storage": { "$ref": "#/definitions/StorageSummary" }, "minfo": { "$ref": "#/definitions/ZManufacturerInfo" }, "dinfo": { "$ref": "#/definitions/DeviceInfo" }, "Cpu": { "$ref": "#/definitions/CpuSummary" }, "lastRebootReason": { "type": "string" }, "lastRebootTime": { "type": "string", "format": "date-time" }, "dataSecInfo": { "type": "array", "items": { "$ref": "#/definitions/DevDataSecAtRest" } }, "devError": { "type": "array", "items": { "$ref": "#/definitions/DeviceError" } }, "projectId": { "type": "string" }, "title": { "type": "string" }, "attestState": { "$ref": "#/definitions/AttestState" }, "deviceRebootReason": { "$ref": "#/definitions/DeviceBootReason" }, "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 }, "memorySummary": { "$ref": "#/definitions/DeviceMemorySummary", "description": "Device memory Info" }, "capabilities": { "$ref": "#/definitions/Capabilities", "description": "Edge node virtualization capabilities.", "title": "Information about hardware capabilities" }, "debugKnob": { "type": "boolean", "title": "debug knob expiry time" }, "debugKnobExpiryTime": { "type": "string", "format": "date-time" }, "physicalStorage": { "type": "array", "items": { "$ref": "#/definitions/PhysicalStorage" } }, "zpoolMetrics": { "$ref": "#/definitions/StorageDeviceMetrics", "description": "Last received counters for zpool metrics." }, "cellularMetrics": { "type": "array", "items": { "$ref": "#/definitions/CellularMetrics" }, "description": "Last received cellular metrics." }, "ntpSources": { "$ref": "#/definitions/NtpSources", "description": "List of peers describing to which NTP daemon (e.g. chronyd) is synchronized on EVE side" }, "optionalCapabilities": { "$ref": "#/definitions/OptionalCapabilities", "description": "Optional capabilities of the device" }, "clusterNodeStatus": { "$ref": "#/definitions/ClusterNodeStatus", "description": "Cluster node status" }, "apiCapability": { "$ref": "#/definitions/infoAPICapability", "title": "API Capabilities" }, "memoryReport": { "$ref": "#/definitions/ECCMemoryReport" }, "hardwareInfo": { "$ref": "#/definitions/HardwareInfo" }, "memoryReportStatus": { "$ref": "#/definitions/ECCMemoryReportStatus" }, "enrolledCerts": { "type": "array", "items": { "$ref": "#/definitions/EnrolledCertInfo" }, "description": "Certificates enrolled via SCEP on the device", "title": "Certificates enrolled via SCEP" }, "pnacMetrics": { "type": "array", "items": { "$ref": "#/definitions/PNACMetricInfo" }, "description": "PNAC 802.1X authentication metrics per network port", "title": "PNAC (802.1X) authentication metrics per port" } } }, "DeviceLBConfig": { "type": "object", "properties": { "interface": { "type": "string" }, "startIP": { "type": "string" }, "endIP": { "type": "string" } } }, "DeviceLBConfigList": { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/DeviceLBConfig" } } } }, "DeviceLisp": { "type": "object", "properties": { "lispMapServers": { "type": "array", "items": { "$ref": "#/definitions/LispServer" }, "description": "List of Lisp servers" }, "lispInstance": { "type": "number", "format": "int64", "description": "LISP instance" }, "EID": { "type": "string", "description": "EID" }, "EIDHashLen": { "type": "number", "format": "int64", "description": "EID hash length" }, "zedServers": { "type": "array", "items": { "$ref": "#/definitions/DevZedServer" }, "description": "Zed development servers" }, "eidAllocationPrefix": { "type": "string", "format": "byte", "description": "EID allocation prefix" }, "eidAllocationPrefixLen": { "type": "number", "format": "int64", "description": "EID allocation prefix length" }, "clientAddr": { "type": "string", "description": "Client Address" }, "mode": { "type": "string", "description": "TEMP : flag to indicate which version of LISP data plane should be running on the device" } }, "description": "DeviceLisp request payload", "title": "DeviceLisp payload detail", "required": [ "lispMapServers", "lispInstance", "EID", "EIDHashLen", "zedServers", "eidAllocationPrefix", "eidAllocationPrefixLen", "clientAddr", "mode" ] }, "DeviceLoadConfig_HttpRequestDeviceLoad_HttpRequest": { "type": "string", "enum": [ "UNSPECIFIED", "FREE", "MODERATE", "HEAVY" ], "default": "UNSPECIFIED", "title": "DeviceLoad_HttpRequest - Only for swagger documentation" }, "DeviceLocation": { "type": "object", "properties": { "location": { "type": "string" }, "count": { "type": "integer", "format": "int64" } } }, "DeviceLocations": { "type": "object", "properties": { "deviceLocations": { "type": "array", "items": { "$ref": "#/definitions/DeviceLocation" } }, "next": { "$ref": "#/definitions/Cursor" } } }, "DeviceMemorySummary": { "type": "object", "properties": { "deviceMemoryMB": { "type": "number", "format": "double", "description": "Total memory on the device.", "title": "deviceMemoryMB >= allocatedForAppsMB + allocatedForEveMB" }, "allocatedAppsMB": { "type": "number", "format": "double", "description": "Total memory allocated to app instances." }, "allocatedEveMB": { "type": "number", "format": "double", "description": "Total memory allocated to EVE on the device." }, "usedEveMB": { "type": "number", "format": "double", "description": "Memory currently used by EVE on the device.", "title": "usedByEveMB <= allocatedForEveMB" }, "availableForNewApps": { "type": "number", "format": "double", "description": "Memory Available for new app-instances on the device.", "title": "availableForNewApps = deviceMemoryMB - ( allocatedForAppsMB + allocatedForEveMB )" } }, "description": "DeviceMemorySummary encapsulates the memory status of the device.", "title": "Device Memory Information message" }, "DevicePCRPolicy": { "type": "object", "properties": { "pcrIndices": { "type": "array", "items": { "type": "integer", "format": "int64" }, "description": "list of PCR indices to include in the policy" }, "policyVersion": { "type": "integer", "format": "int64", "description": "policy version for audit purposes" } }, "description": "PCR policy to define which TPM PCR registers to use for volume key sealing", "title": "PCR policy body detail", "required": [ "pcrIndices" ] }, "DevicePolicy": { "type": "object", "properties": { "metaData": { "$ref": "#/definitions/PolicyCommon", "description": "all the required metadata for a policy like id, name, different types of tags" }, "policySubType": { "$ref": "#/definitions/DevicePolicyType", "description": "device policy type" }, "attestationPolicy": { "$ref": "#/definitions/DeviceAttestationPolicy", "description": "device attestation policy" }, "pcrPolicy": { "$ref": "#/definitions/DevicePCRPolicy", "description": "PCR policy for TPM volume key sealing" }, "portBasedNetworkAccessControlPolicy": { "$ref": "#/definitions/DevicePortBasedNetworkAccessControlPolicy", "description": "port based network access control (802.1X) policy for devices" } } }, "DevicePolicyType": { "type": "string", "enum": [ "DEVICE_POLICY_TYPE_UNSPECIFIED", "DEVICE_POLICY_TYPE_ATTESTATION", "DEVICE_POLICY_TYPE_PCR", "DEVICE_POLICY_TYPE_PORT_BASED_NETWORK_ACCESS_CONTROL" ], "default": "DEVICE_POLICY_TYPE_UNSPECIFIED" }, "DevicePortBasedNetworkAccessControlPolicy": { "type": "object", "properties": { "enablePortBasedNetworkAccessControl": { "type": "boolean", "description": "Enable or disable port based network access control (802.1X). When disabled, other fields are ignored." }, "eapMethod": { "$ref": "#/definitions/EAPMethod", "description": "EAP method to use for port based network access control. Only EAP-TLS is supported currently." }, "eapIdentity": { "type": "string", "description": "EAP identity string used for authentication", "title": "EAP identity string used for authentication" }, "certificateEnrollmentId": { "type": "string", "description": "ID of the certificate enrollment object used for 802.1X authentication", "title": "Reference to the certificate enrollment object used for 802.1X authentication" } }, "description": "Port based network access control policy (802.1X) to enforce on devices of a project", "title": "Port based network access control policy" }, "DeviceRawMetrics": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" }, "rawMetrics": { "type": "string" } } }, "DeviceSWInfo": { "type": "object", "properties": { "activated": { "type": "boolean" }, "partitionLabel": { "type": "string" }, "partitionDevice": { "type": "string" }, "partitionState": { "type": "string" }, "status": { "$ref": "#/definitions/SWState" }, "shortVersion": { "type": "string" }, "longVersion": { "type": "string" }, "swError": { "$ref": "#/definitions/DeviceError" }, "downloadProgress": { "type": "integer", "format": "int64" }, "swStatus": { "$ref": "#/definitions/DeviceSWStatus" }, "swSubStatus": { "$ref": "#/definitions/DeviceSWSubStatus" }, "swSubStatusStr": { "type": "string" }, "subStatusProgress": { "type": "integer", "format": "int64" }, "isLTS": { "type": "boolean", "description": "flag to indicate device running LTS eve version or not" } } }, "DeviceSWStatus": { "type": "string", "enum": [ "DEVICE_SW_STATUS_UNSPECIFIED", "DEVICE_SW_STATUS_DOWNLOADING", "DEVICE_SW_STATUS_DOWNLOADDONE", "DEVICE_SW_STATUS_UPDATING", "DEVICE_SW_STATUS_UPDATED", "DEVICE_SW_STATUS_FALLBACK", "DEVICE_SW_STATUS_FAILED" ], "default": "DEVICE_SW_STATUS_UNSPECIFIED" }, "DeviceSWSubStatus": { "type": "string", "enum": [ "DEVICE_SW_SUB_STATUS_UNSPECIFIED", "DEVICE_SW_SUB_STATUS_DOWNLOAD_IN_PROGRESS", "DEVICE_SW_SUB_STATUS_VERIFY_IN_PROGRESS", "DEVICE_SW_SUB_STATUS_UPDATE_INITIALIZING", "DEVICE_SW_SUB_STATUS_UPDATE_REBOOTING", "DEVICE_SW_SUB_STATUS_UPDATE_TESTING", "DEVICE_SW_SUB_STATUS_UPDATE_NEED_TEST_CONFIRM", "DEVICE_SW_SUB_STATUS_UPDATE_DEFERRED" ], "default": "DEVICE_SW_SUB_STATUS_UNSPECIFIED" }, "DeviceSingleUseImageDownloadLinkResp": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for a device", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "link": { "type": "string", "description": "link to download the image" } } }, "DeviceSingleUseImageResp": { "type": "object", "properties": { "deviceId": { "type": "string", "description": "Device ID", "uniqueItems": true }, "enterpriseId": { "type": "string", "description": "Enterprise ID", "uniqueItems": true }, "generationstatus": { "type": "object", "$ref": "#/definitions/DeviceImageGenerateStatus", "description": "Single Use EVE image generation status" } }, "description": "Device Single-Use Image info", "title": "Device Single-Use Image info" }, "DeviceStatusConfigList": { "type": "object", "properties": { "summaryByState": { "$ref": "#/definitions/Summary", "description": "Device status config summary by state" }, "summaryByAppInstanceCount": { "$ref": "#/definitions/Summary", "description": "Device status config summary by app instance count" }, "summaryByEVEDistribution": { "$ref": "#/definitions/Summary", "description": "Device status config summary by eve distribution" }, "totalCount": { "type": "integer", "format": "int64", "description": "total count of devices" }, "list": { "type": "array", "items": { "$ref": "#/definitions/deviceStatusConfig" }, "description": "List of device status config" }, "totalEvActiveCount": { "type": "integer", "format": "int64", "description": "total count of edgeview active of devices" }, "next": { "$ref": "#/definitions/Cursor", "description": "Page details of the filtered records" } }, "description": "Device statu sna config composite api response details", "title": "Device status config composite api response detail", "required": [ "summaryByState", "summaryByAppInstanceCount", "summaryByEVEDistribution", "totalCount", "list" ] }, "DeviceStatusListMsg": { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/DeviceStatusSummaryMsg" } }, "summaryByState": { "$ref": "#/definitions/Summary" }, "summaryByAppInstanceCount": { "$ref": "#/definitions/Summary" }, "summaryByEVEDistribution": { "$ref": "#/definitions/Summary" }, "totalCount": { "type": "integer", "format": "int64" }, "totalEdgeviewActive": { "type": "integer", "format": "int64" }, "next": { "$ref": "#/definitions/Cursor" } } }, "DeviceStatusMsg": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" }, "adminState": { "$ref": "#/definitions/AdminState" }, "runState": { "$ref": "#/definitions/RunState" }, "upTime": { "type": "string", "format": "date-time" }, "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.", "title": "deprecated = 6;", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "lastUpdate": { "type": "string", "format": "date-time" }, "bootTime": { "type": "string", "format": "date-time" }, "netStatusList": { "type": "array", "items": { "$ref": "#/definitions/NetworkStatus" } }, "dns": { "$ref": "#/definitions/DNSInfo" }, "ioStatusList": { "type": "array", "items": { "$ref": "#/definitions/IoBundleStatus" } }, "storageList": { "type": "array", "items": { "$ref": "#/definitions/StorageStatus" } }, "blobList": { "type": "array", "items": { "$ref": "#/definitions/BlobStatus" } }, "netCounterList": { "type": "array", "items": { "$ref": "#/definitions/NetworkCounters" } }, "hostName": { "type": "string" }, "swInfo": { "type": "array", "items": { "$ref": "#/definitions/DeviceSWInfo" } }, "zcCounters": { "type": "array", "items": { "$ref": "#/definitions/ZedcloudCounters" } }, "rawStatus": { "type": "string" }, "rawMetrics": { "type": "string" }, "Memory": { "$ref": "#/definitions/MemorySummary", "description": "memory - OBSOLETE. Use memorySummary instead." }, "Storage": { "$ref": "#/definitions/StorageSummary" }, "minfo": { "$ref": "#/definitions/ZManufacturerInfo" }, "dinfo": { "$ref": "#/definitions/DeviceInfo" }, "Cpu": { "$ref": "#/definitions/CpuSummary" }, "lastRebootReason": { "type": "string" }, "lastRebootTime": { "type": "string", "format": "date-time" }, "dataSecInfo": { "type": "array", "items": { "$ref": "#/definitions/DevDataSecAtRest" } }, "devError": { "type": "array", "items": { "$ref": "#/definitions/DeviceError" } }, "projectId": { "type": "string" }, "title": { "type": "string" }, "attestState": { "$ref": "#/definitions/AttestState" }, "deviceRebootReason": { "$ref": "#/definitions/DeviceBootReason" }, "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 }, "memorySummary": { "$ref": "#/definitions/DeviceMemorySummary", "description": "Device memory Info" }, "capabilities": { "$ref": "#/definitions/Capabilities", "description": "Edge node virtualization capabilities.", "title": "Information about hardware capabilities" }, "zpoolMetrics": { "$ref": "#/definitions/StorageDeviceMetrics", "description": "Last received counters for zpool metrics." }, "clusterNodeStatus": { "$ref": "#/definitions/ClusterNodeStatus", "description": "Cluster node status" } }, "title": "to be deprecated" }, "DeviceStatusSummaryMsg": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" }, "adminState": { "$ref": "#/definitions/AdminState" }, "runState": { "$ref": "#/definitions/RunState" }, "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.", "title": "deprecated = 5;", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "netStatusList": { "type": "array", "items": { "$ref": "#/definitions/NetworkStatus" } }, "swInfo": { "type": "array", "items": { "$ref": "#/definitions/DeviceSWInfo" } }, "minfo": { "$ref": "#/definitions/ZManufacturerInfo" }, "dinfo": { "$ref": "#/definitions/DeviceInfo" }, "Memory": { "$ref": "#/definitions/MemorySummary", "description": "Memory - OBSOLETE. Use memorySummary instead." }, "Storage": { "$ref": "#/definitions/StorageSummary" }, "Cpu": { "$ref": "#/definitions/CpuSummary" }, "devError": { "type": "array", "items": { "$ref": "#/definitions/DeviceError" } }, "projectId": { "type": "string" }, "title": { "type": "string" }, "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 }, "memorySummary": { "$ref": "#/definitions/DeviceMemorySummary", "description": "Device memory Info" }, "debugKnob": { "type": "boolean", "title": "debug knob expiry time" }, "debugKnobExpiryTime": { "type": "string", "format": "date-time" }, "projectName": { "type": "string", "description": "Project name to which device is associated with" }, "appInstCount": { "type": "integer", "format": "int64", "description": "App instance count that is actively running on the device" }, "location": { "type": "string", "description": "Device location" }, "edgeviewActive": { "type": "boolean", "description": "Device edgeview session active" }, "projectType": { "$ref": "#/definitions/TagType", "description": "Tag group type" }, "clusterNodeStatus": { "$ref": "#/definitions/ClusterNodeStatus", "description": "Cluster node status" }, "enrolledCertsStatus": { "$ref": "#/definitions/EnrolledCertStatus", "description": "Enrolled certificate status from the device" } } }, "DhcpServerConfig": { "type": "object", "properties": { "subnet": { "type": "string", "description": "Subnet address" }, "mask": { "type": "string", "description": "Subnet Mask" }, "gateway": { "type": "string", "description": "IP Address of Network Gateway" }, "domain": { "type": "string", "description": "Network domain" }, "ntp": { "type": "string", "description": "IP Address of NTP Server", "title": "ntp will be deprecated" }, "dns": { "type": "array", "items": { "type": "string" }, "description": "IP Addresses of DNS servers", "title": "possible DNS ip address" }, "dhcpRange": { "$ref": "#/definitions/dhcpIpRange", "description": "Range of IP addresses to be used for DHCP" }, "ntpServers": { "type": "array", "items": { "$ref": "#/definitions/NtpServer" }, "description": "NTP Servers" } } }, "DimmRankInfo": { "type": "object", "properties": { "rankName": { "type": "string" }, "ceCount": { "type": "string", "format": "int64" }, "ueCount": { "type": "string", "format": "int64" } }, "title": "Info per memory rank in the dimm" }, "DiskDescription": { "type": "object", "properties": { "name": { "type": "string" }, "logicalName": { "type": "string" }, "serial": { "type": "string" } } }, "DockerRuntimeProtocolVersion": { "type": "string", "enum": [ "RuntimeProtocolVersion_Unknown", "RuntimeProtocolVersion_V1" ], "default": "RuntimeProtocolVersion_Unknown" }, "DockerRuntimeVersion": { "type": "string", "enum": [ "RuntimeVersion_Unknown", "RuntimeVersion_V1" ], "default": "RuntimeVersion_Unknown" }, "EAPMethod": { "type": "string", "enum": [ "EAP_METHOD_UNSPECIFIED", "EAP_METHOD_TLS" ], "default": "EAP_METHOD_UNSPECIFIED", "title": "Supported EAP methods for port based network access control (802.1X)" }, "ECCMemoryControllerInfo": { "type": "object", "properties": { "controllerName": { "type": "string" }, "ceCount": { "type": "string", "format": "int64" }, "ueCount": { "type": "string", "format": "int64" }, "ranks": { "type": "array", "items": { "$ref": "#/definitions/DimmRankInfo" } } }, "title": "Info per memory controller in the system" }, "ECCMemoryReport": { "type": "object", "properties": { "memoryControllers": { "type": "array", "items": { "$ref": "#/definitions/ECCMemoryControllerInfo" } } }, "title": "A report for all memory controllers" }, "ECCMemoryReportStatus": { "type": "string", "enum": [ "ECC_MEMORY_REPORT_STATUS_NOT_APPLICABLE", "ECC_MEMORY_REPORT_STATUS_PASS", "ECC_MEMORY_REPORT_STATUS_DEGRADED", "ECC_MEMORY_REPORT_STATUS_FAILED" ], "default": "ECC_MEMORY_REPORT_STATUS_NOT_APPLICABLE" }, "ECDSA": { "type": "object", "properties": { "curve": { "type": "string", "description": "ECDSA curve to be used while signing the certificate." } } }, "EDConfigItem": { "type": "object", "properties": { "key": { "type": "string", "description": "key" }, "valueType": { "type": "string", "description": "value type" }, "boolValue": { "type": "boolean", "description": "boolean value" }, "uint32Value": { "type": "number", "format": "uint32", "description": "uint32 value" }, "uint64Value": { "type": "string", "format": "uint64", "description": "uint64 value in string format" }, "floatValue": { "type": "number", "format": "float", "description": "float value" }, "stringValue": { "type": "string", "description": "string value" } }, "description": "ED Configuration Item request payload", "title": "EDConfigItem payload detail" }, "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": "#/definitions/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" ] }, "EdgeNodeClusterConfig": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the cluster", "readOnly": true, "pattern": "[0-9A-Za-z-]+", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the cluster, unique across the enterprise. Once cluster is created, name can\u2019t be changed", "uniqueItems": true }, "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": "^[^<%&?/\\>]+$" }, "projectId": { "type": "string", "description": "Foreign key to the project" }, "clusterPrefix": { "type": "string", "description": "A cluster prefix" }, "seedNodeId": { "type": "string", "description": "Seed node id" }, "seedNodeIp": { "type": "string", "description": "Seed node ip" }, "token": { "type": "string", "description": "Cluster token" }, "isMaster": { "type": "boolean", "description": "Is it a master node?" }, "manifest": { "type": "string", "format": "byte", "description": "ZKS instance manifest" }, "tieBreakerNodeId": { "type": "string", "description": "Tiebreaker node id" }, "clusterType": { "type": "number", "format": "int32", "description": "Cluster type" }, "lbConfigList": { "type": "object", "$ref": "#/definitions/DeviceLBConfigList", "description": "Edge node cluster load balancer configuration list" } } }, "EdgeSyncConfig": { "type": "object", "properties": { "edgeSyncUrl": { "type": "string", "description": "edge sync url" }, "datastoreId": { "type": "array", "items": { "type": "string" }, "description": "upload datastore list" } } }, "EdgeViewPolicy": { "type": "object", "properties": { "metaData": { "$ref": "#/definitions/PolicyCommon", "description": "all the required metadata for a policy like id, name, different types of tags" }, "edgeviewcfg": { "$ref": "#/definitions/EdgeviewCfg", "description": "Edgeview configuration and policies" }, "edgeviewAllow": { "type": "boolean", "description": "Allow device to enable Edgeview in this project" }, "accessAllowChange": { "type": "boolean", "description": "Allow inherit instance to change access policy" }, "maxExpireSec": { "type": "integer", "format": "int64", "description": "Maximum seconds allowed for Edgeview session" }, "maxInst": { "type": "integer", "format": "int64", "description": "Maximum instances allowed for Edgeview" }, "requireControllerAuthen": { "type": "boolean", "description": "Whether controller authentication is required for Edgeview access" } }, "description": "Policy for device edgeview operation", "title": "Edgeview policy body detail", "required": [ "edgeviewAllow" ] }, "EdgeviewCfg": { "type": "object", "properties": { "jwtInfo": { "$ref": "#/definitions/JWTInfo" }, "token": { "type": "string" }, "devPolicy": { "$ref": "#/definitions/DevAccessPolicy" }, "appPolicy": { "$ref": "#/definitions/AppAccessPolicy" }, "extPolicy": { "$ref": "#/definitions/ExtAccessPolicy" }, "generationId": { "type": "integer", "format": "int64" }, "requireControllerAuthen": { "type": "boolean" } } }, "EdgeviewPolicy": { "type": "object", "properties": { "edgeviewcfg": { "$ref": "#/definitions/EdgeviewCfg", "description": "Edgeview configuration and policies" }, "edgeviewAllow": { "type": "boolean", "description": "Allow device to enable Edgeview in this project" }, "accessAllowChange": { "type": "boolean", "description": "Allow inherit instance to change access policy" }, "maxExpireSec": { "type": "integer", "format": "int64", "description": "Maximum seconds allowed for Edgeview session" }, "maxInst": { "type": "integer", "format": "int64", "description": "Maximum instances allowed for Edgeview" }, "requireControllerAuthen": { "type": "boolean", "description": "Whether controller authentication is required for Edgeview access" } }, "description": "Policy for device edgeview operation", "title": "Edgeview policy body detail", "required": [ "edgeviewAllow" ] }, "EnrolledCertInfo": { "type": "object", "properties": { "certEnrollmentProfileName": { "type": "string", "description": "Certificate enrollment profile name used to obtain this certificate" }, "subject": { "$ref": "#/definitions/CertDistinguishedName", "description": "Subject distinguished name (DN) of the certificate." }, "issuer": { "$ref": "#/definitions/CertDistinguishedName", "description": "Issuer distinguished name (DN) of the certificate." }, "sanDns": { "type": "array", "items": { "type": "string" }, "description": "DNS names from SAN" }, "sanIp": { "type": "array", "items": { "type": "string" }, "description": "IP addresses from SAN" }, "sanUri": { "type": "array", "items": { "type": "string" }, "description": "URIs from SAN" }, "sanEmail": { "type": "array", "items": { "type": "string" }, "description": "Email addresses from SAN" }, "issueTimestamp": { "type": "string", "format": "date-time", "description": "Certificate validity period." }, "expirationTimestamp": { "type": "string", "format": "date-time" }, "renewPeriodPercent": { "type": "integer", "format": "int64", "description": "Percentage of validity period after which renewal begins" }, "sha256Fingerprint": { "type": "string", "description": "SHA-256 fingerprint of the certificate" }, "status": { "$ref": "#/definitions/EnrolledCertStatus", "description": "Current status of the certificate as observed by the device." }, "err": { "type": "object", "$ref": "#/definitions/DeviceError", "description": "Error details for enrollment or renewal failures" } }, "description": "EnrolledCertInfo describes a certificate enrolled on the device via a\nnetwork enrollment protocol such as SCEP." }, "EnrolledCertStatus": { "type": "string", "enum": [ "ENROLLED_CERT_STATUS_UNSPECIFIED", "ENROLLED_CERT_STATUS_AVAILABLE", "ENROLLED_CERT_STATUS_PENDING", "ENROLLED_CERT_STATUS_RENEWAL_PENDING", "ENROLLED_CERT_STATUS_EXPIRED", "ENROLLED_CERT_STATUS_REVOKED", "ENROLLED_CERT_STATUS_ENROLLMENT_FAILED", "ENROLLED_CERT_STATUS_RENEWAL_FAILED", "ENROLLED_CERT_STATUS_INVALID_CONFIG" ], "default": "ENROLLED_CERT_STATUS_UNSPECIFIED", "description": "Certificate lifecycle and availability status as reported by the device.\n\n - ENROLLED_CERT_STATUS_AVAILABLE: Certificate is present, valid, and usable for authentication.\n - ENROLLED_CERT_STATUS_PENDING: Certificate enrollment is in progress and not yet complete.\n - ENROLLED_CERT_STATUS_RENEWAL_PENDING: Certificate is present and still valid, but a renewal request\nis in progress and not yet completed.\n - ENROLLED_CERT_STATUS_EXPIRED: Certificate has expired (the current time is past notAfter).\nRenewal may have failed; see err for related errors.\n - ENROLLED_CERT_STATUS_REVOKED: Certificate has been revoked or is otherwise considered invalid.\n - ENROLLED_CERT_STATUS_ENROLLMENT_FAILED: Certificate enrollment failed and no valid certificate is available.\n - ENROLLED_CERT_STATUS_RENEWAL_FAILED: A certificate is currently present but the most recent renewal attempt failed.\n - ENROLLED_CERT_STATUS_INVALID_CONFIG: Certificate configuration is invalid or malformed, preventing enrollment or renewal." }, "EnrollmentDetail": { "type": "object", "properties": { "attachedIotHubsName": { "type": "array", "items": { "type": "string" } }, "enableIotEdgeDevice": { "type": "boolean" }, "mechanism": { "$ref": "#/definitions/EnrollmentMechanism" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "allocationPolicy": { "$ref": "#/definitions/AllocationPolicy" }, "symmetricKeyEnrollment": { "$ref": "#/definitions/SymmetricKeyEnrollmentDetail" }, "certificateEnrollment": { "$ref": "#/definitions/CertificateEnrollmentDetail" }, "tpmEnrollment": { "$ref": "#/definitions/TPMEnrollmentDetail" } } }, "EnrollmentMechanism": { "type": "string", "enum": [ "ENROLLMENT_MECHANISM_UNSPECIFIED", "ENROLLMENT_MECHANISM_SYMMETRICKEY", "ENROLLMENT_MECHANISM_CERTIFICATE", "ENROLLMENT_MECHANISM_TPM" ], "default": "ENROLLMENT_MECHANISM_UNSPECIFIED", "description": "attestation/mechanism supported by azure." }, "EnrollmentType": { "type": "string", "enum": [ "ENROLLMENT_TYPE_UNSPECIFIED", "ENROLLMENT_TYPE_INDIVIDUAL", "ENROLLMENT_TYPE_GROUP" ], "default": "ENROLLMENT_TYPE_UNSPECIFIED", "description": "enrollment types." }, "Entity": { "type": "string", "enum": [ "ENTITY_UNSPECIFIED", "ENTITY_BASE_OS", "ENTITY_SYSTEM_ADAPTER", "ENTITY_VAULT", "ENTITY_ATTESTATION", "ENTITY_APP_INSTANCE", "ENTITY_PORT", "ENTITY_NETWORK", "ENTITY_NETWORK_INSTANCE", "ENTITY_CONTENT_TREE", "ENTITY_CONTENT_BLOB", "ENTITY_VOLUME" ], "default": "ENTITY_UNSPECIFIED", "description": "- ENTITY_UNSPECIFIED: Invalid Device Entity\n - ENTITY_BASE_OS: Base OS entity\n - ENTITY_SYSTEM_ADAPTER: System Adapter Entity\n - ENTITY_VAULT: Vault Entity\n - ENTITY_ATTESTATION: Attestation Entity\n - ENTITY_APP_INSTANCE: App Instance Entity\n - ENTITY_PORT: Port Entity\n - ENTITY_NETWORK: Network Entity\n - ENTITY_NETWORK_INSTANCE: Network Instance Entity\n - ENTITY_CONTENT_TREE: ContentTree Entity\n - ENTITY_CONTENT_BLOB: Blob Entity\n - ENTITY_VOLUME: VOLUME Entity", "title": "Edge node components" }, "EvAuthType": { "type": "string", "enum": [ "EvAuth_TYPE_UNSPECIFIED", "EvAuth_TYPE_CONTROLER_CERT", "EvAuth_TYPE_SSH_RSA_KEYS" ], "default": "EvAuth_TYPE_UNSPECIFIED" }, "EveLtsSupportType": { "type": "string", "enum": [ "SUPPORT_TYPE_UNSPECIFIED", "SUPPORT_TYPE_LTS", "SUPPORT_TYPE_NON_LTS" ], "default": "SUPPORT_TYPE_UNSPECIFIED" }, "EventQueryResponse": { "type": "object", "properties": { "list": { "type": "array", "items": { "$ref": "#/definitions/EventQueryResponseItem" }, "description": "Event Query response list" }, "next": { "type": "object", "$ref": "#/definitions/Cursor", "description": "Cursor filter" }, "summary": { "$ref": "#/definitions/Summary", "description": "Summary of filtered events." } }, "description": "Event query response request payload", "title": "Event query Response payload detail", "required": [ "list", "next" ] }, "EventQueryResponseItem": { "type": "object", "properties": { "user": { "type": "string", "description": "User name" }, "project": { "type": "string", "description": "project name" }, "device": { "type": "string", "description": "device name" }, "instance": { "type": "string", "description": "instance name" }, "severity": { "type": "string", "description": "severity: FIXME: should be ENUM" }, "description": { "type": "string", "description": "Event description" }, "timestamp": { "type": "object", "format": "date-time", "description": "event timestamp" }, "source": { "type": "object", "$ref": "#/definitions/EventSource", "description": "source" }, "resource": { "type": "string", "description": "Event resources" }, "eventType": { "type": "string", "description": "Event type" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Event tags" }, "resourceName": { "type": "string", "description": "Event resources" }, "jsonData": { "type": "object", "description": "Event resources" }, "clusterInstance": { "type": "string", "description": "clusterInstance name" } }, "description": "Event query response item payload", "title": "Event query response item payload detail" }, "EventSource": { "type": "string", "enum": [ "EVENT_SOURCE_UNSPECIFIED", "EVENT_SOURCE_SYSTEM", "EVENT_SOURCE_USER" ], "default": "EVENT_SOURCE_UNSPECIFIED", "description": "- EVENT_SOURCE_UNSPECIFIED: Default\n - EVENT_SOURCE_SYSTEM: Event is generated as a result of status change reported by edge node / application\n - EVENT_SOURCE_USER: Event is generated as a result of an user's configuration action", "title": "Source of events" }, "ExtAccessPolicy": { "type": "object", "properties": { "allowExt": { "type": "boolean", "title": "external of device edge-view access is allowed or not" } } }, "GPSLocation": { "type": "object", "properties": { "latitude": { "type": "number", "format": "double", "description": "Latitude" }, "longitude": { "type": "number", "format": "double", "description": "Longitude" }, "altitude": { "type": "number", "format": "double", "description": "Altitude from mean sea level" }, "timestamp": { "type": "object", "format": "date-time", "description": "UTC timestamp" }, "horizontalReliability": { "type": "number", "format": "int64", "description": "Horizontal reliability" }, "verticalReliability": { "type": "number", "format": "int64", "description": "Vertical reliability" }, "horizontalUncertainty": { "type": "number", "format": "double", "description": "Horizontal uncertainty" }, "verticalUncertainty": { "type": "number", "format": "double", "description": "Vertical uncertainty" }, "logicalLabel": { "type": "string", "description": "Logical label of the adapter used to get GPS coordinates" } } }, "GeoLocation": { "type": "object", "properties": { "underlayIP": { "type": "string", "description": "Single IP address, either in IPv4 or in IPv6 format" }, "hostname": { "type": "string", "description": "Host name" }, "city": { "type": "string", "description": "City" }, "region": { "type": "string", "description": "Region" }, "country": { "type": "string", "description": "Country code consisting of 2 capital letters as per ISO 3166-1 alpha2 standard" }, "loc": { "type": "string", "description": "Ordered pair of (latitude, longitude) separated by comma (,). Latitude is the horizontal component used for geographic positioning; it is the angle between 0\u00b0 (the equator) and \u00b190\u00b0 (north or south) at the poles measured in decimal degrees. It is the first value in an ordered pair. A negative number denotes a location south of the equator; a positive number is north. Longitude is the vertical component used for geographic positioning; it is the angle between 0\u00b0 (the Prime Meridian) and \u00b1180\u00b0 (westward or eastward) measured in decimal degrees. It is the second number in an ordered pair. A negative number indicates a location west of Greenwich, England; a positive number east." }, "org": { "type": "string", "description": "The name of the recipient, firm, or company at this geographical location." }, "postal": { "type": "string", "description": "Postal code (ZIP code for USA) of the geographical location" }, "latlong": { "type": "string", "description": "Deprecated field: comma, separated lat, long" }, "freeloc": { "type": "string", "description": "Free formatted location string" } }, "description": "Geographic location of an edge node determined by a variety of data collection mechanisms (e.g. network routing addresses or internal GPS devices).", "title": "Geographic location of an edge node" }, "GroupCertificateEnrollment": { "type": "object", "properties": { "groupName": { "type": "string" } } }, "GroupSymmetricKeyEnrollment": { "type": "object", "properties": { "groupName": { "type": "string" } } }, "HardwareInfo": { "type": "object", "properties": { "disks": { "type": "array", "items": { "$ref": "#/definitions/StorageDiskInfo" } } }, "title": "Information about the system that is sent once when the system boots" }, "ImageDatastore": { "type": "object", "properties": { "id": { "type": "string", "description": "Datastore ID" }, "name": { "type": "string", "description": "Datastore Name" } } }, "IndividualCertificateEnrollment": { "type": "object", "title": "XXX TODO" }, "IndividualSymmetricKeyEnrollment": { "type": "object", "properties": { "registrationId": { "type": "string" } } }, "IntegrationPolicy": { "type": "object", "properties": { "Id": { "type": "string" }, "Name": { "type": "string" }, "title": { "type": "string" }, "revision": { "$ref": "#/definitions/ObjectRevision" } } }, "Interface": { "type": "object", "properties": { "name": { "type": "string", "description": "Interface name used by the edge application" }, "type": { "type": "string", "description": "Physical Adapter type for this interface. Applicable only when \"direct attach\" flag is true." }, "optional": { "type": "boolean", "description": "Indicates if the interface is optional for edge application." }, "directattach": { "type": "boolean", "description": "If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application." }, "privateip": { "type": "boolean", "description": "If true, DHCP network can't be assigned and user needs to provide a static IP address." }, "acls": { "type": "array", "items": { "$ref": "#/definitions/Acl" }, "description": "Traffic access control rules for this interface. Applicable only when \"direct attach\" flag is false." } } }, "InterfaceOrdering": { "type": "string", "enum": [ "INTERFACE_ORDERING_DISABLED", "INTERFACE_ORDERING_ENABLED" ], "default": "INTERFACE_ORDERING_DISABLED", "description": "- INTERFACE_ORDERING_DISABLED: Default value. interface order will not be sent to eve\n - INTERFACE_ORDERING_ENABLED: interface ordering is enabled. interface order will be sent to eve according to app template", "title": "this enum is used for enable and disable the interface ordering for app instances\nif the value of it set to INTERFACE_ORDERING_ENABLED then the interface ordering is\nsent to eve and therfaces will be mapped in same order during the deployment of app instances" }, "IoAddresses": { "type": "object", "properties": { "macAddress": { "type": "string" } } }, "IoBundleStatus": { "type": "object", "properties": { "type": { "type": "object", "$ref": "#/definitions/IoType", "description": "IoType specifies the type of the Input output of the device" }, "name": { "type": "string", "description": "Io Bundle status name" }, "members": { "type": "array", "items": { "type": "string" }, "description": "Member Array", "title": "members - Deprecated by memberList" }, "appName": { "type": "string", "description": "Application name" }, "lteInfo": { "type": "object", "$ref": "#/definitions/LTEAdapter", "description": "LTE information" }, "err": { "$ref": "#/definitions/DeviceError", "description": "Device error details", "title": "6 - DEPRECATED" }, "memberList": { "type": "array", "items": { "$ref": "#/definitions/IoMemberStatus" }, "description": "List of IO members" } }, "description": "IoBundleStatus is used to store the status of the Input Output bundle", "title": "IoBundleStatus is used to store the status of the Input Output bundle", "required": [ "type", "name", "members", "appName" ] }, "IoMemberStatus": { "type": "object", "properties": { "name": { "type": "string", "description": "IoBundle Member name" }, "ioAddress": { "$ref": "#/definitions/IoAddresses", "description": "IO addresses of the member. Each address corresponds to the member in the members array" } } }, "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\n - IO_TYPE_ETH: Ethernet\n - IO_TYPE_USB: USB Type - General\n - IO_TYPE_COM: Communication Port\n - IO_TYPE_AUDIO: Audio Port\n - IO_TYPE_WLAN: wireless LAN\n - IO_TYPE_WWAN: Wireless wide area network\n - IO_TYPE_HDMI: High-Definition Multimedia Interface\n - IO_TYPE_LTE: LTE Interfaces\n - IO_TYPE_STORAGE_NVME_DEVICE: Storage NVME device\n - IO_TYPE_STORAGE_SATA_DEVICE: Storage SATA device\n - IO_TYPE_ETH_PF: Physical Interface (PF) of the Virtual Functions\n - IO_TYPE_ETH_VF: Virtual Function (VF)\n - IO_TYPE_USB_CONTROLLER: USB Type - Controller\n - IO_TYPE_USB_DEVICE: USB Type - Device\n - IO_TYPE_CAN: CAN - Device\n - IO_TYPE_VCAN: VCAN - Virtual CAN device\n - IO_TYPE_LCAN: LCAN - Logical CAN device\n - IO_TYPE_VLAN: VLAN - Virtual LAN device\n - IO_TYPE_OTHER: Other Io Types", "title": "Input/Output Type" }, "IotHubServiceDetail": { "type": "object", "properties": { "serviceDetail": { "$ref": "#/definitions/AzureResourceAndServiceDetail" } } }, "IpSpec": { "type": "object", "properties": { "deprecatedDhcp": { "type": "boolean", "title": "deprecated" }, "dhcp": { "$ref": "#/definitions/NetworkDHCPType" }, "subnet": { "type": "string" }, "mask": { "type": "string" }, "gateway": { "type": "string" }, "domain": { "type": "string" }, "ntp": { "type": "string", "title": "ntp will be deprecated" }, "dns": { "type": "array", "items": { "type": "string" } }, "dhcpRange": { "$ref": "#/definitions/dhcpIpRange", "description": "for IPAM management when dhcp is turned on.\nIf none provided, system will default pool." }, "ntpServers": { "type": "array", "items": { "$ref": "#/definitions/NtpServer" } }, "ntpServerExclusively": { "type": "boolean" } } }, "JWTInfo": { "type": "object", "properties": { "dispUrl": { "type": "string" }, "allowSec": { "type": "integer", "format": "int64" }, "expireSec": { "type": "string", "format": "uint64" }, "numInst": { "type": "integer", "format": "int64" }, "encrypt": { "type": "boolean" }, "authen": { "$ref": "#/definitions/EvAuthType" } } }, "LTEAdapter": { "type": "object", "properties": { "simName": { "type": "string", "description": "Name of SIM card." }, "cellModuleName": { "type": "string", "description": "Name of Cell Module" }, "imsi": { "type": "string", "description": "imsi of the SIM" }, "iccid": { "type": "string", "description": "iccid of the SIM" }, "simcardState": { "type": "string", "$ref": "#/definitions/SimcardState", "description": "State of SimCard" }, "imei": { "type": "string", "description": "IMEI of Cell Radio." }, "firmwareVersion": { "type": "string", "description": "Firmware Version of Cell Radio." } }, "description": "Details of LTE Adapter", "title": "LTE Adapter" }, "LacpRate": { "type": "string", "enum": [ "LACP_RATE_UNSPECIFIED", "LACP_RATE_SLOW", "LACP_RATE_FAST" ], "default": "LACP_RATE_UNSPECIFIED", "description": "Option specifying the rate in which EVE will ask LACP link partners\nto transmit LACPDU packets in 802.3ad mode.\n\n - LACP_RATE_UNSPECIFIED: Default LACP rate is Slow.\n - LACP_RATE_SLOW: Request LACP partner to transmit LACPDUs every 30 seconds.\n - LACP_RATE_FAST: Request LACP partner to transmit LACPDUs every 1 second." }, "LimitParams": { "type": "object", "properties": { "limitrate": { "type": "integer", "format": "int64", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Rate limit in ACL rule" }, "limitunit": { "type": "string", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Rate limit unit in ACL rule" }, "limitburst": { "type": "integer", "format": "int64", "description": "UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "Rate limit burst in ACL rule" } } }, "LispConfig": { "type": "object", "properties": { "lispiid": { "type": "number", "format": "int64", "description": "lisp id" }, "allocate": { "type": "boolean", "description": "Allocate flag" }, "exportprivate": { "type": "boolean", "description": "Export Private flag" }, "allocationprefix": { "type": "string", "format": "byte", "description": "Allocation Prefix" }, "allocationprefixlen": { "type": "number", "format": "int64", "description": "Allocation Prefix Length" }, "sp": { "type": "array", "items": { "$ref": "#/definitions/ServicePoint" }, "description": "Service Point List" } }, "description": "List Configurations.", "title": "Lisp Configurations" }, "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" ] }, "LocalOperatorConsolePolicy": { "type": "object", "properties": { "id": { "type": "string", "description": "unique policy id", "readOnly": true, "pattern": "[0-9-a-z-]+" }, "locURL": { "type": "string", "description": "Local operator console URL" }, "datastoreId": { "type": "array", "items": { "type": "string" }, "description": "upload datastore list" } }, "description": "Local operator console policy to enforce on all devices of the project", "title": "Local operator console policy body detail", "required": [ "locURL" ] }, "MIIMonitor": { "type": "object", "properties": { "interval": { "type": "integer", "format": "int64", "description": "Specifies the MII link monitoring frequency in milliseconds.\nThis determines how often the link state of each bond slave is inspected\nfor link failures." }, "updelay": { "type": "integer", "format": "int64", "description": "Updelay specifies the time, in milliseconds, to wait before enabling\na bond slave after a link recovery has been detected.\nThe updelay value should be a multiple of the monitoring interval; if not,\nit will be rounded down to the nearest multiple.\nThe default value is 0." }, "downdelay": { "type": "integer", "format": "int64", "description": "Specifies the time, in milliseconds, to wait before disabling a bond\nslave after a link failure has been detected.\nThe downdelay value should be a multiple of the monitoring interval; if not,\nit will be rounded down to the nearest multiple.\nThe default value is 0." } }, "description": "MIIMonitor : MII link monitoring parameters.\nDefined for BondAdapter." }, "MapParams": { "type": "object", "properties": { "appPort": { "type": "integer", "format": "int64", "description": "Application Port value" } } }, "Match": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of Match (Required)", "title": "enum: host, protocol, adapter\nAt the device level it will pick right interface to apply this match" }, "value": { "type": "string", "description": "Value of match (Required)" } } }, "MemorySummary": { "type": "object", "properties": { "TotalMB": { "type": "number", "format": "double", "description": "Total memory for the device in MBs" }, "UsedMB": { "type": "number", "format": "double", "description": "Total memory used by the device in MBs within allocated memory" }, "AllocatedMB": { "type": "number", "format": "double", "description": "Total allocated memory in MBs" } }, "description": "Memory Summary", "title": "Memory Summary" }, "MetricQueryRequestWithId_HttpRequestMetricType_HttpRequest": { "type": "string", "enum": [ "UNSPECIFIED", "CPU_TOTAL", "CPU_USAGE", "MEMORY_TOTAL", "MEMORY_UTILIZATION", "NETWORK_TOTAL", "NETWORK_RATES", "EVENTS_COUNT", "STORAGE_UTILIZATION", "STORAGE_IO_ZPOOL", "STORAGE_IO_ZVOL" ], "default": "UNSPECIFIED", "title": "MetricType_HttpRequest - only for swagger documentation" }, "MetricQueryRequestWithName_HttpRequestMetricType_HttpRequest": { "type": "string", "enum": [ "UNSPECIFIED", "CPU_TOTAL", "CPU_USAGE", "MEMORY_TOTAL", "MEMORY_UTILIZATION", "NETWORK_TOTAL", "NETWORK_RATES", "EVENTS_COUNT", "STORAGE_UTILIZATION", "STORAGE_IO_ZPOOL", "STORAGE_IO_ZVOL" ], "default": "UNSPECIFIED", "title": "MetricType_HttpRequest - only for swagger documentation" }, "MetricQueryResponse": { "type": "object", "properties": { "threshold": { "$ref": "#/definitions/MetricThreshold" }, "metricType": { "type": "string" }, "xLabel": { "type": "string" }, "yLabels": { "type": "array", "items": { "type": "string" } }, "list": { "type": "array", "items": { "$ref": "#/definitions/MetricQueryResponseItem" } } } }, "MetricQueryResponseItem": { "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "values": { "type": "array", "items": { "type": "number", "format": "double" } } } }, "MetricThreshold": { "type": "object", "properties": { "yellow": { "type": "number", "format": "double" }, "red": { "type": "number", "format": "double" } } }, "MetricsDetail": { "type": "object", "properties": { "queries": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Mapping of queries variable keys and value" }, "results": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Mapping of results variable keys and value" } } }, "ModelArchType": { "type": "string", "enum": [ "UNSPECIFIED", "UNDEFINED", "AMD64", "ARM64" ], "default": "UNSPECIFIED" }, "ModelInfo": { "type": "object", "properties": { "modelId": { "type": "string", "description": "system generated unique id for a model", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "modelName": { "type": "string", "description": "model name" }, "brandId": { "type": "string", "description": "system generated unique id for a brand", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "brandName": { "type": "string", "description": "brand name" } }, "description": "Detailed model information including id, name", "title": "Model details" }, "ModemDetail": { "type": "object", "properties": { "manufacturer": { "type": "string", "description": "Modem manufacturer" }, "model": { "type": "string", "description": "Modem model" }, "firmwareVersion": { "type": "string", "description": "Modem firmware version" }, "imei": { "type": "string", "description": "Modem IMEI" }, "operatingState": { "type": "string", "$ref": "#/definitions/ZCellularOperatingState", "description": "Modem operating state" }, "controlProtocol": { "type": "string", "$ref": "#/definitions/ZCellularControlProtocol", "description": "Modem control protocol" } }, "description": "ModemDetail describes a cellular Modem", "title": "ModemDetail describes a cellular Modem" }, "ModuleDetail": { "type": "object", "example": { "twinDetail": "IHsKICAgICAgIm5hbWUiOiAiU2VuZEludGVydmFsIiwKICAgICAgInZhbHVlIjogIjUiCiAgICB9" }, "properties": { "twinDetail": { "type": "string", "description": "Base64 encoded module twin details, desired properties of the module will be updated to reflect these values" }, "routes": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Send messages between modules or send messages from modules to iot hub" }, "environment": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Extra information to module to make configuration easier" }, "moduleType": { "$ref": "#/definitions/ModuleType", "description": "Type of modules" } }, "description": "Azure module specific details", "title": "Module detail" }, "ModulePolicy": { "type": "object", "properties": { "id": { "type": "string", "description": "unique id for deployment", "readOnly": true, "pattern": "[0-9-a-z-]+" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Mapping of label variable keys and value" }, "priority": { "type": "integer", "format": "int64", "description": "deployment priority of module manifest", "required": [ "priority" ] }, "targetCondition": { "type": "string", "description": "target condition for deployment that matches single device or group of devices" }, "metrics": { "$ref": "#/definitions/MetricsDetail", "description": "custom metrics for deployment" }, "Etag": { "type": "string", "description": "etag for deployment" }, "routes": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Mapping of routes variable keys and value" }, "apps": { "type": "array", "items": { "$ref": "#/definitions/AppConfig" }, "description": "list of app details that will be provisioned on all the devices of the project to which this policy is attached" }, "targetConditionNew": { "type": "object", "additionalProperties": { "type": "string" }, "description": "target condition for deployment that matches single device or group of devices" }, "azureEdgeAgent": { "$ref": "#/definitions/AppConfig", "description": "app that describes the azure edge agent to be deployed on the Azure runtime" }, "azureEdgeHub": { "$ref": "#/definitions/AppConfig", "description": "app that describes the azure edge hub to be deployed on the Azure runtime" } }, "description": "list of modules that will be provisioned on all the devices of the project to which this policy is attached", "title": "Module policy body detail", "required": [ "apps", "priority" ] }, "ModuleType": { "type": "string", "enum": [ "MODULE_TYPE_UNSPECIFIED", "MODULE_TYPE_SYSTEM_DEFINED", "MODULE_TYPE_CUSTOM", "MODULE_TYPE_AZURE_EDGE_AGENT", "MODULE_TYPE_AZURE_EDGE_HUB" ], "default": "MODULE_TYPE_UNSPECIFIED", "description": "module type." }, "NetCellularAccessPoint": { "type": "object", "properties": { "simSlot": { "type": "integer", "format": "int64", "description": "SIM card slot to which this configuration applies.\n0 - unspecified (apply to currently activated or the only available)\n1 - config for SIM card in the first slot\n2 - config for SIM card in the second slot\netc." }, "apn": { "type": "string", "description": "Access Point Network to connect into.\nBy default it is \"internet\"." }, "authProtocol": { "$ref": "#/definitions/evecommonCellularAuthProtocol", "description": "Authentication protocol used by the network." }, "cipherData": { "$ref": "#/definitions/commonCipherBlock", "description": "Cipher data may contain encrypted user credentials\n(inside cellNetUsername and cellNetPassword fields)." }, "preferredPlmns": { "type": "array", "items": { "type": "string" }, "description": "The set of cellular network operators that modem should preferably try to register\nand connect into.\nNetwork operator should be referenced by PLMN (Public Land Mobile Network) code,\nconsisting of 3-digits MCC (Mobile Country Code) and 2 or 3-digits MNC (Mobile Network Code),\nseparated by a dash, e.g. \"310-260\".\nIf empty, then modem will select the network automatically based on the SIM card config." }, "forbidRoaming": { "type": "boolean", "description": "If true, then modem will avoid connecting to networks with roaming." }, "preferredRats": { "type": "array", "items": { "$ref": "#/definitions/evecommonRadioAccessTechnology" }, "description": "The list of preferred Radio Access Technologies (RATs) to use for connecting\nto the network.\nOrder matters, first is the most preferred, second is tried next, etc.\nNot listed technologies will not be tried.\nIf empty, then modem will select RAT automatically." }, "ipType": { "$ref": "#/definitions/commonCellularIPType", "description": "The IP addressing type to use for the default bearer." }, "attachApn": { "type": "string", "description": "Access Point Name (APN) for the attach (initial) bearer.\nThis field is optional. If not specified, EVE will not send any attach bearer\nconfiguration to the modem. Instead, the modem will use one of its pre-installed\nprofiles (see CellularProfile) to determine the configuration." }, "attachIpType": { "$ref": "#/definitions/commonCellularIPType", "description": "The IP addressing type to use for the attach bearer.\nLeave undefined if attach_apn is not specified." }, "attachAuthProtocol": { "$ref": "#/definitions/CellularAuthProtocol", "description": "Authentication protocol used for the attach bearer.\nLeave undefined if attach_apn is not specified." }, "secrets": { "$ref": "#/definitions/NetCellularAccessPointSecrets" }, "encryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" } }, "cryptoKey": { "type": "string" }, "attachSecrets": { "$ref": "#/definitions/NetCellularAccessPointSecrets" }, "attachEncryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" } } } }, "NetCellularAccessPointSecrets": { "type": "object", "properties": { "username": { "type": "string", "description": "Cellular Username" }, "password": { "type": "string", "description": "Cellular Password" } } }, "NetCellularConfig": { "type": "object", "properties": { "APN": { "type": "string", "description": "APN string - by default it is \"internet\".\nTO BE DEPRECATED: Fill connection arguments inside access_points instead.\nIf access_points is non-empty, then APN field is ignored." }, "probe": { "$ref": "#/definitions/configCellularConnectivityProbe", "description": "Optional cellular connectivity probing.\nBy default it is enabled." }, "locationTracking": { "type": "boolean", "description": "Some LTE modems have GNSS receiver integrated and can be used for device\nlocation tracking.\nEnable this option to have location info periodically obtained from this\nmodem and published to controller and to applications." }, "accessPoints": { "type": "array", "items": { "$ref": "#/definitions/NetCellularAccessPoint" }, "description": "Parameters to apply for connecting to cellular networks.\nConfigured separately for every SIM card inserted into the modem." }, "activatedSimSlot": { "type": "integer", "format": "int64", "description": "Select SIM card slot to activate.\nCurrently, EVE support only single-standby SIM card mode.\n0 - unspecified (leave the currently activated)\n1 - activate the first SIM slot\n2 - activate the second SIM slot\netc." } } }, "NetConfig": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the network", "readOnly": true, "pattern": "[0-9A-Za-z-]+", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the network, unique across the enterprise. Once object is created, name can\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "title": { "type": "string", "description": "User defined title of the network. 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 network", "maxLength": 256 }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "system defined info" }, "projectId": { "type": "string" }, "kind": { "$ref": "#/definitions/NetworkKind" }, "ip": { "$ref": "#/definitions/IpSpec" }, "dnsList": { "type": "array", "items": { "$ref": "#/definitions/StaticDNSList" } }, "proxy": { "$ref": "#/definitions/NetProxyConfig", "title": "enterprise proxy" }, "enterpriseDefault": { "type": "boolean", "title": "make this network default for device" }, "mtu": { "type": "integer", "format": "int64", "title": "Maximum transmission unit (MTU) to set on the associated network adapter(s)" }, "wireless": { "$ref": "#/definitions/NetWirelessConfig", "title": "Wifi configuration" }, "project": { "$ref": "#/definitions/NetProjectInfo", "title": "project configuration" } }, "description": "Network provides Edge nodes a variety of connectivity choices for all types of networks. This enables physical connectivity with Ethernet, WiFi, LTE to communicate with ZEDEDA Cloud controller and Data Centres.", "title": "Network detailed configuration", "required": [ "name", "title", "projectId", "kind", "ip" ] }, "NetInstConfig": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the network instance", "readOnly": true, "pattern": "[0-9A-Za-z-]+", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the network instance, unique across the enterprise. Once object is created, name can\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "title": { "type": "string", "description": "User defined title of the network 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 network instance", "maxLength": 256 }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "system defined info for the object" }, "projectId": { "type": "string", "description": "id of the project in which network instance is created" }, "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": "id of the Cluster in which the network instance is configured", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "deviceId": { "type": "string", "description": "id of the device on which network instance is created", "title": "device on which this network is running" }, "port": { "type": "string", "description": "name of port mapping in the model", "title": "name of port mapping in the model" }, "portTags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3.", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "kind": { "$ref": "#/definitions/NetworkInstanceKind", "description": "Kind of Network Instance ( Local, Switch etc )" }, "dhcp": { "type": "boolean", "description": "Deprecated", "title": "dhcp - DEPRECATED" }, "type": { "$ref": "#/definitions/NetworkInstanceDhcpType", "description": "Type of DHCP for this Network Instance" }, "ip": { "$ref": "#/definitions/DhcpServerConfig", "description": "Dhcp Server Configuration" }, "dnsList": { "type": "array", "items": { "$ref": "#/definitions/StaticDNSList" }, "description": "List of Static DNS entries" }, "oconfig": { "type": "string", "title": "Deprecated" }, "lisp": { "$ref": "#/definitions/LispConfig", "description": "Lisp Config : read only for now. Deprecated." }, "opaque": { "$ref": "#/definitions/NetInstOpaqueConfig", "description": "Service specific Config" }, "deviceDefault": { "type": "boolean", "description": "flag to indicate if this is the default network instance for the device", "title": "flag to indicate if this is default network" }, "networkPolicyId": { "type": "string", "description": "id of the network policy to be attached to this network instance" }, "propagateConnectedRoutes": { "type": "boolean", "description": "Automatically propagate connected routes" }, "staticRoutes": { "type": "array", "items": { "$ref": "#/definitions/StaticIPRoute" }, "description": "List of Static IP routes" }, "mtu": { "type": "integer", "format": "int64", "description": "Maximum transmission unit (MTU) to set for the network instance and all application interfaces connected to it" }, "edgeNodeCluster": { "$ref": "#/definitions/NetInstEdgeNodeCluster", "description": "Edge Node Cluster" }, "forwardLldp": { "type": "boolean", "description": "Enables forwarding of LLDP (Link Layer Discovery Protocol) frames across this\nnetwork instance.\nLLDP is used by devices to advertise identity and capabilities to directly\nconnected neighbors, and is often required for topology discovery and network\nmanagement tools.\nWhen enabled, LLDP frames (EtherType 0x88cc) are not dropped or suppressed\nby the forwarding plane." } }, "description": "Network instance provides Edge applications a variety of connectivity choices for all types of networks. This enables logical secure connectivity between Edge applications within a single Edge node and within a logical group of Edge nodes. This provides detailed configuration of a Network instance.", "title": "Network instance detailed configuration", "required": [ "name", "title", "deviceId", "port", "kind" ] }, "NetInstEdgeNodeCluster": { "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 Edge Node", "pattern": "[0-9A-Za-z-]+" } } }, "NetInstOpaqueConfig": { "type": "object", "properties": { "type": { "type": "string", "$ref": "#/definitions/OpaqueConfigType", "description": "type of Opaque config" }, "oconfig": { "type": "string", "description": "base64 encoded string of opaque config" }, "lisp": { "type": "string", "$ref": "#/definitions/LispConfig", "description": "Deprecated - Lisp config", "title": "lisp - Deprecated" } }, "description": "Network Instance Opaque config. This is service specific configuration." }, "NetProjectInfo": { "type": "object", "properties": { "projectId": { "type": "string", "description": "system generated unique id for a project", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "projectName": { "type": "string", "description": "project name" } } }, "NetProxyConfig": { "type": "object", "properties": { "networkProxy": { "type": "boolean", "description": "Network proxy" }, "proxies": { "type": "array", "items": { "$ref": "#/definitions/NetProxyServer" }, "description": "Net Proxy: protocol level proxies", "title": "protocol level proxies" }, "exceptions": { "type": "string", "description": "Proxy exceptions" }, "pacfile": { "type": "string", "description": "proxy configuration in a pacfile", "title": "proxy configuration in a pacfile" }, "networkProxyURL": { "type": "string", "description": "Network Proxy URL", "title": "Direct URL for wpad.dat download" }, "networkProxyCerts": { "type": "array", "items": { "type": "string", "format": "byte" }, "description": "Network Proxy Certificates", "title": "Proxy Certificates" } }, "description": "Net Proxy Configurations", "title": "Net Proxy Configurations" }, "NetProxyServer": { "type": "object", "properties": { "proto": { "type": "object", "$ref": "#/definitions/NetworkProxyProto", "description": "Net Proxy proto" }, "server": { "type": "string", "description": "Net Proxy Server" }, "port": { "type": "number", "format": "int64", "description": "Net Proxy Port" } }, "description": "Net Proxy Server", "title": "Net Proxy Server" }, "NetProxyStatus": { "type": "object", "properties": { "networkProxy": { "type": "boolean", "description": "Use pacfile (Auto discover or manual upload)", "title": "Enable, the proxy configuration coming from network" }, "proxies": { "type": "array", "items": { "$ref": "#/definitions/NetProxyServer" }, "description": "protocol level proxies", "title": "protocol level proxies" }, "exceptions": { "type": "string", "description": "exceptions" }, "pacfile": { "type": "string", "description": "proxy configuration in a pacfile", "title": "proxy configuration in a pacfile" }, "networkProxyURL": { "type": "string", "description": "Network Proxy URL", "title": "Direct URL for wpad.dat download" }, "wpadProxyURL": { "type": "string", "description": "WPAD Proxy URL" } }, "description": "NetProxyStatus is used to store the proxy configurations", "title": "NetProxyStatus is used to store the proxy configurations" }, "NetWifiConfig": { "type": "object", "properties": { "wifiSSID": { "type": "string" }, "keyScheme": { "$ref": "#/definitions/NetworkWiFiKeyScheme" }, "identity": { "type": "string" }, "secret": { "$ref": "#/definitions/NetWifiConfigSecrets" }, "crypto": { "$ref": "#/definitions/NetWifiConfigNetcryptoblock" }, "priority": { "type": "integer", "format": "int32" }, "encryptedSecrets": { "type": "object", "additionalProperties": { "type": "string" } }, "cryptoKey": { "type": "string" } } }, "NetWifiConfigNetcryptoblock": { "type": "object", "properties": { "identity": { "type": "string" }, "password": { "type": "string" } } }, "NetWifiConfigSecrets": { "type": "object", "properties": { "WiFiPasswd": { "type": "string", "description": "Wifi Password" } } }, "NetWirelessConfig": { "type": "object", "properties": { "type": { "$ref": "#/definitions/NetworkWirelessType" }, "cellularCfg": { "$ref": "#/definitions/NetCellularConfig" }, "wifiCfg": { "$ref": "#/definitions/NetWifiConfig" } } }, "NetworkCounters": { "type": "object", "properties": { "ifName": { "type": "string", "description": "ifName" }, "txBytes": { "type": "number", "format": "uint64", "description": "Tx Bytes" }, "rxBytes": { "type": "number", "format": "uint64", "description": "Rx Bytes" }, "txPkts": { "type": "number", "format": "uint64", "description": "Tx Packets" }, "rxPkts": { "type": "number", "format": "uint64", "description": "Rx packets" }, "txErrors": { "type": "number", "format": "uint64", "description": "Tx Errors" }, "rxErrors": { "type": "number", "format": "uint64", "description": "Rx Errors" }, "txDrops": { "type": "number", "format": "uint64", "description": "Tx Drops" }, "rxDrops": { "type": "number", "format": "uint64", "description": "Rx Drops" }, "txAclDrops": { "type": "number", "format": "uint64", "description": "Tx ACL Rate Drops" }, "rxAclDrops": { "type": "number", "format": "uint64", "description": "Rx ACL Rate Drops" }, "txAclRateLimitDrops": { "type": "number", "format": "uint64", "description": "Tx ACL Rate Limit Drops" }, "rxAclRateLimitDrops": { "type": "number", "format": "uint64", "description": "Rx ACL Rate Limit Drops" } }, "description": "NetworkCounter is used to store the Network Stats and Counters", "title": "NetworkCounter is used to store the Network Stats and Counters" }, "NetworkDHCPType": { "type": "string", "enum": [ "NETWORK_DHCP_TYPE_UNSPECIFIED", "NETWORK_DHCP_TYPE_STATIC", "NETWORK_DHCP_TYPE_PASSTHROUGH", "NETWORK_DHCP_TYPE_DEPRECATED", "NETWORK_DHCP_TYPE_CLIENT", "NETWORK_DHCP_TYPE_STATIC_ADAPTER_SPECIFIC" ], "default": "NETWORK_DHCP_TYPE_UNSPECIFIED", "title": "- NETWORK_DHCP_TYPE_STATIC: used for adapter configured DHCP static\n - NETWORK_DHCP_TYPE_PASSTHROUGH: used for adapter configured DHCP none, application will do DHCP\n - NETWORK_DHCP_TYPE_DEPRECATED: used for application simulation\n - NETWORK_DHCP_TYPE_CLIENT: used for adapter configured DHCP client\n - NETWORK_DHCP_TYPE_STATIC_ADAPTER_SPECIFIC: used to configure device adapter specific static networks" }, "NetworkInstConfig": { "type": "object", "properties": { "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3.", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "port": { "type": "string", "description": "name of port mapping in the model", "title": "name of port mapping in the model" }, "portTags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3.", "maxLength": 32, "pattern": "^[^<%&?/\\>]+$" }, "kind": { "$ref": "#/definitions/NetworkInstanceKind", "description": "Kind of Network Instance ( Local, Switch etc )" }, "type": { "$ref": "#/definitions/NetworkInstanceDhcpType", "description": "Type of DHCP for this Network Instance" }, "ip": { "$ref": "#/definitions/DhcpServerConfig", "description": "Dhcp Server Configuration" }, "dnsList": { "type": "array", "items": { "$ref": "#/definitions/StaticDNSList" }, "description": "List of Static DNS entries" }, "opaque": { "$ref": "#/definitions/NetInstOpaqueConfig", "description": "Service specific Config" }, "deviceDefault": { "type": "boolean", "description": "flag to indicate if this is the default network instance for the device", "title": "flag to indicate if this is default network" }, "propagateConnectedRoutes": { "type": "boolean", "description": "Automatically propagate connected routes", "title": "flag to indicate automatically propagate connected routes" }, "staticRoutes": { "type": "array", "items": { "$ref": "#/definitions/StaticIPRoute" }, "description": "List of Static IP routes", "title": "list of static IP routes" }, "forwardLldp": { "type": "boolean", "description": "enable/disable lldp frame forward" } } }, "NetworkInstPolicy": { "type": "object", "properties": { "metaData": { "$ref": "#/definitions/PolicyCommon", "description": "all the required metadata for a policy like id, name, different types of tags" }, "netInstConfig": { "$ref": "#/definitions/NetworkInstConfig", "description": "network instance config details" } } }, "NetworkInstanceDhcpType": { "type": "string", "enum": [ "NETWORK_INSTANCE_DHCP_TYPE_UNSPECIFIED", "NETWORK_INSTANCE_DHCP_TYPE_V4", "NETWORK_INSTANCE_DHCP_TYPE_V6", "NETWORK_INSTANCE_DHCP_TYPE_CRYPTOEID", "NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV4", "NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV6" ], "default": "NETWORK_INSTANCE_DHCP_TYPE_UNSPECIFIED", "title": "NetworkInstanceDhcpType: Used in the network instance provide\n dhcp server configuration" }, "NetworkInstanceFlowLogTransmission": { "type": "string", "enum": [ "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED", "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_ENABLED", "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_DISABLED" ], "default": "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED", "description": "NetworkInstanceFlowLogTransmission represents the status of flow log transmission\nwithin a network instance. This enum is used to enable or disable the transmission\nof flow logs for monitoring and troubleshooting purposes.\n\n - NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED: Default value. This value is not specified and should not be used.\n - NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_ENABLED: Flow log transmission is enabled. Logs will be sent to the designated\nlogging service for the network instance.\n - NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_DISABLED: Flow log transmission is disabled. No logs will be sent from the\nnetwork instance." }, "NetworkInstanceKind": { "type": "string", "enum": [ "NETWORK_INSTANCE_KIND_UNSPECIFIED", "NETWORK_INSTANCE_KIND_TRANSPARENT", "NETWORK_INSTANCE_KIND_SWITCH", "NETWORK_INSTANCE_KIND_LOCAL", "NETWORK_INSTANCE_KIND_CLOUD", "NETWORK_INSTANCE_KIND_MESH", "NETWORK_INSTANCE_KIND_HONEYPOT" ], "default": "NETWORK_INSTANCE_KIND_UNSPECIFIED" }, "NetworkKind": { "type": "string", "enum": [ "NETWORK_KIND_UNSPECIFIED", "NETWORK_KIND_V4", "NETWORK_KIND_V6", "NETWORK_KIND_V4_ONLY", "NETWORK_KIND_V6_ONLY", "NETWORK_KIND_DUAL_V4_V6" ], "default": "NETWORK_KIND_UNSPECIFIED", "title": "NetworkKind: Used for the network configuration, this is\n only client mode" }, "NetworkPolicy": { "type": "object", "properties": { "netInstanceConfig": { "type": "array", "items": { "$ref": "#/definitions/NetInstConfig" }, "description": "list of network details that will be created on all the devices of the project to which this policy is attached" } }, "description": "list of networks that will be created on all the devices of the project to which this policy is attached", "title": "Network policy body detail", "required": [ "netInstanceConfig" ] }, "NetworkProvider": { "type": "object", "properties": { "plmn": { "type": "string", "description": "PLMN code" }, "name": { "type": "string", "description": "Human-friendly name" }, "rat": { "type": "string", "$ref": "#/definitions/RadioAccessTechnology", "description": "Radio Access Technology" }, "roaming": { "type": "boolean", "description": "Is Roaming ON" }, "connectedAt": { "type": "string", "format": "date-time", "description": "Time when was the connection established" } }, "description": "NetworkProvider describes a cellular Network Provider", "title": "NetworkProvider describes a cellular Network Provider" }, "NetworkProxyProto": { "type": "string", "enum": [ "NETWORK_PROXY_PROTO_HTTP", "NETWORK_PROXY_PROTO_HTTPS", "NETWORK_PROXY_PROTO_SOCKS", "NETWORK_PROXY_PROTO_FTP", "NETWORK_PROXY_PROTO_OTHER" ], "default": "NETWORK_PROXY_PROTO_HTTP" }, "NetworkStatus": { "type": "object", "properties": { "up": { "type": "boolean", "description": "Network Status flag" }, "macAddr": { "type": "string", "description": "mac Address" }, "ifName": { "type": "string", "description": "ifName" }, "ipAddrs": { "type": "array", "items": { "type": "string" }, "description": "Array of IP addresses" }, "defaultRouters": { "type": "array", "items": { "type": "string" }, "description": "Default Routers" }, "dns": { "type": "object", "$ref": "#/definitions/DNSInfo", "description": "DNS Configuration" }, "location": { "type": "object", "$ref": "#/definitions/GeoLocation", "description": "Geo Location Details" }, "uplink": { "type": "boolean", "description": "Uplink flag" }, "proxy": { "type": "object", "$ref": "#/definitions/NetProxyStatus", "description": "Network Proxy status" }, "errInfo": { "type": "object", "$ref": "#/definitions/DeviceError", "description": "Network error details" }, "gpsLocation": { "type": "object", "$ref": "#/definitions/GPSLocation", "description": "Location from GNSS receivers on WWAN type adapters" }, "cellular": { "type": "object", "$ref": "#/definitions/CellularStatus", "description": "Cellular network status" }, "mtu": { "type": "integer", "format": "int64", "description": "Network MTU" }, "pnacStatus": { "$ref": "#/definitions/PNACPortStatus", "description": "PNAC 802.1X authentication status for this port", "title": "PNAC (802.1X) authentication status for this port" }, "configSource": { "$ref": "#/definitions/commonPortConfigSource", "description": "Identifies the source of this network port configuration" } }, "description": "NetworkStatus is used to store the Network status", "title": "NetworkStatus is used to store the Network Status" }, "NetworkWiFiKeyScheme": { "type": "string", "enum": [ "NETWORK_WIFIKEY_SCHEME_UNSPECIFIED", "NETWORK_WIFIKEY_SCHEME_WPAPSK", "NETWORK_WIFIKEY_SCHEME_WPAEAP" ], "default": "NETWORK_WIFIKEY_SCHEME_UNSPECIFIED" }, "NetworkWirelessType": { "type": "string", "enum": [ "NETWORK_WIRELESS_TYPE_UNSPECIFIED", "NETWORK_WIRELESS_TYPE_WIFI", "NETWORK_WIRELESS_TYPE_CELLULAR" ], "default": "NETWORK_WIRELESS_TYPE_UNSPECIFIED" }, "NtpServer": { "type": "object", "properties": { "server": { "type": "string", "description": "NTP Server IP or FQDN" } }, "description": "NTP Server", "title": "NTP Server" }, "NtpSource": { "type": "object", "properties": { "authenticated": { "type": "boolean" }, "reachable": { "type": "boolean" }, "reachability": { "type": "integer", "format": "int64" }, "state": { "$ref": "#/definitions/NtpSourceState" }, "mode": { "$ref": "#/definitions/NtpSourceMode" }, "hostname": { "type": "string" }, "srcAddr": { "type": "string" }, "srcPort": { "type": "integer", "format": "int64" }, "dstAddr": { "type": "string" }, "dstPort": { "type": "integer", "format": "int64" }, "leap": { "type": "integer", "format": "int64" }, "stratum": { "type": "integer", "format": "int64" }, "precision": { "type": "integer", "format": "int64" }, "refId": { "type": "string" }, "refTime": { "type": "string", "format": "date-time" }, "poll": { "type": "integer", "format": "int32" }, "flags": { "type": "integer", "format": "int64" }, "offset": { "type": "number", "format": "double" }, "delay": { "type": "number", "format": "double" }, "dispersion": { "type": "number", "format": "double" }, "jitter": { "type": "number", "format": "double" }, "rootDelay": { "type": "number", "format": "double" }, "rootDisp": { "type": "number", "format": "double" } } }, "NtpSourceMode": { "type": "string", "enum": [ "NTP_SOURCE_MODE_UNSPECIFIED", "NTP_SOURCE_MODE_CLIENT", "NTP_SOURCE_MODE_PEER", "NTP_SOURCE_MODE_REF" ], "default": "NTP_SOURCE_MODE_UNSPECIFIED", "description": "Enum for describing the NTP source mode, see chrony client\nhttps://gitlab.com/chrony/chrony/-/blob/master/client.c\nand its output of the command 'sources'." }, "NtpSourceState": { "type": "string", "enum": [ "NTP_SOURCE_STATE_UNSPECIFIED", "NTP_SOURCE_STATE_SYNC", "NTP_SOURCE_STATE_UNREACH", "NTP_SOURCE_STATE_FALSETICKER", "NTP_SOURCE_STATE_JITTERY", "NTP_SOURCE_STATE_CANDIDATE", "NTP_SOURCE_STATE_OUTLIER" ], "default": "NTP_SOURCE_STATE_UNSPECIFIED", "description": "Enum for describing the NTP source state, see chrony client\nsources https://gitlab.com/chrony/chrony/-/blob/master/client.c\nand its output of the command 'sources'." }, "NtpSources": { "type": "object", "properties": { "source": { "type": "array", "items": { "$ref": "#/definitions/NtpSource" } } } }, "ObjectParentDetail": { "type": "object", "properties": { "idOfParentObject": { "type": "string", "description": "system defined unique id of parent object", "readOnly": true, "pattern": "[0-9A-Za-z-]+", "required": [ "true" ] }, "versionOfParentObject": { "type": "integer", "format": "int64", "description": "version of object present in parent", "readOnly": true, "pattern": "[0-9]+" }, "updateAvailable": { "type": "boolean", "description": "Update required flag" }, "referenceExists": { "type": "boolean", "description": "Relation with child and parent object exists or not" } }, "description": "ObjectImportDetail consists of various object attributes like idOfParentObject, versionOfParentObject, updateAvailable, referenceExists", "title": "Object Import Detail", "required": [ "idOfParentObject" ] }, "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" ] }, "ObjectTag": { "type": "object", "properties": { "key": { "type": "string", "description": "object tag key identifier." }, "value": { "type": "string", "description": "value associated for the object tag key" }, "description": { "type": "string", "description": "Description of the tag key" } }, "description": "Object tag deaails.", "title": "Object Tag details" }, "ObjectTagFilter": { "type": "object", "properties": { "objId": { "type": "string", "description": "Object Id which tags are associated." }, "objName": { "type": "string", "description": "Object name which tags are associated." }, "objType": { "type": "object", "$ref": "#/definitions/ObjectType", "description": "Object type" } }, "description": "Filter criteria for the object tag list.", "title": "Object tag list filter criteria" }, "ObjectTagsList": { "type": "object", "properties": { "objectTags": { "type": "array", "items": { "$ref": "#/definitions/ObjectTag" }, "description": "Details of Object tags list records." }, "next": { "$ref": "#/definitions/Cursor", "description": "Returned record page." } }, "description": "Returned list of Object tags matched by filter criteria", "title": "Object tag list records" }, "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" }, "OpaqueConfigType": { "type": "string", "enum": [ "OPAQUE_CONFIG_TYPE_UNSPECIFIED", "OPAQUE_CONFIG_TYPE_VPN", "OPAQUE_CONFIG_TYPE_LISP" ], "default": "OPAQUE_CONFIG_TYPE_UNSPECIFIED" }, "OptionalCapabilities": { "type": "object", "properties": { "hvTypeKubevirt": { "type": "boolean", "title": "Virtualization type Kubevirt" }, "etcdSnapshot": { "type": "boolean", "title": "Device supports etcd snapshots (e.g. eve-k flavor)" } } }, "Origin": { "type": "string", "enum": [ "ORIGIN_UNSPECIFIED", "ORIGIN_IMPORTED", "ORIGIN_LOCAL", "ORIGIN_GLOBAL", "ORIGIN_APP_PROFILE_LOCAL" ], "default": "ORIGIN_UNSPECIFIED", "description": "- ORIGIN_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - ORIGIN_IMPORTED: Object imported from global enterprise.\n - ORIGIN_LOCAL: Objectl created locally.\n - ORIGIN_GLOBAL: Object created in global store,\nto use this type user should have root previlage.\n - ORIGIN_APP_PROFILE_LOCAL: Object created via App profile", "title": "OriginType : enum specifies the Object orgigin type" }, "PCRPolicy": { "type": "object", "properties": { "id": { "type": "string", "description": "unique policy id", "readOnly": true, "pattern": "[0-9-a-z-]+" }, "pcrIndices": { "type": "array", "items": { "type": "integer", "format": "int64" }, "description": "List of PCR indices for TPM key sealing" }, "policyVersion": { "type": "integer", "format": "int64", "description": "Policy version for audit tracking" } }, "description": "PCR policy for TPM key sealing on devices", "title": "PCR policy body detail", "required": [ "pcrIndices" ] }, "PCRTemplate": { "type": "object", "properties": { "eveVersion": { "type": "string", "description": "EVE version related to the PCR template" }, "firmwareVersion": { "type": "string", "description": "Firmware version related to the PCR template. If user doesn't set it, it will be set to '*'" }, "PCRValues": { "type": "array", "items": { "$ref": "#/definitions/PCRValue" }, "description": "List of PCR values for the PCR template" }, "id": { "type": "string", "description": "System defined universally unique Id of the PCR template. If not set in POST / PUT API calls, this will be treated as a new entry and a unique System Generated ID assigned.", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "Name of the PCR template. The name is Unique among PCR templates for that System Model. If it is not specified, a system-generated name will be assigned.", "maxLength": 256 } }, "description": "PCR template data for the specified eve version and firmware version", "title": "PCR template", "required": [ "eveVersion", "PCRValues" ] }, "PCRTemplatesInfo": { "type": "object", "properties": { "templates": { "type": "array", "items": { "$ref": "#/definitions/PCRTemplate" }, "description": "List of templates" }, "next": { "$ref": "#/definitions/Cursor", "description": "Responded page details of filtered records" } }, "description": "List of PCR templates associated with some System Model. ", "title": "PCR template list info" }, "PCRTemplatesReq": { "type": "object", "properties": { "modelId": { "type": "string", "description": "device model identifier" }, "templates": { "type": "array", "items": { "$ref": "#/definitions/PCRTemplate" }, "description": "List of templates" } }, "description": "Request that contains a model id and pcr templates, which can be associated with the model. ", "title": "PCR templates request " }, "PCRType": { "type": "string", "enum": [ "PCR_TYPE_UNSPECIFIED", "PCR_TYPE_HASH", "PCR_TYPE_EVENT_LOG" ], "default": "PCR_TYPE_UNSPECIFIED", "title": "- PCR_TYPE_UNSPECIFIED: Unset PCR type\n - PCR_TYPE_HASH: PCR value of type HASH\n - PCR_TYPE_EVENT_LOG: PCR value of type event log" }, "PCRValue": { "type": "object", "properties": { "type": { "$ref": "#/definitions/PCRType", "description": "Type of value for the PCR item. Could be one of the following values: 0 (PCR_TYPE_UNSPECIFIED), 1 (PCR_TYPE_HASH) or 2 (PCR_TYPE_EVENT_LOG)" }, "index": { "type": "number", "format": "int64", "description": "Current index for the PCR item in the list. First element has the index 0" }, "value": { "type": "string", "description": "Actual value for the PCR item." } }, "description": "PCR value contains the actual value of the specified PCR type", "title": "PCR value", "required": [ "type", "index", "value" ] }, "PNACMetricInfo": { "type": "object", "properties": { "logicalLabel": { "type": "string", "description": "Logical label of the network port" }, "eapolFramesRx": { "type": "string", "format": "uint64", "description": "Total EAPOL frames received" }, "eapolFramesTx": { "type": "string", "format": "uint64", "description": "Total EAPOL frames transmitted" }, "eapolStartFramesTx": { "type": "string", "format": "uint64", "description": "EAPOL-Start frames transmitted" }, "eapolLogoffFramesTx": { "type": "string", "format": "uint64", "description": "EAPOL-Logoff frames transmitted" }, "eapolRespFramesTx": { "type": "string", "format": "uint64", "description": "EAP-Response frames transmitted" }, "eapolReqIdFramesRx": { "type": "string", "format": "uint64", "description": "EAP-Request Identity frames received" }, "eapolReqFramesRx": { "type": "string", "format": "uint64", "description": "EAP-Request frames received" }, "invalidEapolFramesRx": { "type": "string", "format": "uint64", "description": "Invalid EAPOL frames received" }, "eapLengthErrorFramesRx": { "type": "string", "format": "uint64", "description": "EAPOL frames with length errors received" } }, "description": "PNACMetricInfo reports 802.1X EAPOL frame counters for a network port." }, "PNACPortStatus": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether 802.1X authentication is enabled on this port" }, "supplicantState": { "$ref": "#/definitions/PNACSupplicantState", "description": "802.1X supplicant state" }, "lastAuthTimestamp": { "type": "string", "format": "date-time", "description": "Timestamp of the most recent successful 802.1X authentication." }, "err": { "type": "object", "$ref": "#/definitions/DeviceError", "description": "Supplicant authentication error details" } }, "description": "PNACPortStatus reports the 802.1X authentication status of a network port." }, "PNACSupplicantState": { "type": "string", "enum": [ "PNAC_SUPPLICANT_STATE_UNSPECIFIED", "PNAC_SUPPLICANT_STATE_DISCONNECTED", "PNAC_SUPPLICANT_STATE_CONNECTING", "PNAC_SUPPLICANT_STATE_AUTHENTICATING", "PNAC_SUPPLICANT_STATE_AUTHENTICATED", "PNAC_SUPPLICANT_STATE_FAILED", "PNAC_SUPPLICANT_STATE_HELD" ], "default": "PNAC_SUPPLICANT_STATE_UNSPECIFIED", "description": "PNACSupplicantState describes the 802.1X supplicant state for PNAC.\n\n - PNAC_SUPPLICANT_STATE_DISCONNECTED: Supplicant is idle or link is down; no authentication in progress.\n - PNAC_SUPPLICANT_STATE_CONNECTING: Link is up and the supplicant is initiating authentication.\n - PNAC_SUPPLICANT_STATE_AUTHENTICATING: Active EAP authentication exchange is in progress.\n - PNAC_SUPPLICANT_STATE_AUTHENTICATED: Authentication completed successfully; port is authorized.\n - PNAC_SUPPLICANT_STATE_FAILED: Authentication failed and access was not granted.\n - PNAC_SUPPLICANT_STATE_HELD: Supplicant is in a held or backoff state following repeated failures." }, "Param": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Parameter (Required)" }, "value": { "type": "string", "description": "Value of the parameter (Required)" } } }, "Permission": { "type": "object" }, "PhysicalStorage": { "type": "object", "properties": { "poolName": { "type": "string" }, "storageType": { "$ref": "#/definitions/PhysicalStorageTypeInfo" }, "storageState": { "$ref": "#/definitions/PhysicalStorageStatus" }, "zfsVersion": { "type": "string" }, "countZvols": { "type": "integer", "format": "int64" }, "currentRaid": { "$ref": "#/definitions/PhysicalStorageRaidType" }, "compressionRatio": { "type": "number", "format": "double" }, "zpoolSize": { "type": "string", "format": "uint64" }, "disks": { "type": "array", "items": { "$ref": "#/definitions/PhysicalStorageDiskState" } }, "poolStatusMsg": { "type": "string", "description": "Zpool Status message sent by EVE" } } }, "PhysicalStorageDiskState": { "type": "object", "properties": { "disk": { "$ref": "#/definitions/DiskDescription" }, "status": { "$ref": "#/definitions/PhysicalStorageStatus" }, "smartStatus": { "type": "string" } } }, "PhysicalStorageRaidType": { "type": "string", "enum": [ "PHYSICAL_STORAGE_RAID_TYPE_UNSPECIFIED", "PHYSICAL_STORAGE_RAID_TYPE_RAID0", "PHYSICAL_STORAGE_RAID_TYPE_RAID_MIRROR", "PHYSICAL_STORAGE_RAID_TYPE_RAIDZ1", "PHYSICAL_STORAGE_RAID_TYPE_RAIDZ2", "PHYSICAL_STORAGE_RAID_TYPE_RAIDZ3", "PHYSICAL_STORAGE_RAID_TYPE_NORAID" ], "default": "PHYSICAL_STORAGE_RAID_TYPE_UNSPECIFIED" }, "PhysicalStorageStatus": { "type": "string", "enum": [ "PHYSICAL_STORAGE_STATUS_UNSPECIFIED", "PHYSICAL_STORAGE_STATUS_ONLINE", "PHYSICAL_STORAGE_STATUS_DEGRADED", "PHYSICAL_STORAGE_STATUS_FAULTED", "PHYSICAL_STORAGE_STATUS_OFFLINE", "PHYSICAL_STORAGE_STATUS_UNAVAIL", "PHYSICAL_STORAGE_STATUS_REMOVED", "PHYSICAL_STORAGE_STATUS_SUSPENDED" ], "default": "PHYSICAL_STORAGE_STATUS_UNSPECIFIED" }, "PhysicalStorageTypeInfo": { "type": "string", "enum": [ "PHYSICAL_STORAGE_TYPE_INFO_UNSPECIFIED", "PHYSICAL_STORAGE_TYPE_INFO_EXT4", "PHYSICAL_STORAGE_TYPE_INFO_ZFS" ], "default": "PHYSICAL_STORAGE_TYPE_INFO_UNSPECIFIED" }, "PolicyCommon": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for an policy" }, "name": { "type": "string", "description": "user defined policy name" }, "title": { "type": "string", "description": "user defined policy title" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "object revision details" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "user defined key-value pairs of a policy" }, "policyTargetCondition": { "type": "object", "additionalProperties": { "type": "string" }, "description": "user defined key-value pairs of a policy that will be used for targeting by devices" } } }, "PolicyConfig": { "type": "object", "properties": { "name": { "type": "string", "description": "User defined name of the policy request, unique across the enterprise. Once object is created, name can\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "id": { "type": "string", "description": "System defined universally unique Id of the policy request", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "title": { "type": "string", "description": "User defined title of the policy. 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 policy", "maxLength": 256 }, "type": { "$ref": "#/definitions/PolicyType", "description": "type of policy" }, "status": { "$ref": "#/definitions/PolicyStatus", "description": "status of the policy", "readOnly": true }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "system defined info", "readOnly": true }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Mapping of policy variable keys and policy variable values" }, "appPolicy": { "$ref": "#/definitions/AppPolicy", "description": "app policy, which is used in auto app instance deployment" }, "azurePolicy": { "$ref": "#/definitions/AzurePolicy", "description": "azure policy, which is used in configuring azure iot-edge." }, "modulePolicy": { "$ref": "#/definitions/ModulePolicy", "description": "module policy, which is used in auto module deployment" }, "attestationPolicy": { "$ref": "#/definitions/AttestationPolicy", "description": "attestation policy to enforce on all devices in this project" }, "networkPolicy": { "$ref": "#/definitions/NetworkPolicy", "description": "network policy to enforce on all devices in this project" }, "clusterPolicy": { "$ref": "#/definitions/ClusterPolicy", "description": "cluster policy to bring up cluster on devices in this project" }, "edgeviewPolicy": { "$ref": "#/definitions/EdgeviewPolicy", "description": "edgeview policy on devices of this project" }, "localOperatorConsolePolicy": { "$ref": "#/definitions/LocalOperatorConsolePolicy", "description": "local operator console policy to enforce on all devices in this project" }, "configurationLockPolicy": { "$ref": "#/definitions/ConfigurationLockPolicy", "description": "configuration lock policy to enforce on all devices in this project" }, "pcrPolicy": { "$ref": "#/definitions/PCRPolicy", "description": "PCR policy for TPM key sealing on devices in this project" }, "portBasedNetworkAccessControlPolicy": { "$ref": "#/definitions/PortBasedNetworkAccessControlPolicy", "description": "port based network access control (802.1X) policy to enforce on all devices in this project" }, "statusMessage": { "type": "string", "description": "Detailed status message of the policy", "maxLength": 256 } }, "description": "Policy configuration defines set of policies to be applied on a resource grup (project). Policy can be one of the types specified in PolicyType. Multiple policies can be applied to a single resource group (project).", "title": "Policy detailed configuration for a resource group (project)", "required": [ "name", "title", "type" ] }, "PolicyStatus": { "type": "string", "enum": [ "POLICY_STATUS_UNSPECIFIED", "POLICY_STATUS_INITIALIZED", "POLICY_STATUS_INPROGRESS", "POLICY_STATUS_READY", "POLICY_STATUS_FAILED" ], "default": "POLICY_STATUS_UNSPECIFIED", "description": "policy status." }, "PolicyType": { "type": "string", "enum": [ "POLICY_TYPE_UNSPECIFIED", "POLICY_TYPE_APP", "POLICY_TYPE_AZURE", "POLICY_TYPE_AWS", "POLICY_TYPE_GCP", "POLICY_TYPE_MODULE", "POLICY_TYPE_ATTESTATION", "POLICY_TYPE_NETWORK", "POLICY_TYPE_CLUSTER", "POLICY_TYPE_EDGEVIEW", "POLICY_TYPE_LOC", "POLICY_TYPE_CONFIGURATION_LOCK", "POLICY_TYPE_PCR", "POLICY_TYPE_PORT_BASED_NETWORK_ACCESS_CONTROL" ], "default": "POLICY_TYPE_UNSPECIFIED", "description": "type of policy." }, "PortBasedNetworkAccessControlPolicy": { "type": "object", "properties": { "id": { "type": "string", "description": "unique policy id", "readOnly": true, "pattern": "[0-9-a-z-]+" }, "enablePortBasedNetworkAccessControl": { "type": "boolean", "description": "Enable or disable port based network access control (802.1X). When disabled, other fields are ignored." }, "eapMethod": { "$ref": "#/definitions/EAPMethod", "description": "EAP method to use for port based network access control. Only EAP-TLS is supported currently." }, "eapIdentity": { "type": "string", "description": "EAP identity string used for authentication", "title": "EAP identity string used for authentication" }, "certificateEnrollmentId": { "type": "string", "description": "ID of the certificate enrollment object used for 802.1X authentication", "title": "Reference to the certificate enrollment object used for 802.1X authentication" } }, "description": "Port based network access control policy (802.1X) to enforce on all devices of the project", "title": "Port based network access control policy body detail" }, "ProbeConfig": { "type": "object", "properties": { "enableGatewayPing": { "type": "boolean", "description": "Enable gateway ping" }, "pingMaxCost": { "type": "number", "format": "int64", "description": "Ping max cost" }, "preferLowerCost": { "type": "boolean", "description": "Prefer lower cost" }, "preferStrongerWwanSignal": { "type": "boolean", "description": "Prefer stronger WWAN signal" }, "customProbeConfig": { "type": "object", "$ref": "#/definitions/commonConnectivityProbe", "description": "Custom probe configuration" } }, "description": "Probing configuration", "title": "Probing configuration" }, "ProjectInfo": { "type": "object", "properties": { "projectId": { "type": "string", "description": "system generated unique id for a project", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "projectName": { "type": "string", "description": "project name" }, "type": { "$ref": "#/definitions/TagType", "description": "Resource group type" } }, "description": "Detailed project information including id, name", "title": "Project details" }, "RSA": { "type": "object", "properties": { "rsaBits": { "type": "string", "format": "int64", "description": "RSA Encryption Key bit size." } } }, "RadioAccessTechnology": { "type": "string", "enum": [ "RADIO_ACCESS_TECHNOLOGY_UNSPECIFIED", "RADIO_ACCESS_TECHNOLOGY_GSM", "RADIO_ACCESS_TECHNOLOGY_UMTS", "RADIO_ACCESS_TECHNOLOGY_LTE", "RADIO_ACCESS_TECHNOLOGY_5GNR" ], "default": "RADIO_ACCESS_TECHNOLOGY_UNSPECIFIED", "description": " - RADIO_ACCESS_TECHNOLOGY_GSM: Global System for Mobile Communications (2G).\n - RADIO_ACCESS_TECHNOLOGY_UMTS: Universal Mobile Telecommunications System (3G).\n - RADIO_ACCESS_TECHNOLOGY_LTE: Long Term Evolution (4G).\n - RADIO_ACCESS_TECHNOLOGY_5GNR: 5G New Radio." }, "Resource": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Resource (Required)" }, "value": { "type": "string", "description": "Value of Resource (Required)" } } }, "ResourceGroupDetail": { "type": "object", "properties": { "name": { "type": "string", "description": "resource group name" }, "region": { "type": "string", "description": "resource group region" }, "subscriptionId": { "type": "string", "description": "azure subscription id to which resource group is attached" } }, "description": "Resource group request payload for cloud policy", "title": "Resource group payload detail for cloud policy", "required": [ "name", "subscriptionId" ] }, "RunState": { "type": "string", "enum": [ "RUN_STATE_UNSPECIFIED", "RUN_STATE_ONLINE", "RUN_STATE_HALTED", "RUN_STATE_INIT", "RUN_STATE_REBOOTING", "RUN_STATE_OFFLINE", "RUN_STATE_UNKNOWN", "RUN_STATE_UNPROVISIONED", "RUN_STATE_PROVISIONED", "RUN_STATE_SUSPECT", "RUN_STATE_DOWNLOADING", "RUN_STATE_RESTARTING", "RUN_STATE_PURGING", "RUN_STATE_HALTING", "RUN_STATE_ERROR", "RUN_STATE_VERIFYING", "RUN_STATE_LOADING", "RUN_STATE_CREATING_VOLUME", "RUN_STATE_BOOTING", "RUN_STATE_MAINTENANCE_MODE", "RUN_STATE_START_DELAYED", "RUN_STATE_BASEOS_UPDATING", "RUN_STATE_PREPARING_POWEROFF", "RUN_STATE_POWERING_OFF", "RUN_STATE_PREPARED_POWEROFF" ], "default": "RUN_STATE_UNSPECIFIED", "description": "- RUN_STATE_ONLINE: Entity Online\n - RUN_STATE_HALTED: Entity Halted\n - RUN_STATE_INIT: Entity Initializing\n - RUN_STATE_REBOOTING: Entity Rebooting\n - RUN_STATE_OFFLINE: Entity Offline\n - RUN_STATE_UNKNOWN: Entity state Unknown\n - RUN_STATE_UNPROVISIONED: Entity Unprovisioned\n - RUN_STATE_PROVISIONED: Entity Provisioned\n - RUN_STATE_SUSPECT: Entity Suspect\n - RUN_STATE_DOWNLOADING: Edge-node downloading entity artifacts\n - RUN_STATE_RESTARTING: Entity Restarting\n - RUN_STATE_PURGING: Entity Purging\n - RUN_STATE_HALTING: Entity Halting\n - RUN_STATE_ERROR: Entity encountered an error\n - RUN_STATE_VERIFYING: Verification of downloaded Artifacts in Progress.\n - RUN_STATE_LOADING: Loading of Artifacts into local datastore in Progress.\n - RUN_STATE_CREATING_VOLUME: Volume creation from artifacts in Progress\n - RUN_STATE_BOOTING: Entity booting up\n - RUN_STATE_MAINTENANCE_MODE: Entity maintenance mode\n - RUN_STATE_START_DELAYED: Application start delayed as per configuration\n - RUN_STATE_BASEOS_UPDATING: Device BaseOs Update in Progress\n - RUN_STATE_PREPARING_POWEROFF: device preparing power off - shutting down all app instances\n - RUN_STATE_POWERING_OFF: device powering off from local profile server\n - RUN_STATE_PREPARED_POWEROFF: device prepared power off - all app instances are shut down", "title": "RunState - On update, please update RunState_HttpRequest as well" }, "RunStateConfig_HttpRequestRunState_HttpRequest": { "type": "string", "enum": [ "UNSPECIFIED", "ONLINE", "HALTED", "INIT", "REBOOTING", "OFFLINE", "UNKNOWN", "UNPROVISIONED", "PROVISIONED", "SUSPECT", "DOWNLOADING", "RESTARTING", "PURGING", "HALTING", "ERROR", "VERIFYING", "LOADING", "CREATING_VOLUME", "BOOTING", "MAINTENANCE_MODE", "START_DELAYED", "BASEOS_UPDATING", "PREPARING_POWEROFF", "POWERING_OFF", "PREPARED_POWEROFF" ], "default": "UNSPECIFIED", "title": "RunState_HttpRequest - Only for swagger documentation" }, "SANValues": { "type": "object", "properties": { "hosts": { "type": "array", "items": { "type": "string" }, "description": "List of permitted hosts." }, "emaildIds": { "type": "array", "items": { "type": "string" }, "description": "List of permitted email addresses." }, "uris": { "type": "array", "items": { "type": "string" }, "description": "List of permitted URIs." }, "ips": { "type": "array", "items": { "type": "string" }, "description": "List of permitted IP addresses." }, "dns": { "type": "array", "items": { "type": "string" }, "description": "List of permitted DNS names." }, "upns": { "type": "array", "items": { "type": "string" }, "description": "List of permitted User principal names." } } }, "SIMCard": { "type": "object", "properties": { "slotNumber": { "type": "number", "format": "int64", "description": "Slot number" }, "slotActivated": { "type": "boolean", "description": "Is Slot activated" }, "iccid": { "type": "string", "description": "Integrated Circuit Card Identifier" }, "imsi": { "type": "string", "description": "International Mobile Subscriber Identity" }, "state": { "type": "string", "description": "Current state of the SIM card" } }, "description": "SIMCard describes a SIM slot", "title": "SIMCard describes a SIM slot" }, "SKUDetail": { "type": "object", "properties": { "name": { "type": "string" }, "tier": { "type": "string" }, "capacity": { "type": "string" } } }, "SWState": { "type": "string", "enum": [ "SW_STATE_UNSPECIFIED", "SW_STATE_INITIAL", "SW_STATE_DOWNLOAD_IN_PROGRESS", "SW_STATE_DOWNLOADED", "SW_STATE_VERIFIED", "SW_STATE_INSTALLED", "SW_STATE_BOOTING", "SW_STATE_RUNNING", "SW_STATE_HALTING", "SW_STATE_HALTED", "SW_STATE_REFRESHING", "SW_STATE_PURGING", "SW_STATE_RESOLVING_TAG", "SW_STATE_RESOLVED_TAG", "SW_STATE_CREATING_VOLUME", "SW_STATE_CREATED_VOLUME", "SW_STATE_VERIFYING", "SW_STATE_LOADING", "SW_STATE_LOADED", "SW_STATE_AWAITNETWORKINSTANCE" ], "default": "SW_STATE_UNSPECIFIED", "description": "- SW_STATE_RESOLVING_TAG: Prior to DOWNLOAD_STARTED we go through these:\nResolving an image tag\n - SW_STATE_RESOLVED_TAG: Tag has been resolved/failed\n - SW_STATE_CREATING_VOLUME: Prior to INSTALLED we go through these:\nVolume create in progress\n - SW_STATE_CREATED_VOLUME: Volume create done/failed\n - SW_STATE_VERIFYING: Verification in-progress\n - SW_STATE_LOADING: Loading blob in CAS\n - SW_STATE_LOADED: Loaded blob in CAS\n - SW_STATE_AWAITNETWORKINSTANCE: Wait for network instance", "title": "State of EVE/Edge Application software" }, "SendDeviceMetrics": { "type": "string", "enum": [ "SEND_DEVICE_METRICS_UNSPECIFIED", "SEND_DEVICE_METRICS_ENABLED", "SEND_DEVICE_METRICS_DISABLED" ], "default": "SEND_DEVICE_METRICS_UNSPECIFIED", "description": "SendDeviceMetrics controls whether device metrics are sent to the cloud for devices in a project.\n\n - SEND_DEVICE_METRICS_UNSPECIFIED: Default value. Setting is not configured; treated as enabled.\n - SEND_DEVICE_METRICS_ENABLED: Device metrics sending is enabled.\n - SEND_DEVICE_METRICS_DISABLED: Device metrics sending is disabled." }, "ServicePoint": { "type": "object", "properties": { "type": { "type": "object", "$ref": "#/definitions/spType", "description": "Service Point Type" }, "NameOrIp": { "type": "string", "description": "Service name/ service name" }, "Credential": { "type": "string", "description": "Service credentials" } }, "description": "Service Point", "title": "Service Point" }, "Severity": { "type": "string", "enum": [ "SEVERITY_UNSPECIFIED", "SEVERITY_NOTICE", "SEVERITY_WARNING", "SEVERITY_ERROR" ], "default": "SEVERITY_UNSPECIFIED", "title": "Severity tells the severity type" }, "SharedStorageSummary": { "type": "object", "properties": { "Id": { "type": "string", "description": "Id" }, "Name": { "type": "string", "description": "Name" }, "AllocatedMB": { "type": "number", "format": "double", "description": "Allocated Storage in MBs" }, "UsedMB": { "type": "number", "format": "double", "description": "How much is used within the allocated total storage" } }, "description": "Shared Storage Summary", "title": "Shared Storage Summary" }, "SimcardState": { "type": "string", "enum": [ "SIMCARD_STATE_INVALID", "SIMCARD_STATE_ASSIGNED", "SIMCARD_STATE_PROVISIONED", "SIMCARD_STATE_ACTIVE", "SIMCARD_STATE_SUSPENDED", "SIMCARD_STATE_CANCELLED" ], "default": "SIMCARD_STATE_INVALID" }, "SmartAttr": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "value": { "type": "string", "format": "uint64" }, "worst": { "type": "string", "format": "uint64" }, "thresh": { "type": "string", "format": "uint64" }, "whenFailed": { "type": "string" }, "rawValue": { "type": "string", "format": "uint64" }, "type": { "type": "string" }, "attributeName": { "type": "string" } } }, "StaticDNSList": { "type": "object", "properties": { "hostname": { "type": "string", "description": "Host name" }, "addrs": { "type": "array", "items": { "type": "string" }, "description": "Addresses" } }, "description": "Static DNS list", "title": "Static DNS list" }, "StaticIPRoute": { "type": "object", "properties": { "prefix": { "type": "string", "description": "IP Prefix" }, "gateway": { "type": "string", "description": "Gateway IP" }, "outputPort": { "type": "string", "description": "Output Port" }, "probeConfig": { "type": "object", "$ref": "#/definitions/ProbeConfig", "description": "Probe Configuration" } }, "description": "Static IP Routes", "title": "Static IP Routes" }, "StorageDeviceMetrics": { "type": "object", "properties": { "readErrors": { "type": "number", "format": "int64", "description": "read errors counter" }, "writeErrors": { "type": "number", "format": "int64", "description": "write errors counter" }, "checksumErrors": { "type": "number", "format": "int64", "description": "checksum errors counter" }, "bytesRead": { "type": "number", "format": "int64", "description": "read bytes counter" }, "bytesWrite": { "type": "number", "format": "int64", "description": "write bytes counter" } } }, "StorageDiskInfo": { "type": "object", "properties": { "diskName": { "type": "string" }, "wwn": { "type": "string" }, "serialNumber": { "type": "string" }, "model": { "type": "string" }, "collectorErrors": { "type": "string" }, "smartAttr": { "type": "array", "items": { "$ref": "#/definitions/SmartAttr" } } } }, "StorageStatus": { "type": "object", "properties": { "name": { "type": "string" }, "mountPath": { "type": "string" }, "sizeMB": { "type": "string", "format": "uint64" } } }, "StorageSummary": { "type": "object", "properties": { "TotalMB": { "type": "number", "format": "double", "description": "Total Storage for the device in MBs" }, "UsedMB": { "type": "number", "format": "double", "description": "How much is used within the allocated total storage" }, "AllocatedMB": { "type": "number", "format": "double", "description": "Total reserved for running applications + temp. images etc" }, "sharedStorageSummary": { "type": "array", "items": { "$ref": "#/definitions/SharedStorageSummary" }, "description": "Shared storage summary" }, "Id": { "type": "string", "description": "Id" }, "Name": { "type": "string", "description": "Name" } }, "description": "Storage Summary", "title": "Storage Summary" }, "Subject": { "type": "object", "properties": { "commonName": { "type": "string", "description": "Certificate common name." }, "country": { "type": "array", "items": { "type": "string" }, "description": "List of countries." }, "organization": { "type": "array", "items": { "type": "string" }, "description": "List of organization." }, "organizationalUnit": { "type": "array", "items": { "type": "string" }, "description": "List of Organizational Unit." }, "locality": { "type": "array", "items": { "type": "string" }, "description": "List of locallity." }, "postalCode": { "type": "array", "items": { "type": "string" }, "description": "List of Postal codes." }, "province": { "type": "array", "items": { "type": "string" }, "description": "List of List of Prvince." }, "serialNumber": { "type": "string", "description": "Subject cerial number" } } }, "Summary": { "type": "object", "properties": { "description": { "type": "string", "description": "Summary description" }, "total": { "type": "number", "format": "int64", "description": "Total" }, "values": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Values: Map for storing " } }, "description": "Summary is used to store the Summary details", "title": "Summary is used to store the Summary details" }, "SymmetricKeyEnrollmentDetail": { "type": "object", "properties": { "type": { "$ref": "#/definitions/EnrollmentType" }, "individualSymmetricKeyEnrollment": { "$ref": "#/definitions/IndividualSymmetricKeyEnrollment" }, "groupSymmetricKeyEnrollment": { "$ref": "#/definitions/GroupSymmetricKeyEnrollment" } } }, "SysBrand": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the brand.", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "user defined sys brand name", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "title": { "type": "string", "description": "user defined title for sys brand", "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "description": { "type": "string", "description": "Detailed description of the image.", "maxLength": 256 }, "svg": { "type": "string", "description": "Deprecated: base64 encoded string of svg file" }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of " }, "state": { "$ref": "#/definitions/SysModelState", "description": "Sys Model Status" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "Object Revision of the sys brand" }, "systemMfgName": { "type": "string", "description": "System Manufacturer name" }, "logo": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of which holds the key:url for the logo artifact of the the brand" }, "originType": { "$ref": "#/definitions/Origin", "description": "origin of object" } }, "description": "SysModel consists of various brand attributes like id, name, title, svg, state, systemMfgName", "title": "SysBrand payload details", "required": [ "name", "title", "originType" ] }, "SysBrands": { "type": "object", "properties": { "terse": { "$ref": "#/definitions/Summary", "description": "Summary of filtered model records" }, "list": { "type": "array", "items": { "$ref": "#/definitions/SysBrand" }, "description": "List of filtered Sys Models" }, "next": { "$ref": "#/definitions/Cursor", "description": "Responded page details of filtered records" } }, "description": "SysBrands used when listing the available brands, if consists of various brand attributes like terse, model list and next filter.", "title": "SysBrands payload details" }, "SysInterface": { "type": "object", "properties": { "netname": { "type": "string", "description": "network name: if attaching a network use netname" }, "adapterSpecificNet": { "type": "string", "$ref": "#/definitions/NetConfig", "description": "device adapter specific network configuration", "title": "adapterSpecificNet is relevant only when the network selected for the adapter is of type NETWORK_DHCP_TYPE_STATIC_ADAPTER_SPECIFIC" }, "ipaddr": { "type": "string", "description": "IP address: we will be needing this in cae of static network" }, "intfname": { "type": "string", "description": "name of interface in the manifest to which this network or adapter maps to" }, "intfUsage": { "type": "object", "$ref": "#/definitions/AdapterUsage", "description": "Adapter Udage" }, "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": "^[^<%&?/\\>]+$" }, "macaddr": { "type": "string", "description": "mac address needs to be over-written in some cases" }, "cost": { "type": "integer", "format": "int64", "description": "cost of using this interface. Default is 0.", "maximum": 255 }, "netid": { "type": "string", "description": "network identifier has to have value if the netname is not empty" }, "sharedLabels": { "type": "array", "items": { "type": "string" }, "description": "A set of user-defined shared labels attached to the adapter" }, "netDhcp": { "$ref": "#/definitions/NetworkDHCPType", "description": "Network DHCP type" }, "ztype": { "type": "string", "description": "Z Type" }, "allowLocalModifications": { "type": "boolean", "description": "Allow the local operator to make (limited) configuration changes to this network adapter." }, "enablePortBasedNetworkAccessControl": { "type": "boolean", "description": "Enable port-based network access control (802.1X) on this interface. Only applicable for Ethernet interfaces that are not app-direct." } }, "description": "system interfaces that needs to be used by dom0", "title": "sysInterface payload detail" }, "SysModel": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the model.", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "user defined model name", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+" }, "title": { "type": "string", "description": "User defined title of the model. Title can be changed at any time.", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+" }, "brandId": { "type": "string", "description": "System defined universally unique Id of the brand.", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12", "uniqueItems": true }, "description": { "type": "string", "description": "Detailed description of the model.", "maxLength": 256 }, "state": { "$ref": "#/definitions/SysModelState", "description": "SysModel State which denotes the status of the model" }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "Object Revision of the model", "readOnly": true }, "type": { "$ref": "#/definitions/ModelArchType", "description": "Defines the Architecture type of the model" }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of which defines attr" }, "productStatus": { "type": "string", "description": "Product status" }, "productURL": { "type": "string", "description": "Product URL" }, "brandName": { "type": "string", "description": "Brand name." }, "ioMemberList": { "type": "array", "items": { "$ref": "#/definitions/ioMember" }, "description": "List of IoMembers" }, "logo": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of which holds the key:url for the logo artifact of the model" }, "parentDetail": { "$ref": "#/definitions/ObjectParentDetail", "description": "origin and parent related details" }, "originType": { "$ref": "#/definitions/Origin", "description": "origin of object" }, "PCRTemplates": { "type": "array", "items": { "$ref": "#/definitions/PCRTemplate" }, "description": "PCR templates keyed by EVE version" }, "isImported": { "type": "boolean", "description": "Flag to represent whether sysModel is imported" } }, "description": "SysModel consists of various model attributes like id, name, title, brandId etc", "title": "SysModel payload details", "required": [ "name", "title", "brandId", "state", "type", "attr", "originType" ] }, "SysModelState": { "type": "string", "enum": [ "SYS_MODEL_STATE_UNSPECIFIED", "SYS_MODEL_STATE_ARCHIVE", "SYS_MODEL_STATE_ACTIVE" ], "default": "SYS_MODEL_STATE_UNSPECIFIED", "description": "- SYS_MODEL_STATE_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - SYS_MODEL_STATE_ARCHIVE: Archived sysModel State\n - SYS_MODEL_STATE_ACTIVE: Active sysModel state", "title": "SysModelState : enum specifies the SysModel status" }, "SysModels": { "type": "object", "properties": { "terse": { "$ref": "#/definitions/Summary", "description": "Summary of filtered model records" }, "summaryByDeviceDistribution": { "$ref": "#/definitions/Summary", "description": "Summary by device distribution" }, "summaryByBrandDistribution": { "$ref": "#/definitions/Summary", "description": "Summary by brand distribution" }, "list": { "type": "array", "items": { "$ref": "#/definitions/SysModel" }, "description": "List of filtered Sys Models" }, "next": { "$ref": "#/definitions/Cursor", "description": "Responded page details of filtered records" } }, "description": "SysModels used when listing the available models, if consists of various model attributes like terse, model list and next filter.", "title": "SysModels payload details" }, "TPMEnrollmentDetail": { "type": "object", "properties": { "type": { "$ref": "#/definitions/EnrollmentType" } } }, "Tag": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the resource group.", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the resource group, unique across the enterprise. Once resource group is created, name can\u2019t be changed.", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "title": { "type": "string", "description": "User defined title of the resource group. 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 resource group.", "maxLength": 256 }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "system defined info", "readOnly": true }, "tagLevelSettings": { "$ref": "#/definitions/TagLevelSettings", "description": "tag level setting within a enterprise" }, "type": { "$ref": "#/definitions/TagType", "description": "Resource group type" }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource group wide configuration for edge nodes", "readOnly": true }, "appPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Resource group wide policy for edge applications to be deployed on all edge nodes on this resource group", "readOnly": true }, "cloudPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Resource group wide policy for Azure IoTEdge configuration to be applied to all edge applications", "readOnly": true }, "modulePolicy": { "type": "array", "items": { "$ref": "#/definitions/PolicyConfig" }, "description": "Resource group wide policy for Azure module configuration to be applied to all edge applications", "readOnly": true }, "numdevices": { "type": "integer", "format": "int64", "description": "Number of edge nodes in this resource group", "readOnly": true }, "attestationPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Attestation policy to enforce on all devices of this project" }, "networkPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Network policy to enforce on all devices of this project" }, "deployment": { "$ref": "#/definitions/Deployment", "description": "Deployment template containing different types of policies" }, "edgeviewPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Edgeview policy on devices of this project" }, "localOperatorConsolePolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Local operator console policy on devices of this project" }, "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": "^[^<%&?/\\>]+$" }, "configurationLockPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Configuration lock prevents users to send unintentional misconfigurations" }, "pcrPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "PCR policy for TPM key sealing on devices of this project" }, "portBasedNetworkAccessControlPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Port based network access control (802.1X) policy to enforce on all devices of this project" } }, "description": "Resource group for edge gateway Base OS or for eedge applications.", "title": "Resource group detail", "required": [ "name", "title", "type" ] }, "TagLevelSettings": { "type": "object", "properties": { "flowLogTransmission": { "$ref": "#/definitions/NetworkInstanceFlowLogTransmission", "description": "Flow log transmission setting for the network instances" }, "interfaceOrdering": { "$ref": "#/definitions/InterfaceOrdering", "description": "interface ordering for app instances" }, "sendDeviceMetrics": { "$ref": "#/definitions/SendDeviceMetrics", "description": "send device metrics for devices in the project" } }, "description": "TagLevelSettings defines settings at a specific tag level within a enterprise.\nIt includes configurations that control certain behaviors or features,\nsuch as the transmission of flow logs for monitoring and analysis purposes." }, "TagStatus": { "type": "string", "enum": [ "TAG_STATUS_UNSPECIFIED", "TAG_STATUS_ARCHIVE", "TAG_STATUS_ACTIVE", "TAG_STATUS_INACTIVE", "TAG_STATUS_INITIALIZED", "TAG_STATUS_FAILED" ], "default": "TAG_STATUS_UNSPECIFIED", "description": "- TAG_STATUS_UNSPECIFIED: Tag Status : UNSPECIFIED\n - TAG_STATUS_ARCHIVE: Tag Status : ARCHIVE\n - TAG_STATUS_ACTIVE: Tag Status : ACTIVE\n - TAG_STATUS_INACTIVE: Tag Status : INACTIVE", "title": "Resource group status" }, "TagStatusListMsg": { "type": "object", "properties": { "summaryByState": { "$ref": "#/definitions/Summary", "description": "Summary of filtered resource group records" }, "list": { "type": "array", "items": { "$ref": "#/definitions/TagStatusMsg" }, "description": "List of filtered resource group records" }, "next": { "$ref": "#/definitions/Cursor", "description": "Responded page details of filtered records" }, "summaryByType": { "$ref": "#/definitions/Summary", "description": "Summary of filtered resource group records" } } }, "TagStatusMsg": { "type": "object", "example": { "id": "d1125b0f-633d-459c-99c6-f47e7467cebc", "name": "my-test-project", "status": "TAG_STATUS_ACTIVE" }, "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the resource group.", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the resource group, unique across the enterprise. Once resource group is created, name can\u2019t be changed.", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "status": { "$ref": "#/definitions/TagStatus", "description": "Resource group status", "readOnly": true }, "type": { "$ref": "#/definitions/TagType", "description": "Resource group type" }, "edgeviewSessionCount": { "type": "integer", "format": "int64", "description": "total count of devices enabled with edgeview session" } }, "description": "Resource group for edge gateway Base OS or for eedge applications.", "title": "Resource group detail" }, "TagType": { "type": "string", "enum": [ "TAG_TYPE_UNSPECIFIED", "TAG_TYPE_GENERIC", "TAG_TYPE_PROJECT", "TAG_TYPE_AZURE", "TAG_TYPE_DEPLOYMENT" ], "default": "TAG_TYPE_UNSPECIFIED", "description": "- TAG_TYPE_UNSPECIFIED: Unspecified\n - TAG_TYPE_GENERIC: Generic resource group\n - TAG_TYPE_PROJECT: Project resource group\n - TAG_TYPE_AZURE: Project resource group\n - TAG_TYPE_DEPLOYMENT: Project with deployment", "title": "Resource group types" }, "TagUpdate_HttpRequest": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the resource group.", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the resource group, unique across the enterprise. Once resource group is created, name can\u2019t be changed.", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "title": { "type": "string", "description": "User defined title of the resource group. 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 resource group.", "maxLength": 256 }, "revision": { "$ref": "#/definitions/ObjectRevision", "description": "system defined info", "readOnly": true }, "tagLevelSettings": { "$ref": "#/definitions/TagLevelSettings", "description": "tag level setting within a enterprise" }, "type": { "$ref": "#/definitions/TagType", "description": "Resource group type" }, "attr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource group wide configuration for edge nodes", "readOnly": true }, "appPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Resource group wide policy for edge applications to be deployed on all edge nodes on this resource group", "readOnly": true }, "cloudPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Resource group wide policy for Azure IoTEdge configuration to be applied to all edge applications", "readOnly": true }, "modulePolicy": { "type": "array", "items": { "$ref": "#/definitions/PolicyConfig" }, "description": "Resource group wide policy for Azure module configuration to be applied to all edge applications", "readOnly": true }, "numdevices": { "type": "integer", "format": "int64", "description": "Number of edge nodes in this resource group", "readOnly": true }, "attestationPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Attestation policy to enforce on all devices of this project" }, "networkPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Network policy to enforce on all devices of this project" }, "deployment": { "$ref": "#/definitions/Deployment", "description": "Deployment template containing different types of policies" }, "edgeviewPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Edgeview policy on devices of this project" }, "localOperatorConsolePolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Local operator console policy on devices of this project" }, "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": "^[^<%&?/\\>]+$" }, "configurationLockPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Configuration lock prevents users to send unintentional misconfigurations" }, "portBasedNetworkAccessControlPolicy": { "$ref": "#/definitions/PolicyConfig", "description": "Port based network access control (802.1X) policy to enforce on all devices of this project" } }, "description": "Resource group for edge gateway Base OS or for eedge applications.", "title": "Resource group detail", "required": [ "id", "name", "title", "type" ] }, "Tags": { "type": "object", "properties": { "summaryByState": { "$ref": "#/definitions/Summary", "description": "Summary of filtered resource group records" }, "summaryByType": { "$ref": "#/definitions/Summary", "description": "Summary of filtered resource group records" }, "list": { "type": "array", "items": { "$ref": "#/definitions/Tag" }, "description": "List of filtered resource group records" }, "next": { "$ref": "#/definitions/Cursor", "description": "Responded page details of filtered records" } } }, "TagsConfigStatus": { "type": "object", "properties": { "summaryByState": { "$ref": "#/definitions/Summary", "description": "Summary of filtered resource group records" }, "summaryByType": { "$ref": "#/definitions/Summary", "description": "Summary of filtered resource group records" }, "list": { "type": "array", "items": { "$ref": "#/definitions/tagConfigStatus" }, "description": "List of filtered resource group records" }, "totalCount": { "type": "integer", "format": "int32", "description": "total count of projects" }, "next": { "$ref": "#/definitions/Cursor", "description": "Responded page details of filtered records" } } }, "UserDataTemplate": { "type": "object", "properties": { "customConfig": { "$ref": "#/definitions/CustomConfig" } } }, "VMManifest": { "type": "object", "properties": { "acKind": { "type": "string", "default": "VMManifest", "description": "UI map: N/A - not exposed to users", "title": "Edge Application type" }, "acVersion": { "type": "string", "default": "1.2.0", "description": "UI map: N/A - not exposed to users", "title": "Manifest version" }, "name": { "type": "string", "description": "UI map: AppEditPage:IdentityPane:Name_Field, AppDetailsPage:IdentityPane:Name_Field", "title": "Unique id of app manifest, should match object name" }, "displayName": { "type": "string", "description": "UI map: AppEditPage:IdentityPane:Title_Field, AppDetailsPage:IdentityPane:Title_Field", "title": "Display name or title of app manifest" }, "description": { "type": "string", "description": "UI map: AppDetailsPage:IdentityPane:DescriptionField, AppMarketplacePage:AppCard:DescriptionField", "title": "Description of the Edge application", "pattern": "[0-9A-Za-z-]+" }, "owner": { "$ref": "#/definitions/Author", "description": "Owner of the application" }, "desc": { "$ref": "#/definitions/Details", "description": "Description of the application" }, "images": { "type": "array", "items": { "$ref": "#/definitions/VMManifestImage" }, "description": "UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane", "title": "Images used by the app" }, "interfaces": { "type": "array", "items": { "$ref": "#/definitions/Interface" }, "description": "UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane", "title": "I/O adapter settings" }, "permissions": { "type": "array", "items": { "$ref": "#/definitions/Permission" } }, "vmmode": { "type": "string", "default": "HV_HVM", "description": "UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field", "title": "VM mode for VM-based app" }, "enablevnc": { "type": "boolean", "description": "UI map: AppEditPage:IdentityPane:VNC_Field, AppDetailsPage:IdentityPane:VNC_Field", "title": "Enable VNC for the app" }, "resources": { "type": "array", "items": { "$ref": "#/definitions/Resource" }, "description": "UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane", "title": "Hardware resource requirement (CPU, Memory, Storage) for the app" }, "configuration": { "$ref": "#/definitions/UserDataTemplate", "description": "Template for Custom Configuration. Used for Cloud-Init", "title": "Annotations types.Annotations `json:\"Annotations,omitempty\"`\nLabels types.Labels `json:\"Labels,omitempty\"`" }, "containerDetail": { "$ref": "#/definitions/ContainerDetail", "description": "Create options direct the creation of the Docker container", "title": "Container specific details" }, "module": { "$ref": "#/definitions/ModuleDetail", "description": "Azure module specific details like module twin, environment variable, routes", "title": "Module specific details" }, "appType": { "$ref": "#/definitions/AppType", "description": "bundle type, eg: vm, container, module" }, "deploymentType": { "$ref": "#/definitions/DeploymentType", "description": "type of deployment for the app, eg: azure, k3s, standalone" }, "cpuPinningEnabled": { "type": "boolean", "description": "Enable CpuPinning" }, "runtimeVersion": { "$ref": "#/definitions/DockerRuntimeVersion", "description": "Indicates the version of container orchestration software", "title": "docker-compose runtime specific versions" }, "runtimeProtocolVersion": { "$ref": "#/definitions/DockerRuntimeProtocolVersion", "description": "Indicates the internal communication protocol to pass configuration between Zedcloud and docker-compose runtime" }, "PersistentRuntimeSizeBytes": { "type": "string", "format": "uint64", "description": "Size of persistent blank storage for runtime in bytes" }, "dockerComposeYamlText": { "type": "string", "description": "Docker compose base64 encoded plain text" }, "dockerComposeTarImageName": { "type": "string", "description": "Docker compose tar image name" }, "enableOemWinLicenseKey": { "type": "boolean", "description": "UI map: AppEditPage:IdentityPane:ENABLEVMCONFIG_Field, AppDetailsPage:IdentityPane:ENABLEVMCONFIG_Field", "title": "Enable device to read the license info from APCI tables" }, "disableVTPM": { "type": "boolean", "description": "UI map: AppEditPage:IdentityPane:DISABLEVTPM_Field, AppDetailsPage:IdentityPane:DISABLEVTPM_Field", "title": "Disable vTPM for a virtual machine (VM)" } } }, "VMManifestImage": { "type": "object", "properties": { "imagename": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field" }, "imageid": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Image_ID_Field, AppDetailsPage:DrivesPane:Image_ID_Field" }, "imageformat": { "$ref": "#/definitions/configFormat", "description": "UI map: AppEditPage:DrivesPane:Image_Format_Field, AppDetailsPage:DrivesPane:Image_Format_Field" }, "maxsize": { "type": "string", "format": "uint64", "description": "UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field" }, "preserve": { "type": "boolean", "description": "UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field" }, "target": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field", "title": "enum: Disk, Kernel, Initrd, RamDisk" }, "drvtype": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Drive_Type_Field, AppDetailsPage:DrivesPane:Drive_Type_Field", "title": "enum: CDROM, HDD, NET" }, "params": { "type": "array", "items": { "$ref": "#/definitions/Param" }, "title": "Not used by ZedUI" }, "readonly": { "type": "boolean", "title": "Not used by ZedUI" }, "volumelabel": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label" }, "ignorepurge": { "type": "boolean", "description": "UI map: AppEditPage:DrivesPane:Ignorepurge, AppDetailsPage:DrivesPane:Ignorepurgee_Field" }, "cleartext": { "type": "boolean", "description": "UI map: AppEditPage:DrivesPane:Cleartext, AppDetailsPage:DrivesPane:ClearText_Field" }, "mountpath": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field" }, "imagestatus": { "type": "string", "description": "UI map: AppEditPage:DrivesPane:Image_Status_Field, AppDetailsPage:DrivesPane:Image_Status_Field", "title": "enum: UNSPECIFIED, CREATED, PENDING, UPLOADING, READY, INUSE, ARCHIVED, MAX, FAILED, UPLINKING" }, "datastore": { "type": "array", "items": { "$ref": "#/definitions/ImageDatastore" }, "description": "UI map: AppEditPage:DrivesPane:DataStore_Field, AppDetailsPage:DrivesPane:DataStore_Field" } } }, "VariableFileEncoding": { "type": "string", "enum": [ "FILE_ENCODING_UNSPECIFIED", "FILE_ENCODING_BASE64" ], "default": "FILE_ENCODING_UNSPECIFIED", "description": "- FILE_ENCODING_UNSPECIFIED: File content not encoded\n - FILE_ENCODING_BASE64: File content encoded in Base64", "title": "File content encoding type" }, "VariableGroupCondition": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "operator": { "$ref": "#/definitions/VariableGroupConditionOperator" } } }, "VariableGroupConditionOperator": { "type": "string", "enum": [ "CONDITION_OPERATOR_UNSPECIFIED", "CONDITION_OPERATOR_EQUALTO", "CONDITION_OPERATOR_NOTEQUALTO" ], "default": "CONDITION_OPERATOR_UNSPECIFIED" }, "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: )" }, "processInput": { "type": "string" }, "value": { "type": "string", "description": "User-specified value of the variable.(Required if required is true. Optional otherwise)" }, "format": { "$ref": "#/definitions/VariableVariableFormat", "description": "Format of the user variable. (Required)" }, "encode": { "$ref": "#/definitions/VariableFileEncoding", "description": "Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE" }, "options": { "type": "array", "items": { "$ref": "#/definitions/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" ] }, "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" } } }, "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\n - VARIABLE_FORMAT_TEXT: Value in string format\n - VARIABLE_FORMAT_NUMBER: Value in integer format\n - VARIABLE_FORMAT_FILE: Value to be read from a file\n - VARIABLE_FORMAT_DROPDOWN: Value to be selected from dropdown of options\n - VARIABLE_FORMAT_BOOLEAN: Value in boolean format\n - VARIABLE_FORMAT_PASSWORD: Value in string to be masked in User-Agent", "title": "Custom variable format" }, "Vfs": { "type": "object", "properties": { "count": { "type": "integer", "format": "int64", "description": "The number of Virtual Functions for given Physical Function. Only applies for IO_TYPE_ETH_PF.", "maximum": 255 } } }, "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.\nIt represents the boot mechanism to be used to boot the VM" }, "VolumeInstConfig": { "type": "object", "properties": { "type": { "type": "string", "$ref": "#/definitions/VolumeInstanceType", "description": "type of Volume Instance" }, "multiattach": { "type": "boolean", "description": "flag to enable the volume to be attached to multiple app instances" }, "cleartext": { "type": "boolean", "description": "flag to keep the contents of the volume unencrypted (in clear text)" }, "accessmode": { "type": "string", "$ref": "#/definitions/VolumeInstanceAccessMode", "description": "Access mode" }, "sizeBytes": { "type": "integer", "format": "uint64", "description": "size of volume" }, "image": { "type": "string", "description": "name of the image" }, "contentTreeId": { "type": "string", "description": "content tree ID" }, "label": { "type": "string", "description": "label" }, "purge": { "$ref": "#/definitions/ZedCloudOpsCmd", "description": "Purge Counter information" }, "contentTreeTargetCondition": { "type": "object", "additionalProperties": { "type": "string" }, "description": "user defined key-value pairs of a content tree that will be used for targeting by block storage" }, "blockStorageTags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "user defined key-value pairs of a block storage, will be used for targeting content tree" } } }, "VolumeInstPolicy": { "type": "object", "properties": { "metaData": { "$ref": "#/definitions/PolicyCommon", "description": "all the required metadata for a policy like id, name, different types of tags" }, "volInstConfig": { "$ref": "#/definitions/VolumeInstConfig", "description": "volume instance config details" } } }, "VolumeInstanceAccessMode": { "type": "string", "enum": [ "VOLUME_INSTANCE_ACCESS_MODE_INVALID", "VOLUME_INSTANCE_ACCESS_MODE_READWRITE", "VOLUME_INSTANCE_ACCESS_MODE_READONLY", "VOLUME_INSTANCE_ACCESS_MODE_MULTIREAD_SINGLEWRITE" ], "default": "VOLUME_INSTANCE_ACCESS_MODE_INVALID" }, "VolumeInstanceType": { "type": "string", "enum": [ "VOLUME_INSTANCE_TYPE_UNSPECIFIED", "VOLUME_INSTANCE_TYPE_EMPTYDIR", "VOLUME_INSTANCE_TYPE_BLOCKSTORAGE", "VOLUME_INSTANCE_TYPE_HOSTFS", "VOLUME_INSTANCE_TYPE_TMPFS", "VOLUME_INSTANCE_TYPE_SECRET", "VOLUME_INSTANCE_TYPE_NFS", "VOLUME_INSTANCE_TYPE_AWS_BLOCK_STORAGE", "VOLUME_INSTANCE_TYPE_CONTENT_TREE" ], "default": "VOLUME_INSTANCE_TYPE_UNSPECIFIED", "title": "VolumeInstanceType - On update, please update VolumeInstanceType_HttpRequest as well" }, "ZCellularControlProtocol": { "type": "string", "enum": [ "Z_CELLULAR_CONTROL_PROTOCOL_UNSPECIFIED", "Z_CELLULAR_CONTROL_PROTOCOL_QMI", "Z_CELLULAR_CONTROL_PROTOCOL_MBIM" ], "default": "Z_CELLULAR_CONTROL_PROTOCOL_UNSPECIFIED" }, "ZCellularOperatingState": { "type": "string", "enum": [ "Z_CELLULAR_OPERATING_STATE_UNSPECIFIED", "Z_CELLULAR_OPERATING_STATE_OFFLINE", "Z_CELLULAR_OPERATING_STATE_RADIO_OFF", "Z_CELLULAR_OPERATING_STATE_ONLINE", "Z_CELLULAR_OPERATING_STATE_ONLINE_AND_CONNECTED", "Z_CELLULAR_OPERATING_STATE_UNRECOGNIZED" ], "default": "Z_CELLULAR_OPERATING_STATE_UNSPECIFIED" }, "ZManufacturerInfo": { "type": "object", "properties": { "manufacturer": { "type": "string" }, "productName": { "type": "string" }, "version": { "type": "string" }, "serialNumber": { "type": "string" }, "uuid": { "type": "string" }, "compatible": { "type": "string" }, "biosVendor": { "type": "string" }, "biosVersion": { "type": "string" }, "biosReleaseDate": { "type": "string" }, "hSMStatus": { "$ref": "#/definitions/DeviceHWSecurityModuleStatus" }, "hSMInfo": { "type": "string" }, "endorsementKey": { "type": "string" } } }, "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\n - OPS_STATUS_ONGOING: system will start the operation, but at the time response was generated, operation is still ONGOING.\n - 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" }, "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" }, "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" }, "ZedcloudCounters": { "type": "object", "properties": { "ifName": { "type": "string", "description": "ifName" }, "failures": { "type": "number", "format": "uint64", "description": "Failures" }, "success": { "type": "number", "format": "uint64", "description": "Success" }, "lastFailure": { "type": "object", "format": "date-time", "description": "Timestamp of last failure" }, "lastSuccess": { "type": "object", "format": "date-time", "description": "Timestamp of last success" } }, "description": "ZedcloudCounters is used to store the Zedcloud Stats and Counters", "title": "ZedcloudCounters is used to store the Zedcloud Stats and Counters" }, "ZsrvError": { "type": "object", "properties": { "ec": { "$ref": "#/definitions/ZsrvErrorCode", "title": "Enumrated error code, describes more granular numerical\nvalue than just httpStatus" }, "location": { "type": "string", "title": "Ignore: Internal field only" }, "details": { "type": "string", "title": "Field captures string description of details" } } }, "ZsrvErrorCode": { "type": "string", "enum": [ "zMsgErrorNone", "zMsgSucess", "NotFound", "AlreadyExists", "VersionMismatch", "RangeError", "LargeResult", "IncompleteData", "InvalidData", "FunctionUnsupported", "NoMemory", "SendFailure", "Timeout", "BadReqBody", "BadReqParam", "InvalidFieldFormat", "UrlNotFound", "ApiVersionNotSupported", "Unauthorized", "Forbidden", "Conflict", "NotModified", "DependencyConflict", "JsonFmtError", "ProtoFmtError", "CertError", "DataBaseConnection", "DBError", "zMsgAccepted", "zMsgCreated", "PreConditionFailed", "InternalServerError" ], "default": "zMsgErrorNone", "description": "- zMsgErrorNone: common validation errors\n - IncompleteData: message had fields that weren't filled in\n - InvalidData: message contained the field that wasn't expected\n - FunctionUnsupported: this feature unavailable on this version of device\n - InvalidFieldFormat: message contained the field that wasn't correctly formatted\n - JsonFmtError: Marshal / Unmarshal errors\n - DataBaseConnection: generic DB error", "title": "ZedCould internal error code" }, "ZsrvResponse": { "type": "object", "properties": { "operationType": { "$ref": "#/definitions/ZcOpsType", "title": "Describes one of the operations type : possible values\n Read/Delete/Create/Update/List" }, "operationStatus": { "$ref": "#/definitions/ZcOpsStatus", "title": "if this is log running job" }, "objectKind": { "type": "string", "title": "zedcloud object kind on which the operation was performed" }, "objectId": { "type": "string", "title": "Unique value identifies the object that was operated on" }, "objectName": { "type": "string", "title": "name of the object" }, "objectRevision": { "type": "string", "title": "object revision post the operation, note Read operation\ndoesn't change the revision" }, "objectType": { "$ref": "#/definitions/ObjectType" }, "operationTime": { "type": "string", "title": "time of operation" }, "startTime": { "type": "string", "title": "total time taken by operations" }, "endTime": { "type": "string" }, "user": { "type": "string", "title": "the operation is performed on behalf of this user" }, "httpStatusCode": { "type": "integer", "format": "int32", "title": "http response" }, "httpStatusMsg": { "type": "string", "title": "summary of the error in text format" }, "jobId": { "type": "string", "title": "for tracking asynchronous tasks" }, "error": { "type": "array", "items": { "$ref": "#/definitions/ZsrvError" }, "title": "one or more errors will be set if the operation failed\ni.e. httpStatusCode != 2xx" } } }, "appACE": { "type": "object", "properties": { "matches": { "type": "array", "items": { "$ref": "#/definitions/appACEMatch" }, "description": "app ACE match" }, "actions": { "type": "array", "items": { "$ref": "#/definitions/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\u2019t be changed", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true } }, "description": "App ACE Configuration", "title": "App ACE detaisn", "required": [ "matches", "actions", "id", "name" ] }, "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": { "$ref": "#/definitions/appMapParams", "description": "Application map params" } }, "description": "App ACE actions", "title": "App ACE Action", "required": [ "drop", "limit", "limitrate", "limitunit", "limitburst", "portmap", "mapparams" ] }, "appACEMatch": { "type": "object", "properties": { "type": { "type": "string", "description": "Type" }, "value": { "type": "string", "description": "Value" } }, "description": "App ACE Match", "title": "appACEMatch detail", "required": [ "type", "value" ] }, "appInterface": { "type": "object", "properties": { "netname": { "type": "string", "description": "network name: will be deprecated in future, use netinstname" }, "io": { "$ref": "#/definitions/phyAdapter", "description": "Physical Adapter to be matched for interface assignment. Applicable only when \"direct attach\" flag is true" }, "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": "#/definitions/appACE" }, "description": "app Acls" }, "ipaddr": { "type": "string", "description": "IP address", "title": "if netname points static DHCP then we need to take\nstatic /32 address here" }, "macaddr": { "type": "string", "description": "MAC address", "title": "in case of p2v we might want to provide a mac-address.\napplicable 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": { "$ref": "#/definitions/EIDRegister", "description": "EID register details", "title": "FIXME: Check why is this required" }, "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" ] }, "appMapParams": { "type": "object", "properties": { "port": { "type": "number", "format": "int64", "description": "Application port" } }, "description": "Application map parameters", "title": "App map Params detail", "required": [ "port" ] }, "commonCellularIPType": { "type": "string", "enum": [ "CELLULAR_IP_TYPE_UNSPECIFIED", "CELLULAR_IP_TYPE_IPV4", "CELLULAR_IP_TYPE_IPV4_AND_IPV6", "CELLULAR_IP_TYPE_IPV6" ], "default": "CELLULAR_IP_TYPE_UNSPECIFIED", "description": "The IP addressing type to use for a given attach or default bearer.\n\n - CELLULAR_IP_TYPE_UNSPECIFIED: IP type is not specified.\nWhen unspecified, EVE will not enforce an IP type in the bearer configuration.\nThe modem will instead use its built-in profiles (see CellularProfile) to determine\nthe appropriate IP type for the network.\n - CELLULAR_IP_TYPE_IPV4: IPv4 only.\n - CELLULAR_IP_TYPE_IPV4_AND_IPV6: IPv4 and IPv6.\n - CELLULAR_IP_TYPE_IPV6: IPv6 only." }, "commonCipherBlock": { "type": "object", "properties": { "cipherContextId": { "type": "string", "title": "cipher context id" }, "initialValue": { "type": "string", "format": "byte", "title": "Initial Value for Symmetric Key derivation" }, "cipherData": { "type": "string", "format": "byte", "title": "encrypted sensitive data" }, "clearTextSha256": { "type": "string", "format": "byte", "title": "sha256 of the plaintext sensitive data" } }, "title": "Encrypted sensitive data information" }, "commonConnectivityProbe": { "type": "object", "properties": { "probeMethod": { "$ref": "#/definitions/commonConnectivityProbeMethod", "description": "Method to use to determine the connectivity status." }, "probeEndpoint": { "$ref": "#/definitions/commonProbeEndpoint", "description": "Endpoint to probe using the selected probing mechanism to determine\nthe connectivity status." } }, "description": "Configuration for user-defined connectivity-testing probe." }, "commonConnectivityProbeMethod": { "type": "string", "enum": [ "CONNECTIVITY_PROBE_METHOD_UNSPECIFIED", "CONNECTIVITY_PROBE_METHOD_ICMP", "CONNECTIVITY_PROBE_METHOD_TCP" ], "default": "CONNECTIVITY_PROBE_METHOD_UNSPECIFIED", "description": "User-defined method to use to determine the connectivity status.\n\n - CONNECTIVITY_PROBE_METHOD_UNSPECIFIED: Connectivity probing method is not specified and therefore will not be used.\n - CONNECTIVITY_PROBE_METHOD_ICMP: Use ICMP ping against the probed endpoint to determine the connectivity status.\n - CONNECTIVITY_PROBE_METHOD_TCP: Try to establish TCP connection with the probed endpoint to determine the connectivity\nstatus." }, "commonNetworkConfigOrigin": { "type": "string", "enum": [ "NETWORK_CONFIG_ORIGIN_UNSPECIFIED", "NETWORK_CONFIG_ORIGIN_CONTROLLER", "NETWORK_CONFIG_ORIGIN_BOOTSTRAP", "NETWORK_CONFIG_ORIGIN_OVERRIDE", "NETWORK_CONFIG_ORIGIN_LASTRESORT", "NETWORK_CONFIG_ORIGIN_TUI", "NETWORK_CONFIG_ORIGIN_LOC", "NETWORK_CONFIG_ORIGIN_LPS" ], "default": "NETWORK_CONFIG_ORIGIN_UNSPECIFIED", "description": "NetworkConfigOrigin enumerates all possible origins of a network port configuration.\n\n - NETWORK_CONFIG_ORIGIN_UNSPECIFIED: Unknown or unset origin.\n - NETWORK_CONFIG_ORIGIN_CONTROLLER: Config received from the controller.\n - NETWORK_CONFIG_ORIGIN_BOOTSTRAP: Initial device config embedded in the EVE installer, signed by the controller.\n - NETWORK_CONFIG_ORIGIN_OVERRIDE: Manually created JSON config injected into the installer.\n - NETWORK_CONFIG_ORIGIN_LASTRESORT: Fallback configuration automatically generated to enable DHCP on all Ethernet ports.\nUsed when no network config is available or when \"network.fallback.any.eth\" is enabled\nand none of the existing configs provide controller connectivity.\n - NETWORK_CONFIG_ORIGIN_TUI: Config entered via the terminal UI (TUI).\n - NETWORK_CONFIG_ORIGIN_LOC: Configuration signed by the controller and delivered through the\nLocal Operator Console (LOC) in an air-gapped environment.\n - NETWORK_CONFIG_ORIGIN_LPS: Config changes made locally through the Local Profile Server (LPS)." }, "commonPortConfigSource": { "type": "object", "properties": { "origin": { "$ref": "#/definitions/commonNetworkConfigOrigin", "description": "Indicates where EVE obtained the network config." }, "submittedAt": { "type": "string", "format": "date-time", "description": "Timestamp when this port\u2019s configuration was originally submitted\nor created at its source.\n\nMeaning depends on the origin:\n- Controller, LOC, bootstrap: timestamp provided by the controller.\n- Local override.json: when the file was first loaded by EVE.\n- Last-resort: when EVE generated the fallback config.\n- LPS modifications: when the modified config was received.\n- TUI: when the user submitted the configuration.\n\nThis is different from DevicePortStatus.timePriority, which is used\nto compare and prioritize different sources of network configuration\n(and may be synthetic for some sources, e.g. year 2000 for override.json,\nepoch 0 for last-resort). By contrast, submitted_at represents when this\nport\u2019s configuration first came into existence, regardless of when or whether\nthe device applied it.\n\nNote: this is a per-port timestamp. The underlying network config may\ncover multiple ports, but only the portion relevant to this port is\nreflected here." } }, "description": "PortConfigSource describes the origin of the configuration used for a network port.\nIt helps distinguish between controller-provided, locally-modified, or initial configs." }, "commonProbeEndpoint": { "type": "object", "properties": { "host": { "type": "string", "description": "IP address or FQDN." }, "port": { "type": "integer", "format": "int64", "description": "TCP port required for CONNECTIVITY_PROBE_METHOD_TCP.\nLeave empty for CONNECTIVITY_PROBE_METHOD_ICMP." } }, "description": "Address of a remote endpoint to probe in order to determine connectivity status." }, "configCellularConnectivityProbe": { "type": "object", "properties": { "disable": { "type": "boolean", "description": "If true, then probing is disabled." }, "probeAddress": { "type": "string", "description": "IP/FQDN to periodically probe using 3 pings per iteration to determine connectivity status.\nThis field is now deprecated and replaced with custom_probe (see below).\nTo maintain backward-compatibility, EVE will check both probe_address and custom_probe\nand will use whichever has non-zero value (if any), but preferring custom_probe." }, "customProbe": { "$ref": "#/definitions/commonConnectivityProbe", "description": "User-defined probe for cellular connectivity testing.\nOnly IP address is allowed as ConnectivityProbe.probe_address (and port if needed),\nnot hostname.\nThe probing algorithm is more complex that just testing reachability of a remote\nendpoint and the goal is to minimize generated traffic, probing time and false negatives\n(that would trigger undesired re-connect).\nEVE will periodically check the modem status, accessibility of DNS server(s) and potentially\nalso proxies in the local network, and only as the last resort (if connectivity state\nis still unclear) it will probe the remote endpoint. If custom_probe is not defined,\nEVE will try to ping \"8.8.8.8\" (Google public DNS).\nIt is recommended to use custom probe for private LTE networks where public DNS servers\nmight not be allowed by the firewall (and hence ping would fail even with a working\nconnectivity)." } }, "description": "CellularConnectivityProbe is used to periodically check the connectivity status of a cellular network\nby probing a remote endpoint.\nWhenever the probe fails, the cellular connection is automatically restarted. If the probe keeps failing\neven after the restart, the failure is reported in ZCellularStatus.probeError.\nThe connectivity probing interval is 5 minutes and currently it is not configurable." }, "configFormat": { "type": "string", "enum": [ "FmtUnknown", "RAW", "QCOW", "QCOW2", "VHD", "VMDK", "OVA", "VHDX", "CONTAINER", "ISO", "PVC" ], "default": "FmtUnknown" }, "deviceStatusConfig": { "type": "object", "properties": { "id": { "type": "string", "description": "system generated unique id for a device", "readOnly": true, "pattern": "[0-9A-Za-z-]+" }, "name": { "type": "string", "description": "user specified device name" }, "title": { "type": "string", "description": "user specified title" }, "serialNo": { "type": "string", "description": "Device serial number" }, "projectId": { "type": "string", "description": "project Id of the device" }, "projectName": { "type": "string", "description": "project name of the device" }, "location": { "type": "string", "description": "Device location" }, "eveImageName": { "type": "string", "description": "Eve image name that was running on the device" }, "isEveLatest": { "type": "string", "description": "Boolean that tells whether the active eve image is latest or not" }, "appInstCount": { "type": "string", "format": "int64", "description": "Number of app instance that is running on the device" }, "runState": { "$ref": "#/definitions/RunState", "description": "Run state of the device" }, "adminState": { "$ref": "#/definitions/AdminState", "description": "Admin state of the device" }, "dinfo": { "$ref": "#/definitions/DeviceInfo", "description": "Device info like storage, arch, memory etc" }, "swInfo": { "type": "array", "items": { "$ref": "#/definitions/DeviceSWInfo" }, "description": "software info reported by the device" }, "projectType": { "type": "string", "$ref": "#/definitions/TagType", "description": "project type of the device" }, "clusterNodeStatus": { "$ref": "#/definitions/ClusterNodeStatus", "description": "Cluster node status" }, "interfaces": { "type": "array", "items": { "$ref": "#/definitions/SysInterface" }, "description": "System Interface list" }, "modelId": { "type": "string", "description": "device model" }, "enrolledCertsStatus": { "$ref": "#/definitions/EnrolledCertStatus", "description": "Enrolled certificate status from the device" } }, "description": "Device status and config response details", "title": "Device status config response detail", "required": [ "id", "name", "serialNo" ] }, "dhcpIpRange": { "type": "object", "properties": { "start": { "type": "string", "description": "starting IP" }, "end": { "type": "string", "description": "ending IP" } }, "description": "DHCP IP range", "title": "DHCP IP range" }, "evecommonCellularAuthProtocol": { "type": "string", "enum": [ "CELLULAR_AUTH_PROTOCOL_NONE", "CELLULAR_AUTH_PROTOCOL_PAP", "CELLULAR_AUTH_PROTOCOL_CHAP", "CELLULAR_AUTH_PROTOCOL_PAP_AND_CHAP" ], "default": "CELLULAR_AUTH_PROTOCOL_NONE", "description": "CellularAuthProtocol defines the authentication protocol used for cellular connection.\n\n - CELLULAR_AUTH_PROTOCOL_NONE: No authentication.\n - CELLULAR_AUTH_PROTOCOL_PAP: Password Authentication Protocol.\n - CELLULAR_AUTH_PROTOCOL_CHAP: Challenge-Handshake Authentication Protocol.\n - CELLULAR_AUTH_PROTOCOL_PAP_AND_CHAP: Both PAP and CHAP." }, "evecommonRadioAccessTechnology": { "type": "string", "enum": [ "RADIO_ACCESS_TECHNOLOGY_UNSPECIFIED", "RADIO_ACCESS_TECHNOLOGY_GSM", "RADIO_ACCESS_TECHNOLOGY_UMTS", "RADIO_ACCESS_TECHNOLOGY_LTE", "RADIO_ACCESS_TECHNOLOGY_5GNR" ], "default": "RADIO_ACCESS_TECHNOLOGY_UNSPECIFIED", "description": " - RADIO_ACCESS_TECHNOLOGY_GSM: Global System for Mobile Communications (2G).\n - RADIO_ACCESS_TECHNOLOGY_UMTS: Universal Mobile Telecommunications System (3G).\n - RADIO_ACCESS_TECHNOLOGY_LTE: Long Term Evolution (4G).\n - RADIO_ACCESS_TECHNOLOGY_5GNR: 5G New Radio." }, "googlerpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "$ref": "#/definitions/protobufAny" } } } }, "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\nto use. Later we might use a single one for all VMs (on any particular\nISA). If we end up keeping this we should make the names be less\ntied to a particular hypervisor." }, "infoAPICapability": { "type": "string", "enum": [ "API_CAPABILITY_UNSPECIFIED", "API_CAPABILITY_RETRY_UPDATE", "API_CAPABILITY_SHUTDOWN", "API_CAPABILITY_START_DELAY_IN_SECONDS", "API_CAPABILITY_EDGEVIEW", "API_CAPABILITY_VOLUME_SNAPSHOTS", "API_CAPABILITY_NETWORK_INSTANCE_ROUTING", "API_CAPABILITY_BOOT_MODE", "API_CAPABILITY_MTU", "API_CAPABILITY_ADAPTER_USER_LABELS", "API_CAPABILITY_ENFORCED_NET_INTERFACE_ORDER", "API_CAPABILITY_NTPS_FQDN", "API_CAPABILITY_WIN_LIC_PASSTHROUGH", "API_CAPABILITY_VOLUME_SNAPSHOTS_IMMEDIATE", "API_CAPABILITY_ENCRYPTED_PATCH_ENVELOPE", "API_CAPABILITY_SINGLE_STACK_IP_NETWORK", "API_CAPABILITY_CELLULAR_ATTACH_CONFIG", "API_CAPABILITY_EDGEVIEW_AUTHENTICATION", "API_CAPABILITY_DISABLE_VTPM", "API_CAPABILITY_LOC_REBOOT_COLLECT_INFO", "API_CAPABILITY_SMART_REPORT", "API_CAPABILITY_REPORT_TPM_EVENTLOG" ], "default": "API_CAPABILITY_UNSPECIFIED", "description": "Capabilities indicates features in the EdgeDevConfig where there is\nno easy way to otherwise determine whether or not they are parsed and\nsupported by EVE-OS\nA larger number indicates all lower numbers are also supported thus\nthis works similar to a version field for the EdgeDevConfig support." }, "ioMember": { "type": "object", "example": { "ztype": 1, "phylabel": "eth0", "logicallabel": "eth0" }, "properties": { "ztype": { "$ref": "#/definitions/IoType", "description": "Z Type" }, "phylabel": { "type": "string", "description": "Physical Label" }, "phyaddrs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of Physical Addresses" }, "logicallabel": { "type": "string", "description": "Logical Label" }, "assigngrp": { "type": "string", "description": "Assign Group" }, "usage": { "$ref": "#/definitions/AdapterUsage", "description": "Adopter Usage" }, "cbattr": { "type": "object", "additionalProperties": { "type": "string" }, "description": "attributes", "title": "physical and logical attributes" }, "usagePolicy": { "type": "object", "additionalProperties": { "type": "boolean" }, "title": "usagePolicy" }, "cost": { "type": "integer", "format": "int64", "description": "cost of using this ioMember. Default is 0.", "maximum": 255 }, "vfs": { "$ref": "#/definitions/Vfs", "title": "Single Root Input Output Virtualization (SR-IOV) support in device configuration" }, "parentassigngrp": { "type": "string", "description": "Parent group for a IoMember. Can be empty if there is no parent group." } }, "description": " ioMember consists of list of various networking attributes like physical label, physical address etc associated with SysModel", "title": "ioMember payload details", "required": [ "ztype", "phylabel", "assigngrp", "phyaddrs", "logicallabel", "cost" ] }, "phyAdapter": { "type": "object", "properties": { "type": { "type": "object", "$ref": "#/definitions/IoType", "description": "IoType specifies the type of the Input output of the device" }, "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" }, "protobufAny": { "type": "object", "properties": { "typeUrl": { "type": "string" }, "value": { "type": "string", "format": "byte" } } }, "protobufNullValue": { "type": "string", "enum": [ "NULL_VALUE" ], "default": "NULL_VALUE", "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, "spType": { "type": "string", "enum": [ "SPTYPE_INVALIDSRV", "SPTYPE_MAPSERVER", "SPTYPE_SUPPORTSERVER" ], "default": "SPTYPE_INVALIDSRV", "description": "clone of types defined in API repo.\n\n - SPTYPE_MAPSERVER: mapping service for zededa overlay service\n - SPTYPE_SUPPORTSERVER: if device has support feature enabled, this ia cloud service\nwhich device can be reached." }, "tagConfigStatus": { "type": "object", "properties": { "id": { "type": "string", "description": "System defined universally unique Id of the resource group.", "readOnly": true, "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "uniqueItems": true }, "name": { "type": "string", "description": "User defined name of the resource group, unique across the enterprise. Once resource group is created, name can\u2019t be changed.", "maxLength": 256, "minLength": 3, "pattern": "[a-zA-Z0-9][a-zA-Z0-9_.-]+", "uniqueItems": true }, "status": { "$ref": "#/definitions/TagStatus", "description": "Resource group status", "readOnly": true }, "cloudPolicyType": { "$ref": "#/definitions/PolicyType", "description": "type of cloud policy" }, "attestPolicyType": { "$ref": "#/definitions/AttestPolicyType", "description": "type of attestation policy" }, "appPolicyId": { "type": "string", "description": "app policy Id" }, "appPolicyName": { "type": "string", "description": "app policy name" }, "networkPolicyId": { "type": "string", "description": "network policy Id" }, "networkDeviceDefault": { "type": "boolean", "description": "flag to indicate if this is the default network instance for the device" }, "edgeviewAllow": { "type": "boolean", "description": "edgeview is allowed or not for devices in project" }, "edgeviewSessionCount": { "type": "integer", "format": "int64", "description": "total count of devices enabled with edgeview session" }, "type": { "$ref": "#/definitions/TagType", "description": "Resource group type" }, "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": "^[^<%&?/\\>]+$" } } }, "vlanAdapter": { "type": "object", "properties": { "logicalLabel": { "type": "string", "description": "Logical name of this VLAN adapter" }, "interfaceName": { "type": "string", "description": "A physical name of the VLAN sub-interface" }, "lowerLayerName": { "type": "string", "description": "Logical name of the lower layer adapter (bond or physicalIO)" }, "vlanId": { "type": "integer", "format": "int64", "description": "Valid values are from 1 to 4094" }, "interface": { "$ref": "#/definitions/SysInterface", "description": "System Sub-Interface" } }, "description": "vlanAdapter represents a single VLAN sub-interface", "title": "vlanAdapter payload detail" }, "vm": { "type": "object", "properties": { "cpus": { "type": "number", "format": "int64", "description": "CPUs" }, "memory": { "type": "number", "format": "int64", "description": "Memory" }, "mode": { "$ref": "#/definitions/hvMode", "description": "Hardware Virtualization" }, "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": { "$ref": "#/definitions/VmBootloaderMode", "description": "The bootloader mode that will be used for the VM. Default is VM_BOOTLOADER_MODE_LEGACY" }, "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" ] } }, "securityDefinitions": { "BearerToken": { "type": "apiKey", "description": "Bearer token for user session", "name": "Authorization", "in": "header" } }, "security": [ { "BearerToken": [] } ], "externalDocs": { "description": "ZEDEDA Product Documentation", "url": "https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/edge-nodes" } }