Product jsonschemaΒΆ
The JSON Schema for the products is listed here.
Note
The product files can contain fields not listed in the schema here. But the required fields (in the required arrays in the schema) and usually provided fields are listed in the schema.
Warning
This schema is work-in-progress and was only used once to manually verify some of the available product files. It is not yet used in any automated tests.
{
"$comment": "This schema is work-in-progress and was only used once to manually verify some of the available index.jsn files. It is not yet used in any automated tests.",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ubuntu.com/simplestreams.product.schema.json",
"title": "Simple Streams Product Schema",
"description": "The format of the Simple Streams product file",
"type": "object",
"required": ["format", "content_id", "products"],
"properties": {
"format": {
"description": "the version of the Simple Streams products format",
"const": "products:1.0"
},
"content_id": {
"description": "formed similarly to an ISCSI qualified name (IQN), eg. 'com.ubuntu.cloud:released:aws'",
"type": "string",
},
"updated": {
"description": "a RFC 2822 timestamp indicating when the file was last updated",
"type": "string"
},
"datatype": {
"description": "the type of data in the index",
"$comment": "image-ids used in clouds (GCE, AWS, Azure, etc), image-downloads used for cloud-images.ubuntu.co and releases.ubuntu.com",
"enum": [
"image-ids",
"image-downloads"
]
},
"products": {
"type": "object",
"properties": {
"versions": {
"type": "object",
"properties": {
"version_name": {
"type": "object",
"properties": {
"items": {
"type": "object",
"properties": {
"item": {
"type": "object",
"properties": {
"properties": {
"path": {
"description": "the path to the product .json file. Must be relatve to the top level of a mirror (eg. 'streams/v1/com.ubuntu.cloud:daily:aws.json')",
"type": "string"
},
"sha256": {
"description": "sha256 sum of the content of the 'path' file",
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}
}
}