Skip to main content
Version: v1.1

AosCore - AosCloud communication protocol

This is schema for communication protocol between AosCore and AosEdge Cloud. For sources and more information visit aos_protocols repository.

General information

Initiator of the session (connection) is AosCore. Messages are sent using WebSockets over HTTPS. This approach allows to connect to AosEdge cloud from devices behind NAT, firewalls, etc. without need of port forwarding or other network configuration.

To provide reliable communication several options are used:

  • Keep-alive messages are sent periodically to check if connection is still alive (part of the WebSocket protocol).
  • Connection is closed if no keep-alive message is received for a certain period of time.
  • Ack, Nack messages are used to confirm or reject messages if some problems occur during the communication (on any side).

Schema view for messages.

Loading ....

Source of the schema

aos-unit-messages.schema-v7.json
{
"$defs": {
"AlertRulePercents": {
"description": "Information about the threshold.\n\nThreshold is treated as a node resource limit for rebalancing.\n\nThe `high` threshold for resource limits must be defined as the upper limit of resource usage.\n If a node's resource usage exceeds the highThreshold for a continuous period specified\n by the threshold `timeout`, the system initiates a rebalancing process to redistribute service instances,\n thereby preventing resource overutilization and maintaining system performance.\n\nOnce rebalancing is triggered due to exceeding the `high` threshold,\n the system will only consider the rebalancing action complete and cease further rebalancing activities\n if the resource usage then decreases and stabilizes below the `low` threshold for a continuous period\n specified by the threshold `timeout`\n\nThe low/high thresholds for resource limits are set in percentages.",
"properties": {
"minThreshold": {
"description": "The lowest percents of a value after which resource can be rebalanced back.",
"maximum": 100,
"minimum": 0,
"title": "Minthreshold",
"type": "number"
},
"maxThreshold": {
"description": "The highest percents of a value after which resource have be rebalanced.",
"maximum": 100,
"minimum": 0,
"title": "Maxthreshold",
"type": "number"
},
"minTimeout": {
"description": "The timeout in seconds. Fraction of value specifies milliseconds",
"examples": [
0.5,
100
],
"exclusiveMinimum": 0,
"title": "Mintimeout",
"type": "number"
}
},
"required": [
"minThreshold",
"maxThreshold",
"minTimeout"
],
"title": "AlertRulePercents",
"type": "object"
},
"AlertRulePercentsOfDisk": {
"description": "Information about the threshold for disk with names.",
"properties": {
"minThreshold": {
"description": "The lowest percents of a value after which resource can be rebalanced back.",
"maximum": 100,
"minimum": 0,
"title": "Minthreshold",
"type": "number"
},
"maxThreshold": {
"description": "The highest percents of a value after which resource have be rebalanced.",
"maximum": 100,
"minimum": 0,
"title": "Maxthreshold",
"type": "number"
},
"minTimeout": {
"description": "The timeout in seconds. Fraction of value specifies milliseconds",
"examples": [
0.5,
100
],
"exclusiveMinimum": 0,
"title": "Mintimeout",
"type": "number"
},
"name": {
"title": "Name of partition",
"type": "string"
}
},
"required": [
"minThreshold",
"maxThreshold",
"minTimeout",
"name"
],
"title": "AlertRulePercentsOfDisk",
"type": "object"
},
"AlertRulePoints": {
"description": "Information about the threshold in points.\n\nPoints can be DMIPs, bytes, etc.",
"properties": {
"minThreshold": {
"description": "The lowest points (DMIPs, Bytes, etc) of a value after which resource can be rebalanced back.",
"minimum": 0,
"title": "Minthreshold",
"type": "integer"
},
"maxThreshold": {
"description": "The highest points of a value after which resource have be rebalanced.",
"minimum": 0,
"title": "Maxthreshold",
"type": "integer"
},
"minTimeout": {
"description": "The timeout in seconds. Fraction of value specifies milliseconds",
"examples": [
0.5,
100
],
"exclusiveMinimum": 0,
"title": "Mintimeout",
"type": "number"
}
},
"required": [
"minThreshold",
"maxThreshold",
"minTimeout"
],
"title": "AlertRulePoints",
"type": "object"
},
"AlertRules": {
"description": "The default thresholds for services running on the node.",
"properties": {
"cpu": {
"$ref": "#/$defs/AlertRulePercents",
"default": null,
"description": "The CPU thresholds."
},
"ram": {
"$ref": "#/$defs/AlertRulePercents",
"default": null,
"description": "The RAM thresholds."
},
"partitions": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AlertRulePercentsOfDisk"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "The list of thresholds partitions.",
"title": "Partitions"
},
"download": {
"$ref": "#/$defs/AlertRulePoints",
"default": null,
"description": "Alert rules for incoming network traffic(in bytes)."
},
"upload": {
"$ref": "#/$defs/AlertRulePoints",
"default": null,
"description": "Alert rules for outgoing network traffic(in bytes)."
}
},
"title": "AlertRules",
"type": "object"
},
"AosAckV7": {
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "ack",
"default": "ack",
"description": "Message body type.",
"title": "Message type",
"type": "string"
}
},
"title": "AosAckV7",
"type": "object"
},
"AosAlertCoreV7": {
"description": "Aos Unit core alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "coreAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "Node identification of the alert."
},
"coreComponent": {
"description": "Error information retrieved for the alert.",
"maxLength": 100,
"minLength": 1,
"title": "Corecomponent",
"type": "string"
},
"message": {
"description": "Error information retrieved for the alert.",
"maxLength": 32768,
"minLength": 1,
"title": "Message",
"type": "string"
}
},
"required": [
"timestamp",
"tag",
"node",
"coreComponent",
"message"
],
"title": "AosAlertCoreV7",
"type": "object"
},
"AosAlertDownloadProgressV7": {
"description": "Aos Unit downloads alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "downloadProgressAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"digest": {
"description": "Digest from AosUpdateItemBlobInfo.digest",
"title": "Digest",
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "URL of the file.",
"title": "Url"
},
"downloadedBytes": {
"description": "Downloaded bytes at the specified moment.",
"minimum": 0,
"title": "Downloadedbytes",
"type": "integer"
},
"totalBytes": {
"description": "Total size in bytes of the file.",
"minimum": 0,
"title": "Totalbytes",
"type": "integer"
},
"state": {
"description": "State of the download.",
"enum": [
"started",
"paused",
"interrupted",
"finished"
],
"title": "State",
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Reason of the download state.",
"title": "Reason"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"timestamp",
"tag",
"digest",
"downloadedBytes",
"totalBytes",
"state"
],
"title": "AosAlertDownloadProgressV7",
"type": "object"
},
"AosAlertInstanceQuotaV7": {
"description": "Aos Unit instance quota alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "instanceQuotaAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"description": "Subject unique identifier."
},
"instance": {
"description": "Instance number (starting from 0).",
"title": "Instance",
"type": "integer"
},
"parameter": {
"description": "Parameter name of the system quota.",
"maxLength": 100,
"minLength": 1,
"title": "Parameter",
"type": "string"
},
"value": {
"description": "Triggered value of the parameter.",
"minimum": 0,
"title": "Value",
"type": "integer"
}
},
"required": [
"timestamp",
"tag",
"item",
"subject",
"instance",
"parameter",
"value"
],
"title": "AosAlertInstanceQuotaV7",
"type": "object"
},
"AosAlertResourceAllocateV7": {
"description": "Aos Unit device allocation alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "deviceAllocateAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"description": "Subject unique identifier."
},
"instance": {
"description": "Service instance number (starting from 0).",
"title": "Instance",
"type": "integer"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "Node ID where the alert occurs."
},
"deviceId": {
"description": "Device name on a Unit",
"title": "Deviceid",
"type": "string"
},
"message": {
"description": "Error information retrieved for the alert.",
"maxLength": 32768,
"minLength": 1,
"title": "Message",
"type": "string"
}
},
"required": [
"timestamp",
"tag",
"item",
"subject",
"instance",
"node",
"deviceId",
"message"
],
"title": "AosAlertResourceAllocateV7",
"type": "object"
},
"AosAlertSystemErrorV7": {
"description": "Aos Unit system error alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "systemAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "Node ID of the alert."
},
"message": {
"description": "Error information retrieved for the alert.",
"maxLength": 32768,
"minLength": 1,
"title": "Message",
"type": "string"
}
},
"required": [
"timestamp",
"tag",
"node",
"message"
],
"title": "AosAlertSystemErrorV7",
"type": "object"
},
"AosAlertSystemQuotaV7": {
"description": "Aos Unit system quota alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "systemQuotaAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "Node ID of the alert."
},
"parameter": {
"description": "Parameter name of the system quota.",
"maxLength": 100,
"minLength": 1,
"title": "Parameter",
"type": "string"
},
"value": {
"description": "Triggered value of the parameter.",
"minimum": 0,
"title": "Value",
"type": "integer"
}
},
"required": [
"timestamp",
"tag",
"node",
"parameter",
"value"
],
"title": "AosAlertSystemQuotaV7",
"type": "object"
},
"AosAlertUpdateItemInstanceV7": {
"description": "Aos Unit service instance alert information.",
"properties": {
"timestamp": {
"description": "Timestamp when alert was triggered in ISO8601 format.",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"tag": {
"const": "updateItemInstanceAlert",
"description": "Type of the alert.",
"title": "Tag",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subjectId": {
"$ref": "#/$defs/AosIdentity",
"description": "Subject unique identifier."
},
"instance": {
"description": "Instance number (starting from 0).",
"title": "Instance",
"type": "integer"
},
"version": {
"description": "Version in format of the SemVer.",
"title": "Version",
"type": "string"
},
"message": {
"description": "Error information retrieved for the alert.",
"maxLength": 32768,
"minLength": 1,
"title": "Message",
"type": "string"
}
},
"required": [
"timestamp",
"tag",
"item",
"subjectId",
"instance",
"version",
"message"
],
"title": "AosAlertUpdateItemInstanceV7",
"type": "object"
},
"AosAlertsV7": {
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "alerts",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"items": {
"description": "List of AosEdge alert items.",
"items": {
"discriminator": {
"mapping": {
"coreAlert": "#/$defs/AosAlertCoreV7",
"deviceAllocateAlert": "#/$defs/AosAlertResourceAllocateV7",
"downloadProgressAlert": "#/$defs/AosAlertDownloadProgressV7",
"instanceQuotaAlert": "#/$defs/AosAlertInstanceQuotaV7",
"systemAlert": "#/$defs/AosAlertSystemErrorV7",
"systemQuotaAlert": "#/$defs/AosAlertSystemQuotaV7",
"updateItemInstanceAlert": "#/$defs/AosAlertUpdateItemInstanceV7"
},
"propertyName": "tag"
},
"oneOf": [
{
"$ref": "#/$defs/AosAlertCoreV7"
},
{
"$ref": "#/$defs/AosAlertResourceAllocateV7"
},
{
"$ref": "#/$defs/AosAlertDownloadProgressV7"
},
{
"$ref": "#/$defs/AosAlertInstanceQuotaV7"
},
{
"$ref": "#/$defs/AosAlertUpdateItemInstanceV7"
},
{
"$ref": "#/$defs/AosAlertSystemErrorV7"
},
{
"$ref": "#/$defs/AosAlertSystemQuotaV7"
}
]
},
"title": "Items",
"type": "array"
}
},
"required": [
"messageType",
"items"
],
"title": "AosAlertsV7",
"type": "object"
},
"AosArchInfo": {
"properties": {
"architecture": {
"description": "The architecture of the CPU. Refer to the \"https://github.com/opencontainers/image-spec/blob/main/config.md#properties\"",
"examples": [
"amd64",
"arm64",
"arm"
],
"title": "Architecture",
"type": "string"
},
"variant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The variant of the specified CPU architecture. Refer to the \"https://github.com/opencontainers/image-spec/blob/main/config.md#properties\"",
"title": "Variant"
}
},
"required": [
"architecture"
],
"title": "AosArchInfo",
"type": "object"
},
"AosBlobUrlsV7": {
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "blobUrls",
"default": "blobUrls",
"description": "Type of the message body.",
"title": "Messagetype",
"type": "string"
},
"items": {
"description": "The identification of the update item BLOB. Format same as OCI spec format",
"items": {
"$ref": "#/$defs/AosUpdateItemBlobInfo"
},
"title": "Items",
"type": "array"
}
},
"required": [
"items"
],
"title": "AosBlobUrlsV7",
"type": "object"
},
"AosCSR": {
"description": "Aos Certificate Sign Request.",
"properties": {
"type": {
"description": "Type of the CSR",
"examples": [
"online",
"offline"
],
"title": "Type",
"type": "string"
},
"csr": {
"description": "CSR in the PEM format",
"title": "Csr",
"type": "string"
}
},
"required": [
"type",
"csr"
],
"title": "AosCSR",
"type": "object"
},
"AosCertificateChainInfo": {
"description": "Certificate content and fingerprint.",
"properties": {
"name": {
"description": "Unique name of the certificate chain.",
"title": "Name",
"type": "string"
},
"fingerprints": {
"description": "Fingerprint list of the certificates included in the chain.",
"items": {
"type": "string"
},
"title": "Fingerprints",
"type": "array"
}
},
"required": [
"name",
"fingerprints"
],
"title": "AosCertificateChainInfo",
"type": "object"
},
"AosCertificateIdentificationValidTillV7": {
"description": "Certificate identification data with valid till.",
"properties": {
"type": {
"description": "Type of the certificate.",
"enum": [
"offline",
"online",
"um",
"sm",
"cm",
"iam",
"host-device",
"remote-device",
"azure-iot"
],
"title": "Type of the certificate",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identity of the node."
},
"serial": {
"default": null,
"description": "Serial of the Certificate.",
"title": "Serial of the Certificate",
"type": "string"
},
"validTill": {
"default": null,
"description": "The valid till of the Certificate.",
"format": "date-time",
"title": "Valid Till",
"type": "string"
}
},
"required": [
"type",
"node"
],
"title": "AosCertificateIdentificationValidTillV7",
"type": "object"
},
"AosCertificateInfo": {
"description": "Certificate content and fingerprint.",
"properties": {
"certificate": {
"description": "Base64 encoded certificate in the `der` form.",
"format": "base64",
"title": "Certificate",
"type": "string"
},
"fingerprint": {
"description": "Fingerprint of the certificate (unique ID)",
"title": "Fingerprint",
"type": "string"
}
},
"required": [
"certificate",
"fingerprint"
],
"title": "AosCertificateInfo",
"type": "object"
},
"AosDeProvisioningRequestV7": {
"description": "AosUnit protocol: 'deprovisioningRequest' message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "deprovisioningRequest",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"password": {
"description": "Admin (secure officer) password for the node TPM.",
"title": "Password",
"type": "string"
}
},
"required": [
"messageType",
"node",
"password"
],
"title": "AosDeProvisioningRequestV7",
"type": "object"
},
"AosDeProvisioningResponseV7": {
"description": "AosUnit protocol: 'deprovisioningResponse' message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "deprovisioningResponse",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"messageType",
"node"
],
"title": "AosDeProvisioningResponseV7",
"type": "object"
},
"AosDecryptInfo": {
"description": "Information for the decryption.",
"properties": {
"blockAlg": {
"default": "AES256/CBC/pkcs7",
"description": "Used block cipher in form: `cipher/mode/padding`.",
"enum": [
"AES256/CBC/pkcs7",
"AES256/GCM/"
],
"title": "Blockalg",
"type": "string"
},
"blockIv": {
"description": "Initialization vector for encryption/decryption.",
"format": "base64",
"title": "Blockiv",
"type": "string"
},
"blockKey": {
"description": "Symmetric block key value.",
"format": "base64",
"title": "Blockkey",
"type": "string"
}
},
"required": [
"blockIv",
"blockKey"
],
"title": "AosDecryptInfo",
"type": "object"
},
"AosDesiredInstanceInfo": {
"description": "Update item info sent from the AosEdge Cloud.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity"
},
"priority": {
"default": 0,
"description": "Priority of the service instance.",
"exclusiveMaximum": 1000000,
"minimum": 0,
"title": "Priority",
"type": "integer"
},
"numInstances": {
"default": 1,
"description": "Number of service instances to run.",
"minimum": 0,
"title": "Numinstances",
"type": "integer"
},
"labels": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Label list associated with the service.",
"title": "Labels"
}
},
"required": [
"item",
"subject"
],
"title": "AosDesiredInstanceInfo",
"type": "object"
},
"AosDesiredStatusV7": {
"description": "AosUnit protocol: 'desiredStatus' message.\n\nUnit reports all current status information using this message",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "desiredStatus",
"default": "desiredStatus",
"description": "Type of the message body.",
"title": "Messagetype",
"type": "string"
},
"nodes": {
"default": [],
"description": "The list of desired node's status.",
"items": {
"$ref": "#/$defs/AosNodeDesiredState"
},
"title": "Nodes",
"type": "array"
},
"unitConfig": {
"anyOf": [
{
"$ref": "#/$defs/UnitConfigV7"
},
{
"type": "null"
}
],
"default": null,
"description": "Desired unit config dictionary."
},
"items": {
"default": [],
"description": "List of the desired update items. If absent or null - do nothing.",
"items": {
"$ref": "#/$defs/AosDesiredUpdateItemInfo"
},
"minItems": 0,
"title": "Items",
"type": "array"
},
"instances": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosDesiredInstanceInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of the desired update item instances. If absent or null - do nothing.",
"title": "Instances"
},
"subjects": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosSubject"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "The list of the used subjects",
"title": "Subjects"
},
"certificates": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosCertificateInfo"
},
"maxItems": 32,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "The list of the used certificates",
"title": "Certificates"
},
"certificateChains": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosCertificateChainInfo"
},
"maxItems": 8,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Certificate chains info for checking signs.",
"title": "Certificatechains"
}
},
"title": "AosDesiredStatusV7",
"type": "object"
},
"AosDesiredUpdateItemInfo": {
"description": "Update item info sent from the AosEdge Cloud.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"version": {
"description": "Version in format of the SemVer.",
"title": "Version",
"type": "string"
},
"owner": {
"$ref": "#/$defs/AosIdentity",
"description": "The ID of the owner of the update item (OEM or SP identity)."
},
"indexDigest": {
"description": "Digest of the index.json file for the update item.",
"minLength": 1,
"title": "Indexdigest",
"type": "string"
}
},
"required": [
"item",
"version",
"owner",
"indexDigest"
],
"title": "AosDesiredUpdateItemInfo",
"type": "object"
},
"AosEnvVar": {
"properties": {
"name": {
"description": "The name of the environment variable.",
"examples": [
"PATH",
"_TMP"
],
"maxLength": 256,
"minLength": 1,
"title": "Name",
"type": "string"
},
"value": {
"description": "The value of the environment variable.",
"examples": [
"",
"/tmp"
],
"maxLength": 10240,
"minLength": 0,
"title": "Value",
"type": "string"
},
"ttl": {
"default": null,
"description": "Time to live of the variable in form `HH:MM[:SS]`. Optional. Empty or 0 means forever.",
"format": "date-time",
"title": "TTL",
"type": "string"
}
},
"required": [
"name",
"value"
],
"title": "AosEnvVar",
"type": "object"
},
"AosEnvVarInstanceStatusV7": {
"description": "The current status of the environment variable.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subjectId": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the subject."
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"name": {
"description": "The unique identifier (name) of the variable.",
"title": "Name",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"item",
"subjectId",
"instance",
"name"
],
"title": "AosEnvVarInstanceStatusV7",
"type": "object"
},
"AosEnvVarV7": {
"description": "The current status of the environment variable.",
"properties": {
"item": {
"anyOf": [
{
"$ref": "#/$defs/AosIdentity"
},
{
"type": "null"
}
],
"default": null,
"description": "Update item identifier."
},
"subject": {
"anyOf": [
{
"$ref": "#/$defs/AosIdentity"
},
{
"type": "null"
}
],
"default": null
},
"instance": {
"default": null,
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"variables": {
"description": "The list of environment variables.",
"items": {
"$ref": "#/$defs/AosEnvVar"
},
"title": "Variables",
"type": "array"
}
},
"required": [
"variables"
],
"title": "AosEnvVarV7",
"type": "object"
},
"AosErrorInfo": {
"description": "AosUnit error info structure.\n\nEncapsulates a structure for AosUnit error info.\nAll fields are optional. In this case treated as no error.",
"properties": {
"aosCode": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "AosCore error code.",
"title": "Aos error code"
},
"exitCode": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Module error code.",
"title": "Exit code"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Text of the error description.",
"title": "Error message"
}
},
"title": "AosErrorInfo",
"type": "object"
},
"AosFinishProvisioningRequestV7": {
"description": "AosUnit protocol: 'finishProvisioningRequest' message.\n\nCloud begins provisioning process with this message",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "finishProvisioningRequest",
"default": "finishProvisioningRequest",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the naode."
},
"certificates": {
"description": "The list of issued certificates",
"items": {
"$ref": "#/$defs/AosIssuedCertificateV7"
},
"title": "Certificates",
"type": "array"
},
"password": {
"description": "Admin (secure officer) password for the node TPM.",
"title": "Password",
"type": "string"
}
},
"required": [
"node",
"certificates",
"password"
],
"title": "AosFinishProvisioningRequestV7",
"type": "object"
},
"AosFinishProvisioningResponseV7": {
"description": "AosUnit protocol: 'finishProvisioningResponse' message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "finishProvisioningResponse",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"messageType",
"node"
],
"title": "AosFinishProvisioningResponseV7",
"type": "object"
},
"AosIdentity": {
"description": "Aos objects identifier.",
"properties": {
"id": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Aos object unique per Aos instance UUID.",
"title": "Aos object UUID identifier. Unique per Aos instance."
},
"type": {
"anyOf": [
{
"$ref": "#/$defs/AosIdentityType"
},
{
"type": "null"
}
],
"default": null,
"description": "Aos object type. E.g.: AosService, AosComponent",
"title": "Aos object type."
},
"codename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Aos object codename. Uniqueness depends on object type.",
"title": "Aos object codename."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Aos object title.",
"title": "Aos object title."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Aos object description.",
"title": "Aos object description."
},
"urn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Aos object URN. Globally unique.",
"title": "Aos object URN."
}
},
"title": "AosIdentity",
"type": "object"
},
"AosIdentityType": {
"enum": [
"component",
"service",
"layer",
"subject",
"oem",
"sp",
"fleet",
"node",
"node-subject",
"runtime"
],
"title": "AosIdentityType",
"type": "string"
},
"AosInstallCertDataV7": {
"description": "InstallCertData install certificate data.",
"properties": {
"type": {
"description": "Type of the certificate.",
"enum": [
"offline",
"online",
"um",
"sm",
"cm",
"iam",
"host-device",
"remote-device",
"azure-iot"
],
"title": "Type of the certificate",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identity of the node."
},
"serial": {
"description": "Serial of the Certificate.",
"title": "Serial of the Certificate",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"type",
"node",
"serial"
],
"title": "AosInstallCertDataV7",
"type": "object"
},
"AosInstallUnitCertificatesConfirmationV7": {
"description": "AosUnit protocol: 'installUnitCertificatesConfirmation' message.\n\nUnit sends confirmation that certificates ware installed.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "installUnitCertificatesConfirmation",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"certificates": {
"description": "Request to issue certificates.",
"items": {
"$ref": "#/$defs/AosInstallCertDataV7"
},
"title": "Request to issue certificates",
"type": "array"
}
},
"required": [
"messageType",
"certificates"
],
"title": "AosInstallUnitCertificatesConfirmationV7",
"type": "object"
},
"AosInstanceInfo": {
"properties": {
"node": {
"$ref": "#/$defs/AosIdentity"
},
"runtime": {
"$ref": "#/$defs/AosIdentity"
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"stateChecksum": {
"anyOf": [
{
"format": "base64",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The checksum of the state. This Base64 of sha256 digest over the state.",
"title": "Statechecksum"
},
"state": {
"description": "The current (reported) state of the service instance.",
"enum": [
"activating",
"active",
"inactive",
"failed"
],
"title": "State",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"node",
"runtime",
"instance",
"state"
],
"title": "AosInstanceInfo",
"type": "object"
},
"AosInstanceMonitoringDataV7": {
"description": "AosEdge unit monitoring data for service.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"description": "Unique ID of the subject.",
"title": "Subject ID"
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"itemStates": {
"description": "List of AosEdge update item state changes.",
"items": {
"$ref": "#/$defs/AosInstanceStateData"
},
"title": "Itemstates",
"type": "array"
},
"items": {
"description": "List of the monitoring records",
"items": {
"$ref": "#/$defs/AosMonitoringData"
},
"title": "Items",
"type": "array"
}
},
"required": [
"item",
"subject",
"instance",
"node",
"itemStates",
"items"
],
"title": "AosInstanceMonitoringDataV7",
"type": "object"
},
"AosInstanceStateData": {
"description": "Service instance state information.",
"properties": {
"timestamp": {
"description": "Timestamp when unit monitoring was recorded in ISO8601 format",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"state": {
"description": "The current (reported) state of the service instance.",
"enum": [
"activating",
"active",
"inactive",
"failed"
],
"title": "State",
"type": "string"
}
},
"required": [
"timestamp",
"state"
],
"title": "AosInstanceStateData",
"type": "object"
},
"AosInstancesInfo": {
"description": "Update item info sent to the AosEdge Cloud.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"description": "Unique ID of the subject.",
"title": "Subject ID"
},
"version": {
"description": "Version in format of the SemVer.",
"title": "Version",
"type": "string"
},
"instances": {
"items": {
"$ref": "#/$defs/AosInstanceInfo"
},
"title": "Instances",
"type": "array"
}
},
"required": [
"item",
"subject",
"version",
"instances"
],
"title": "AosInstancesInfo",
"type": "object"
},
"AosIssueCertData": {
"description": "IssueCertData issue certificate data.",
"properties": {
"type": {
"description": "Type of the certificate.",
"enum": [
"offline",
"online",
"um",
"sm",
"cm",
"iam",
"host-device",
"remote-device",
"azure-iot"
],
"title": "Type of the certificate",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identity of the node."
},
"csr": {
"description": "Certificate Signing Request.",
"title": "CSR",
"type": "string"
}
},
"required": [
"type",
"node",
"csr"
],
"title": "AosIssueCertData",
"type": "object"
},
"AosIssueUnitCertificatesV7": {
"description": "AosUnit protocol: 'issueUnitCertificates' message.\n\nUnit sends issue unit certificates request.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "issueUnitCertificates",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"requests": {
"description": "Request to issue certificates.",
"items": {
"$ref": "#/$defs/AosIssueCertData"
},
"title": "Request to issue certificates",
"type": "array"
}
},
"required": [
"messageType",
"requests"
],
"title": "AosIssueUnitCertificatesV7",
"type": "object"
},
"AosIssuedCertificateV7": {
"description": "Aos issued certificate.",
"properties": {
"type": {
"description": "Type of the CSR",
"examples": [
"online",
"offline"
],
"title": "Type",
"type": "string"
},
"chain": {
"description": "Chain of certificates.",
"title": "Chain of certificates",
"type": "string"
}
},
"required": [
"type",
"chain"
],
"title": "AosIssuedCertificateV7",
"type": "object"
},
"AosIssuedUnitCertificatesV7": {
"description": "AosUnit protocol: 'issuedUnitCertificates' message.\n\nCloud sends issued unit certificates info.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "issuedUnitCertificates",
"default": "issuedUnitCertificates",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"certificates": {
"description": "The list of certificates that were issued.",
"items": {
"$ref": "#/$defs/AosIssuedUnitCertsV7"
},
"title": "Certificates",
"type": "array"
}
},
"required": [
"certificates"
],
"title": "AosIssuedUnitCertificatesV7",
"type": "object"
},
"AosIssuedUnitCertsV7": {
"description": "IssuedUnitCerts issued unit certificates info.",
"properties": {
"type": {
"description": "Type of the certificate.",
"enum": [
"offline",
"online",
"um",
"sm",
"cm",
"iam",
"host-device",
"remote-device",
"azure-iot"
],
"title": "Type of the certificate",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identity of the node."
},
"certificateChain": {
"description": "Chain of certificates.",
"title": "Chain of certificates",
"type": "string"
}
},
"required": [
"type",
"node",
"certificateChain"
],
"title": "AosIssuedUnitCertsV7",
"type": "object"
},
"AosLogFilterV7": {
"description": "The filter options applied to logs.",
"properties": {
"from": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start timestamp of the logs in ISO8601 format. Applied operator: `>=`.",
"title": "From"
},
"till": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End timestamp of the logs in ISO8601 format. Applied operator: `<`.",
"title": "Till"
},
"nodeIds": {
"default": null,
"description": "The optional list of the Nodes to look for logs. If field ia omitted all nodes are used.",
"items": {
"$ref": "#/$defs/AosIdentity"
},
"title": "Nodes",
"type": "array"
},
"item": {
"anyOf": [
{
"$ref": "#/$defs/AosIdentity"
},
{
"type": "null"
}
],
"default": null,
"description": "Update item identifier."
},
"subject": {
"anyOf": [
{
"$ref": "#/$defs/AosIdentity"
},
{
"type": "null"
}
],
"default": null,
"description": "The identification of the resource."
},
"instance": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no"
}
},
"title": "AosLogFilterV7",
"type": "object"
},
"AosMonitoringData": {
"description": "AosEdge monitoring data.",
"properties": {
"timestamp": {
"description": "Timestamp when unit monitoring was recorded in ISO8601 format",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"ram": {
"description": "RAM Parameter of unit monitoring",
"title": "Ram",
"type": "integer"
},
"cpu": {
"description": "CPU Parameter of unit monitoring",
"title": "Cpu",
"type": "integer"
},
"download": {
"default": null,
"description": "In Traffic Parameter of unit monitoring",
"title": "Download",
"type": "integer"
},
"upload": {
"default": null,
"description": "Out Traffic Parameter of unit monitoring",
"title": "Upload",
"type": "integer"
},
"partitions": {
"default": null,
"description": "Usage of disk partitions",
"items": {
"$ref": "#/$defs/AosPartitionUsage"
},
"title": "Partitions",
"type": "array"
}
},
"required": [
"timestamp",
"ram",
"cpu"
],
"title": "AosMonitoringData",
"type": "object"
},
"AosMonitoringV7": {
"description": "AosEdge unit monitoring message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "monitoringData",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"nodes": {
"description": "List of AosEdge unit monitoring items",
"items": {
"$ref": "#/$defs/AosNodeMonitoringDataV7"
},
"title": "Nodes",
"type": "array"
},
"instances": {
"default": null,
"description": "List of AosEdge unit monitoring got from update items.",
"items": {
"$ref": "#/$defs/AosInstanceMonitoringDataV7"
},
"title": "Instances",
"type": "array"
}
},
"required": [
"messageType",
"nodes"
],
"title": "AosMonitoringV7",
"type": "object"
},
"AosNackV7": {
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "nack",
"default": "nack",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"retryAfter": {
"default": 500,
"description": "Retry after time in milliseconds.",
"title": "Retryafter",
"type": "integer"
}
},
"title": "AosNackV7",
"type": "object"
},
"AosNewStateV7": {
"description": "AosUnit protocol: 'newState' message.\n\nUnit reports service state changes using this message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "newState",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"default": null,
"description": "The identification of the resource (service)."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"default": null,
"description": "The identification of the subject."
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"stateChecksum": {
"description": "The checksum (digest) over state content",
"maxLength": 256,
"minLength": 1,
"title": "State checksum (digest)",
"type": "string"
},
"state": {
"description": "The state content",
"minLength": 0,
"title": "State content",
"type": "string"
}
},
"required": [
"messageType",
"instance",
"stateChecksum",
"state"
],
"title": "AosNewStateV7",
"type": "object"
},
"AosNodeCPUInfo": {
"properties": {
"modelName": {
"default": null,
"title": "Modelname",
"type": "string"
},
"totalNumCores": {
"default": null,
"title": "Totalnumcores",
"type": "integer"
},
"totalNumThreads": {
"default": null,
"title": "Totalnumthreads",
"type": "integer"
},
"archInfo": {
"$ref": "#/$defs/AosArchInfo"
},
"maxDmips": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Maxdmips"
}
},
"required": [
"archInfo"
],
"title": "AosNodeCPUInfo",
"type": "object"
},
"AosNodeDesiredState": {
"description": "Desired node status.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"state": {
"description": "The desired state of the node.",
"enum": [
"provisioned",
"paused"
],
"title": "State",
"type": "string"
}
},
"required": [
"item",
"state"
],
"title": "AosNodeDesiredState",
"type": "object"
},
"AosNodeMonitoringDataV7": {
"description": "AosEdge unit monitoring information.",
"properties": {
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"nodeStates": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosNodeState"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of AosEdge unit monitoring got from node states.",
"title": "Nodestates"
},
"items": {
"description": "List of the monitoring records.",
"items": {
"$ref": "#/$defs/AosMonitoringData"
},
"title": "Items",
"type": "array"
}
},
"required": [
"node",
"items"
],
"title": "AosNodeMonitoringDataV7",
"type": "object"
},
"AosNodePartitionInfo": {
"description": "Aos node partition info.",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"types": {
"items": {
"type": "string"
},
"title": "List of types",
"type": "array"
},
"totalSize": {
"title": "Total size",
"type": "integer"
}
},
"required": [
"name",
"types",
"totalSize"
],
"title": "AosNodePartitionInfo",
"type": "object"
},
"AosNodeSecretV7": {
"description": "Node related secret data.",
"properties": {
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identity of the node."
},
"secret": {
"description": "Secret value for a node.",
"format": "password",
"title": "Secret",
"type": "string",
"writeOnly": true
}
},
"required": [
"node",
"secret"
],
"title": "AosNodeSecretV7",
"type": "object"
},
"AosNodeState": {
"description": "AosEdge unit monitoring information.",
"properties": {
"timestamp": {
"description": "Timestamp when the node state change was recorded in ISO8601 format",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"isConnected": {
"description": "Flag to indicate if the node is connected to main.",
"title": "Isconnected",
"type": "boolean"
},
"state": {
"description": "The current (reported) status of the node.",
"enum": [
"unprovisioned",
"provisioned",
"error",
"paused"
],
"title": "State",
"type": "string"
}
},
"required": [
"timestamp",
"isConnected",
"state"
],
"title": "AosNodeState",
"type": "object"
},
"AosOsInfo": {
"properties": {
"os": {
"examples": [
"linux"
],
"title": "Os",
"type": "string"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The version of the OS.",
"examples": [
"6.8.0"
],
"title": "Version"
},
"features": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "This OPTIONAL property specifies an array of strings, each specifying a mandatory OS feature.",
"title": "Features"
}
},
"required": [
"os"
],
"title": "AosOsInfo",
"type": "object"
},
"AosOverrideEnvVarsRequestV7": {
"description": "AosUnit protocol: 'overrideEnvVars' message.\n\nCloud requests EnvVar changes using this message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "overrideEnvVars",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"items": {
"description": "The list of filters and environment variables to apply.",
"items": {
"$ref": "#/$defs/AosEnvVarV7"
},
"title": "List of filters and variables",
"type": "array"
}
},
"required": [
"messageType",
"items"
],
"title": "AosOverrideEnvVarsRequestV7",
"type": "object"
},
"AosOverrideEnvVarsStatusesV7": {
"description": "AosUnit protocol: 'overrideEnvVarsStatus' message.\n\nUnit reports EnvVar changes using this message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "overrideEnvVarsStatus",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"statuses": {
"description": "The list of environment variables and their statuses.",
"items": {
"$ref": "#/$defs/AosEnvVarInstanceStatusV7"
},
"title": "Statuses list",
"type": "array"
}
},
"required": [
"messageType",
"statuses"
],
"title": "AosOverrideEnvVarsStatusesV7",
"type": "object"
},
"AosPartitionUsage": {
"description": "PartitionUsage partition usage information.",
"properties": {
"name": {
"description": "Name of disk partition",
"title": "Name",
"type": "string"
},
"usedSize": {
"description": "Used of disk partition in bytes",
"title": "Usedsize",
"type": "integer"
}
},
"required": [
"name",
"usedSize"
],
"title": "AosPartitionUsage",
"type": "object"
},
"AosPushLogV7": {
"description": "AosUnit protocol: 'pushLog' message.\n\nUnit sends the specified logs to the Cloud.",
"properties": {
"correlationId": {
"default": null,
"description": "The unique log request ID. Used to group all results into the single batch.",
"title": "Correlation id",
"type": "string"
},
"messageType": {
"const": "pushLog",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"part": {
"default": null,
"description": "The No of the current part. Starts with 0.",
"title": "Part #",
"type": "integer"
},
"partsCount": {
"default": null,
"description": "The total count of parts.",
"title": "Parts count",
"type": "integer"
},
"content": {
"default": null,
"description": "The base64 encoded content of the specified part of the log file.",
"format": "base64",
"title": "Content",
"type": "string"
},
"status": {
"description": "The log status for the specified Node.",
"enum": [
"ok",
"failed",
"error",
"empty",
"absent"
],
"title": "Status",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"messageType",
"node",
"status"
],
"title": "AosPushLogV7",
"type": "object"
},
"AosRenewCertsNotificationV7": {
"description": "AosUnit protocol: 'renewCertificatesNotification' message.\n\nCloud sends renew certificate notification from cloud with unit secrets.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "renewCertificatesNotification",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"certificates": {
"description": "The list of certificates that were renewed.",
"items": {
"$ref": "#/$defs/AosCertificateIdentificationValidTillV7"
},
"title": "Certificates",
"type": "array"
},
"unitSecrets": {
"$ref": "#/$defs/AosUnitSecretsDataV7",
"description": "The unit secrets",
"examples": [
{
"nodes": {
"Node0": "mega strong secret",
"Node1": "super strong secret"
},
"version": 1
}
],
"title": "Unit Secrets"
}
},
"required": [
"messageType",
"certificates",
"unitSecrets"
],
"title": "AosRenewCertsNotificationV7",
"type": "object"
},
"AosRequestBlobUrlsV7": {
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "requestBlobUrls",
"default": "requestBlobUrls",
"description": "Type of the message body.",
"title": "Messagetype",
"type": "string"
},
"digests": {
"description": "The identification of the update item BLOB. Format same as OCI spec format",
"examples": [
[
"sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b"
]
],
"items": {
"type": "string"
},
"title": "Digests",
"type": "array"
}
},
"required": [
"digests"
],
"title": "AosRequestBlobUrlsV7",
"type": "object"
},
"AosRequestLogV7": {
"description": "AosUnit protocol: 'requestLog' message.\n\nCloud requests the specified logs from the Unit.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "requestLog",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"logType": {
"description": "The type of requested logs.",
"enum": [
"systemLog",
"instanceLog",
"crashLog"
],
"title": "Logtype",
"type": "string"
},
"filter": {
"$ref": "#/$defs/AosLogFilterV7",
"description": "The filters for the requested logs.",
"title": "Filter"
},
"uploadOptions": {
"$ref": "#/$defs/AosUploadLogOptions",
"default": null,
"description": "The upload options. The absense means use AMQPs channel."
}
},
"required": [
"messageType",
"logType",
"filter"
],
"title": "AosRequestLogV7",
"type": "object"
},
"AosResourceInfo": {
"properties": {
"name": {
"description": "The name of the resource.",
"examples": [
"camera0",
"shared_folder_1",
"dbus"
],
"title": "Name",
"type": "string"
},
"sharedCount": {
"description": "The number of maximum shared usages. 0 mean unlimited",
"minimum": 0,
"title": "Sharedcount",
"type": "integer"
}
},
"required": [
"name",
"sharedCount"
],
"title": "AosResourceInfo",
"type": "object"
},
"AosRuntimeInfo": {
"properties": {
"identity": {
"$ref": "#/$defs/AosIdentity"
},
"runtimeType": {
"examples": [
"runc",
"crun",
"break_system_controllers_bs351",
"bios",
""
],
"maxLength": 64,
"minLength": 1,
"title": "Runtimetype",
"type": "string"
},
"archInfo": {
"$ref": "#/$defs/AosArchInfo"
},
"osInfo": {
"$ref": "#/$defs/AosOsInfo"
},
"maxDmips": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Maxdmips"
},
"allowedDmips": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Alloweddmips"
},
"totalRam": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total memory in bytes. None if runner shares memory with node.",
"title": "Totalram"
},
"allowedRam": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Memory that can be used to run services in bytes. None if no restrictions.",
"title": "Allowedram"
},
"maxInstances": {
"description": "The maximum number of instances. 0 for unlimited.",
"minimum": 0,
"title": "Maxinstances",
"type": "integer"
}
},
"required": [
"identity",
"runtimeType",
"archInfo",
"osInfo",
"maxInstances"
],
"title": "AosRuntimeInfo",
"type": "object"
},
"AosSignInfo": {
"description": "Aos sign information.",
"properties": {
"chainName": {
"description": "chain name from the list of `certificateChains`.",
"title": "Chainname",
"type": "string"
},
"alg": {
"description": "Used algorithm for signing in the form `alg/hash`.",
"enum": [
"RSA/SHA256",
"EC/SHA256"
],
"title": "Alg",
"type": "string"
},
"value": {
"description": "Base64 encoded value of the signature.",
"title": "Value",
"type": "string"
},
"trustedTimestamp": {
"description": "Timestamp of the signature in ISO8601 format.",
"title": "Trustedtimestamp",
"type": "string"
},
"ocspValues": {
"default": null,
"description": "OCSP value of the signature.",
"items": {
"type": "string"
},
"title": "Ocspvalues",
"type": "array"
}
},
"required": [
"chainName",
"alg",
"value",
"trustedTimestamp"
],
"title": "AosSignInfo",
"type": "object"
},
"AosStartProvisioningRequestV7": {
"description": "AosUnit protocol: 'startProvisioningRequest' message.\n\nCloud begins provisioning process with this message",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "startProvisioningRequest",
"default": "startProvisioningRequest",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"password": {
"description": "Admin (secure officer) password for the node TPM.",
"title": "Password",
"type": "string"
}
},
"required": [
"node",
"password"
],
"title": "AosStartProvisioningRequestV7",
"type": "object"
},
"AosStartProvisioningResponseV7": {
"description": "AosUnit protocol: 'startProvisioningResponse' message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "startProvisioningResponse",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"node": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the node."
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
},
"csrs": {
"description": "List of the CSRs.",
"items": {
"$ref": "#/$defs/AosCSR"
},
"title": "Csrs",
"type": "array"
}
},
"required": [
"messageType",
"node",
"csrs"
],
"title": "AosStartProvisioningResponseV7",
"type": "object"
},
"AosStateAcceptanceV7": {
"description": "AosUnit protocol: 'stateAcceptance' message.\n\nCloud reports service state changes using this message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "stateAcceptance",
"default": "stateAcceptance",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"description": "Unique ID of the subject.",
"title": "Subject ID"
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"checksum": {
"anyOf": [
{
"maxLength": 256,
"minLength": 0,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The checksum (digest) over state content",
"title": "State checksum (digest)"
},
"result": {
"description": "The result of applying state change.",
"enum": [
"accepted",
"rejected"
],
"title": "Result of applying state change",
"type": "string"
},
"reason": {
"description": "The reason of applying state change.",
"minLength": 0,
"title": "Reason of applying state change",
"type": "string"
}
},
"required": [
"item",
"subject",
"instance",
"result",
"reason"
],
"title": "AosStateAcceptanceV7",
"type": "object"
},
"AosStateRequestV7": {
"description": "AosUnit protocol: 'newState' message.\n\nUnit request service state.\n - if `default` field is equal to `true` - AosEdge Cloud will return the initial (default) state.\n - else AosEdge Cloud will return current state (the latest)",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "stateRequest",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"description": "Unique ID of the subject.",
"title": "Subject ID"
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"default": {
"type": "boolean",
"title": "Is default?",
"description": "Is requested state is the default state?"
}
},
"required": [
"messageType",
"item",
"subject",
"instance",
"default"
],
"title": "AosStateRequestV7",
"type": "object"
},
"AosSubject": {
"properties": {
"identity": {
"$ref": "#/$defs/AosIdentity",
"description": "The identification of the subject."
},
"type": {
"description": "The type of the subject.",
"enum": [
"group",
"user"
],
"title": "Type",
"type": "string"
}
},
"required": [
"identity",
"type"
],
"title": "AosSubject",
"type": "object"
},
"AosUnitConfigStatus": {
"properties": {
"version": {
"default": null,
"description": "Version in format of the SemVer.",
"title": "Version",
"type": "string"
},
"state": {
"description": "current state of the item",
"enum": [
"absent",
"installed",
"failed"
],
"title": "State",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"state"
],
"title": "AosUnitConfigStatus",
"type": "object"
},
"AosUnitHeaderV7": {
"description": "Aos Unit message header.",
"properties": {
"version": {
"const": 7,
"default": 7,
"description": "The version of Unit-Cloud protocol.",
"title": "Protocol version",
"type": "integer"
},
"systemId": {
"description": "The unique system ID of the unit.",
"title": "",
"type": "string"
},
"createdAt": {
"description": "The time when the message was created.",
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"txn": {
"description": "Transmission ID of the message (for acknowledgements and tracing purposes).",
"title": "Txn",
"type": "string"
}
},
"required": [
"systemId",
"createdAt",
"txn"
],
"title": "AosUnitHeaderV7",
"type": "object"
},
"AosUnitNodeInfo": {
"properties": {
"identity": {
"$ref": "#/$defs/AosIdentity",
"description": "Identifier of the node.",
"examples": [
{
"codename": "node-1398431",
"title": "DomD"
}
]
},
"nodeGroupSubject": {
"$ref": "#/$defs/AosIdentity",
"description": "Subject of the node group. Previously known as NodeType.",
"examples": [
{
"codename": "main-node"
}
]
},
"maxDmips": {
"title": "Maxdmips",
"type": "integer"
},
"physicalRam": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total physical node RAM in bytes.",
"title": "Physicalram"
},
"totalRam": {
"description": "Total node RAM in bytes (physical + swap).",
"minimum": 1,
"title": "Totalram",
"type": "integer"
},
"osInfo": {
"$ref": "#/$defs/AosOsInfo"
},
"cpus": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosNodeCPUInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Cpus"
},
"attrs": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"examples": [
[
"dynamic"
],
{
"cloud_connection": "",
"name1": "value1",
"static": ""
}
],
"title": "Attrs"
},
"partitions": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosNodePartitionInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of partitions",
"title": "Partitions"
},
"runtimes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosRuntimeInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of supported runtimes.",
"title": "Runtimes"
},
"resources": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosResourceInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of available resources.",
"title": "Resources"
},
"isConnected": {
"description": "Flag to indicate if the node is connected to main node.",
"title": "Isconnected",
"type": "boolean"
},
"state": {
"description": "The current (reported) status of the node.",
"enum": [
"unprovisioned",
"provisioned",
"error",
"paused"
],
"title": "State",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"identity",
"nodeGroupSubject",
"maxDmips",
"totalRam",
"osInfo",
"isConnected",
"state"
],
"title": "AosUnitNodeInfo",
"type": "object"
},
"AosUnitSecretsDataV7": {
"description": "Keeps the unit secret used to decode secure device information.",
"properties": {
"version": {
"description": "Version of the unit secrets structure.",
"title": "Version",
"type": "string"
},
"nodes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosNodeSecretV7"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Nodes and secrets list.",
"title": "Nodes"
}
},
"required": [
"version"
],
"title": "AosUnitSecretsDataV7",
"type": "object"
},
"AosUnitStatusV7": {
"description": "AosUnit protocol: 'unitStatus' message.\n\nUnit reports all current status information using this message",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "unitStatus",
"description": "message body type",
"title": "Messagetype",
"type": "string"
},
"isDeltaInfo": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Flag to indicate if this is a full info message or delta from previous times",
"examples": [
true,
false
],
"title": "Delta info?"
},
"unitConfig": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosUnitConfigStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Information about the installed unitConfig.",
"title": "Unitconfig"
},
"nodes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosUnitNodeInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "The list of attached to the Unit nodes.",
"title": "Nodes"
},
"items": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosUpdateItemInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of the Aos update items.",
"title": "Items"
},
"instances": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosInstancesInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Instances"
},
"subjects": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosIdentity"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Subjects"
}
},
"required": [
"messageType"
],
"title": "AosUnitStatusV7",
"type": "object"
},
"AosUpdateItemBlobInfo": {
"properties": {
"digest": {
"description": "The identification of the update item BLOB. Format same as OCI spec format",
"examples": [
"sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b"
],
"title": "Digest",
"type": "string"
},
"urls": {
"description": "the list of urls pointer to the same target",
"items": {
"type": "string"
},
"minItems": 1,
"title": "Urls",
"type": "array"
},
"sha256": {
"description": "SHA3-256 digest of the target",
"format": "base64",
"title": "Sha256",
"type": "string"
},
"size": {
"description": "size of the file in bytes",
"title": "Size",
"type": "integer"
},
"decryptInfo": {
"$ref": "#/$defs/AosDecryptInfo",
"description": "Object with information to decrypt the component."
},
"signInfo": {
"$ref": "#/$defs/AosSignInfo",
"description": "Sign values of the file."
}
},
"required": [
"digest",
"urls",
"sha256",
"size",
"decryptInfo",
"signInfo"
],
"title": "AosUpdateItemBlobInfo",
"type": "object"
},
"AosUpdateItemInfo": {
"description": "Update item info sent to the AosEdge Cloud.",
"properties": {
"item": {
"$ref": "#/$defs/AosIdentity",
"description": "Update item identifier."
},
"version": {
"description": "Version in format of the SemVer.",
"title": "Version",
"type": "string"
},
"state": {
"description": "The current (reported) state of the update item.",
"enum": [
"unknown",
"downloading",
"pending",
"installing",
"installed",
"removing",
"removed",
"failed"
],
"title": "State",
"type": "string"
},
"errorInfo": {
"anyOf": [
{
"$ref": "#/$defs/AosErrorInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Error information. Absense means no error."
}
},
"required": [
"item",
"version",
"state"
],
"title": "AosUpdateItemInfo",
"type": "object"
},
"AosUpdateStateV7": {
"description": "AosUnit protocol: 'updateState' message.\n\nCloud reports service state changes using this message.",
"properties": {
"correlationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Correlation ID of the request.",
"title": "Correlationid"
},
"messageType": {
"const": "updateState",
"default": "updateState",
"description": "Message body type.",
"title": "Message type",
"type": "string"
},
"item": {
"$ref": "#/$defs/AosIdentity",
"default": null,
"description": "The identification of the resource (service)."
},
"subject": {
"$ref": "#/$defs/AosIdentity",
"default": null,
"description": "The identification of the subject."
},
"instance": {
"description": "The instance number of the service. Starts from 0.",
"title": "Instance no",
"type": "integer"
},
"stateChecksum": {
"description": "The checksum (digest) over state content",
"maxLength": 256,
"minLength": 1,
"title": "State checksum (digest)",
"type": "string"
},
"state": {
"description": "The state content",
"minLength": 0,
"title": "State content",
"type": "string"
}
},
"required": [
"instance",
"stateChecksum",
"state"
],
"title": "AosUpdateStateV7",
"type": "object"
},
"AosUploadLogOptions": {
"description": "The description of used channel to upload logs.",
"properties": {
"type": {
"description": "The channel protocol used to upload logs.",
"enum": [
"wss",
"https"
],
"title": "Type of the channel",
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The base URL used to upload.",
"title": "URL"
},
"bearerToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The token to use in the `Authorization` header.",
"title": "Bearer token"
},
"bearerTokenTtl": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Time to live of the token in ISO8601 format.",
"title": "Bearer token TTL"
}
},
"required": [
"type"
],
"title": "AosUploadLogOptions",
"type": "object"
},
"NodeConfigV7": {
"description": "Node configuration parameters.",
"properties": {
"nodeGroupSubject": {
"$ref": "#/$defs/AosIdentity",
"description": "Subject of the node group. Previously known as NodeType.",
"examples": [
{
"codename": "main-node"
}
]
},
"node": {
"anyOf": [
{
"$ref": "#/$defs/AosIdentity"
},
{
"type": "null"
}
],
"default": null,
"description": "Node identifier.",
"examples": [
{
"codename": "main-289353498",
"title": "Dom0"
}
]
},
"alertRules": {
"anyOf": [
{
"$ref": "#/$defs/AlertRules"
},
{
"type": "null"
}
],
"default": null,
"description": "The default thresholds for services running on the node.",
"title": "Alert Rules"
},
"resourceRatios": {
"anyOf": [
{
"$ref": "#/$defs/ResourceRatiosInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "The default resource ratio allocated for a service."
},
"labels": {
"default": null,
"description": "The list of labels for this node.",
"items": {
"type": "string"
},
"title": "Labels",
"type": "array"
},
"priority": {
"description": "The priority of the node for deploying services.",
"exclusiveMaximum": 4294967295,
"minimum": 0,
"title": "Priority",
"type": "integer"
}
},
"required": [
"nodeGroupSubject",
"priority"
],
"title": "NodeConfigV7",
"type": "object"
},
"ResourceRatiosInfo": {
"description": "The default resource ratio allocated for a service.",
"properties": {
"cpu": {
"default": null,
"description": "The CPU ratio in percent.",
"title": "Cpu",
"type": "number"
},
"ram": {
"default": null,
"description": "The memory (RAM) ratio in percent.",
"title": "Ram",
"type": "number"
},
"storage": {
"default": null,
"description": "The storage ratio in percent.",
"title": "Storage",
"type": "number"
},
"state": {
"default": null,
"description": "Requested size of the \"state\" partition (in percents of its capacity).",
"title": "State",
"type": "number"
}
},
"title": "ResourceRatiosInfo",
"type": "object"
},
"UnitConfigV7": {
"description": "Configuration parameters for a unit.",
"properties": {
"version": {
"description": "Version identifies the configuration itself. It is automatically incremented with every configuration update.",
"title": "Version",
"type": "string"
},
"formatVersion": {
"description": "JSON format of the unit configuration may change over time. This field identifies current format of unit configuration. Cloud sets it automatically.",
"title": "Format Version",
"type": "string"
},
"nodes": {
"description": "The list of node configurations.",
"items": {
"$ref": "#/$defs/NodeConfigV7"
},
"title": "Nodes",
"type": "array"
}
},
"required": [
"version",
"formatVersion",
"nodes"
],
"title": "UnitConfigV7",
"type": "object"
}
},
"description": "Unit message model.",
"properties": {
"header": {
"$ref": "#/$defs/AosUnitHeaderV7",
"description": "Aos Unit-Cloud message header"
},
"data": {
"description": "message payload",
"discriminator": {
"mapping": {
"ack": "#/$defs/AosAckV7",
"alerts": "#/$defs/AosAlertsV7",
"blobUrls": "#/$defs/AosBlobUrlsV7",
"deprovisioningRequest": "#/$defs/AosDeProvisioningRequestV7",
"deprovisioningResponse": "#/$defs/AosDeProvisioningResponseV7",
"desiredStatus": "#/$defs/AosDesiredStatusV7",
"finishProvisioningRequest": "#/$defs/AosFinishProvisioningRequestV7",
"finishProvisioningResponse": "#/$defs/AosFinishProvisioningResponseV7",
"installUnitCertificatesConfirmation": "#/$defs/AosInstallUnitCertificatesConfirmationV7",
"issueUnitCertificates": "#/$defs/AosIssueUnitCertificatesV7",
"issuedUnitCertificates": "#/$defs/AosIssuedUnitCertificatesV7",
"monitoringData": "#/$defs/AosMonitoringV7",
"nack": "#/$defs/AosNackV7",
"newState": "#/$defs/AosNewStateV7",
"overrideEnvVars": "#/$defs/AosOverrideEnvVarsRequestV7",
"overrideEnvVarsStatus": "#/$defs/AosOverrideEnvVarsStatusesV7",
"pushLog": "#/$defs/AosPushLogV7",
"renewCertificatesNotification": "#/$defs/AosRenewCertsNotificationV7",
"requestBlobUrls": "#/$defs/AosRequestBlobUrlsV7",
"requestLog": "#/$defs/AosRequestLogV7",
"startProvisioningRequest": "#/$defs/AosStartProvisioningRequestV7",
"startProvisioningResponse": "#/$defs/AosStartProvisioningResponseV7",
"stateAcceptance": "#/$defs/AosStateAcceptanceV7",
"stateRequest": "#/$defs/AosStateRequestV7",
"unitStatus": "#/$defs/AosUnitStatusV7",
"updateState": "#/$defs/AosUpdateStateV7"
},
"propertyName": "messageType"
},
"oneOf": [
{
"$ref": "#/$defs/AosAckV7"
},
{
"$ref": "#/$defs/AosNackV7"
},
{
"$ref": "#/$defs/AosAlertsV7"
},
{
"$ref": "#/$defs/AosMonitoringV7"
},
{
"$ref": "#/$defs/AosUnitStatusV7"
},
{
"$ref": "#/$defs/AosDesiredStatusV7"
},
{
"$ref": "#/$defs/AosRequestBlobUrlsV7"
},
{
"$ref": "#/$defs/AosBlobUrlsV7"
},
{
"$ref": "#/$defs/AosNewStateV7"
},
{
"$ref": "#/$defs/AosStateRequestV7"
},
{
"$ref": "#/$defs/AosStateAcceptanceV7"
},
{
"$ref": "#/$defs/AosUpdateStateV7"
},
{
"$ref": "#/$defs/AosRequestLogV7"
},
{
"$ref": "#/$defs/AosPushLogV7"
},
{
"$ref": "#/$defs/AosOverrideEnvVarsRequestV7"
},
{
"$ref": "#/$defs/AosOverrideEnvVarsStatusesV7"
},
{
"$ref": "#/$defs/AosRenewCertsNotificationV7"
},
{
"$ref": "#/$defs/AosIssuedUnitCertificatesV7"
},
{
"$ref": "#/$defs/AosIssueUnitCertificatesV7"
},
{
"$ref": "#/$defs/AosInstallUnitCertificatesConfirmationV7"
},
{
"$ref": "#/$defs/AosStartProvisioningRequestV7"
},
{
"$ref": "#/$defs/AosStartProvisioningResponseV7"
},
{
"$ref": "#/$defs/AosFinishProvisioningRequestV7"
},
{
"$ref": "#/$defs/AosFinishProvisioningResponseV7"
},
{
"$ref": "#/$defs/AosDeProvisioningRequestV7"
},
{
"$ref": "#/$defs/AosDeProvisioningResponseV7"
}
],
"title": "Data"
}
},
"required": [
"header",
"data"
],
"title": "AosUnitMessageV7",
"type": "object"
}