Skip to main content

Update config

This is schema for update config which is sent to the unit during Update.

Schema view for update config.

Loading ....

Source of the schema

aos-update.schema.json
{
"$defs": {
"AosComponent": {
"description": "AosEdge Component schema description.\n\nContains description and dependencies information.",
"properties": {
"type": {
"description": "Unique for the AosEdge unit model component identifier.\nNote that components are shared between different unit models.",
"title": "Type",
"type": "string"
},
"fileName": {
"description": "Path to the component file inside bundle.",
"title": "Filename",
"type": "string"
},
"version": {
"description": "Component version in SemVer format.",
"title": "Version",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Component update description, for information purpose..",
"title": "Description"
},
"requiredVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Indicates the exact version of the component on which this version should be applied\n (explicitly means that update incremental) (requiredVersion discards minVersion and maxVersion).\nFormat - SemVer.",
"title": "Requiredversion"
},
"minVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Indicates minimum version which should the component have before installing this one. Format - SemVer.",
"title": "Minversion"
},
"maxVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Indicates maximum version which should the component have before installing this one. Format - SemVer.",
"title": "Maxversion"
},
"downloadTTL": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Download TTL (ISO 8601 duration).\nIn case of the unit is not able to download service or related layer more than TTL time - Service should be deleted.",
"title": "Downloadttl"
},
"annotations": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Any valid JSON structure, it will be passed directly to the target,\n used to provide component-specific data required for update on the target.",
"examples": [
{
"type": "full"
}
],
"title": "Annotations"
},
"runtimeDependencies": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AosDependency"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of components and their versions which should be installed at same time with required component",
"examples": [
[
{
"id": "boot",
"requiredVersion": "1.0.0"
},
{
"id": "bios",
"minVersion": "1.2.0"
}
]
],
"title": "Runtimedependencies"
}
},
"required": [
"type",
"fileName",
"version"
],
"title": "AosComponent",
"type": "object"
},
"AosDependency": {
"description": "Dependency for a component.",
"properties": {
"type": {
"description": "The type (unique identifier) of the component.",
"title": "Type",
"type": "string"
},
"requiredVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The exact required version of the component.",
"title": "Requiredversion"
},
"minVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The minimum required version of the component.",
"title": "Minversion"
}
},
"required": [
"type"
],
"title": "AosDependency",
"type": "object"
}
},
"description": "SOTA/FOTA manifest format.",
"properties": {
"formatVersion": {
"const": 2,
"description": "Format version, used to support future extension and backward compatibility.",
"enum": [
2
],
"title": "Formatversion",
"type": "integer"
},
"components": {
"description": "Array of component images this bundle contains.",
"examples": [
{
"annotations": {
"type": "incremental"
},
"description": "this is rootfs update",
"downloadTTL": "P1M",
"fileName": "component.gz",
"requiredVersion": "2.0.0",
"runtimeDependencies": [
{
"requiredVersion": "1.0.0",
"type": "boot"
},
{
"minVersion": "1.2.0",
"type": "bios"
}
],
"type": "rootfs",
"version": "2.1.0"
},
{
"annotations": {
"type": "full"
},
"description": "this is rootfs update",
"downloadTTL": "P1M",
"fileName": "component.gz",
"maxVersion": "2.0.0b99",
"minVersion": "1.0.0",
"type": "rootfs",
"version": "2.0.0"
}
],
"items": {
"$ref": "#/$defs/AosComponent"
},
"title": "Components",
"type": "array"
}
},
"required": [
"formatVersion",
"components"
],
"title": "AosUpdateSchema",
"type": "object"
}