{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "http://example.com/example.json",
    "type": "object",
    "title": "Imager oslist.json schema",
    "description": "oslist.json format.",
    "default": {},
    "examples": [
        {
            "imager": {
                "latest_version": "1.6",
                "url": "https://www.raspberrypi.org/software/",
                "default_os": "Raspberry Pi OS (32-bit)",
                "embedded_default_os": "Raspberry Pi OS (32-bit)",
                "embedded_default_destination": "/dev/mmcblk0p1"
            },
            "os_list": [
                {
                    "name": "Raspberry Pi OS (32-bit)",
                    "description": "A port of Debian Bullseye with the Raspberry Pi Desktop (Recommended)",
                    "icon": "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png",
                    "url": "https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2022-01-28/2022-01-28-raspios-bullseye-armhf.zip",
                    "extract_size": 4236247040,
                    "extract_sha256": "ceb7d7489847ed811e7746fa779837f78fc06d43663148a696280e6a1cfe00e3",
                    "image_download_size": 1306588543,
                    "release_date": "2022-01-28",
                    "init_format": "systemd"
                },
                {
                    "name": "Ubuntu Server 21.10 (RPi 3/4/400)",
                    "description": "64-bit server OS for arm64 architectures",
                    "icon": "https://assets.ubuntu.com/v1/85a9de76-ubuntu-icon.svg",
                    "url": "http://cdimage.ubuntu.com/releases/impish/release/ubuntu-21.10-preinstalled-server-arm64+raspi.img.xz",
                    "extract_size": 4068480000,
                    "extract_sha256": "4cf06429e0367f0a59b890819d1792b0d816bc531fcb5bd092e441d8d6a942b9",
                    "image_download_size": 921117368,
                    "release_date": "2021-10-14",
                    "website": "https://ubuntu.com/raspberry-pi/server",
                    "init_format": "cloudinit"
                },
                {
                    "name": "Bootloader",
                    "description": "Restore the factory default settings and change boot priority",
                    "icon": "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png",
                    "subitems_url": "https://downloads.raspberrypi.org/eeprom_recovery.json",
                    "website": "https://www.raspberrypi.org/"
                },
                {
                    "name": "Raspberry Pi OS (other)",
                    "description": "Other Raspberry Pi OS based images",
                    "icon": "icons/cat_raspberry_pi_os.png",
                    "subitems": [
                        {
                            "name": "Raspberry Pi OS (64-bit)",
                            "description": "A port of Debian Bullseye with the Raspberry Pi Desktop (Compatible with Raspberry Pi 3/4/400)",
                            "icon": "https://downloads.raspberrypi.org/raspios_arm64/Raspberry_Pi_OS_(64-bit).png",
                            "url": "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-01-28/2022-01-28-raspios-bullseye-arm64.zip",
                            "extract_size": 4156555264,
                            "extract_sha256": "6939d39cbbfbe85c68dae55f1b2375f17e21fe047b8dc1f84aa7d3c002047afb",
                            "image_download_size": 1189750489,
                            "release_date": "2022-01-28",
                            "init_format": "systemd"
                        }
                    ]
                }
            ]
        }
    ],
    "required": [
        "os_list"
    ],
    "properties": {
        "imager": {
            "$id": "#/properties/imager",
            "type": "object",
            "title": "Meta-data for the Imager program itself",
            "description": "ONLY USED IN TOP-LEVEL OS_LIST.JSON. Not for Linux distributions linked by subitems url.",
            "default": {},
            "examples": [
                {
                    "latest_version": "1.6",
                    "url": "https://www.raspberrypi.org/software/",
                    "default_os": "Raspberry Pi OS (32-bit)",
                    "embedded_default_os": "Raspberry Pi OS (32-bit)",
                    "embedded_default_destination": "/dev/mmcblk0p1",
                    "refresh_interval_minutes": 1440,
                    "refresh_jitter_minutes": 60
                }
            ],
            "required": [
            ],
            "properties": {
                "latest_version": {
                    "$id": "#/properties/imager/properties/latest_version",
                    "type": "string",
                    "title": "Latest imager version",
                    "description": "If version mentioned here is newer than the Imager that is currently being run, user is prompted for update.",
                    "default": "",
                    "examples": [
                        "1.6"
                    ]
                },
                "refresh_interval_minutes": {
                    "$id": "#/properties/imager/properties/refresh_interval_minutes",
                    "type": "integer",
                    "title": "Refresh interval in minutes",
                    "description": "Optional. Instructs the Imager to periodically refresh the top-level OS list after this many minutes.",
                    "default": 0,
                    "examples": [
                        1440
                    ]
                },
                "refresh_jitter_minutes": {
                    "$id": "#/properties/imager/properties/refresh_jitter_minutes",
                    "type": "integer",
                    "title": "Additional random jitter in minutes",
                    "description": "Optional. A non-negative number of minutes used as an upper bound for a random extra delay added to the base refresh interval.",
                    "default": 0,
                    "examples": [
                        60
                    ]
                },
                "url": {
                    "$id": "#/properties/imager/properties/url",
                    "type": "string",
                    "title": "Website to download new Imager version from",
                    "description": "If user accepts the update, a browser is opened to this address.",
                    "default": "",
                    "examples": [
                        "https://www.raspberrypi.org/software/"
                    ]
                },
                "default_os": {
                    "$id": "#/properties/imager/properties/default_os",
                    "type": "string",
                    "title": "default_os",
                    "description": "Optional. If set this OS will be selected automatically, without the user having to press 'CHOOSE OS'",
                    "default": "",
                    "examples": [
                        "Raspberry Pi OS (32-bit)"
                    ]
                },
                "embedded_default_os": {
                    "$id": "#/properties/imager/properties/embedded_default_os",
                    "type": "string",
                    "title": "embedded_default_os",
                    "description": "Optional. Same as default_os but only applied if user is running the embedded Imager edition.",
                    "default": "",
                    "examples": [
                        "Raspberry Pi OS (32-bit)"
                    ]
                },
                "embedded_default_destination": {
                    "$id": "#/properties/imager/properties/embedded_default_destination",
                    "type": "string",
                    "title": "The embedded_default_destination schema",
                    "description": "Optional. If set and the user is running the embedded Imager edition, this device will be automatically selected as destination drive.",
                    "default": "",
                    "examples": [
                        "/dev/mmcblk0p1"
                    ]
                },
                "devices": {
                    "$id": "#/properties/imager/properties/devices",
                    "type": "array",
                    "title": "The devices schema",
                    "description": "Optional. Array of device definitions that can be selected by the user.",
                    "default": [],
                    "items": {
                        "$id": "#/properties/imager/properties/devices/items",
                        "type": "object",
                        "title": "Device entry",
                        "description": "An entry for a Raspberry Pi device.",
                        "default": {},
                        "examples": [
                            {
                                "name": "Raspberry Pi 4",
                                "description": "4GB, 8GB and 2GB variants",
                                "icon": "icons/pi4.png",
                                "tags": ["pi4"],
                                "matching_type": "exclusive",
                                "architecture": "armv8",
                                "capabilities": ["i2c", "spi", "onewire", "serial", "usb_otg"]
                            }
                        ],
                        "required": [
                            "name",
                            "description",
                            "tags"
                        ],
                        "properties": {
                            "name": {
                                "$id": "#/properties/imager/properties/devices/items/properties/name",
                                "type": "string",
                                "title": "The name schema",
                                "description": "Name of device as shown in the 'CHOOSE DEVICE' list.",
                                "default": "",
                                "examples": [
                                    "Raspberry Pi 4"
                                ]
                            },
                            "description": {
                                "$id": "#/properties/imager/properties/devices/items/properties/description",
                                "type": "string",
                                "title": "The description schema",
                                "description": "Description of device as shown in the 'CHOOSE DEVICE' list.",
                                "default": "",
                                "examples": [
                                    "4GB, 8GB and 2GB variants"
                                ]
                            },
                            "icon": {
                                "$id": "#/properties/imager/properties/devices/items/properties/icon",
                                "type": "string",
                                "title": "The icon schema",
                                "description": "Optional. Icon of the device as shown in the 'CHOOSE DEVICE' list.",
                                "default": "",
                                "examples": [
                                    "icons/pi4.png"
                                ]
                            },
                            "tags": {
                                "$id": "#/properties/imager/properties/devices/items/properties/tags",
                                "type": "array",
                                "title": "The tags schema",
                                "description": "Array of strings representing device tags used for filtering OS lists.",
                                "default": [],
                                "examples": [
                                    ["pi4"],
                                    ["pi3", "pi3b"]
                                ]
                            },
                            "matching_type": {
                                "$id": "#/properties/imager/properties/devices/items/properties/matching_type",
                                "type": "string",
                                "title": "The matching_type schema",
                                "description": "Optional. Matching algorithm for device filtering. Defaults to 'exclusive'.",
                                "default": "exclusive",
                                "examples": [
                                    "exclusive",
                                    "inclusive"
                                ]
                            },
                            "architecture": {
                                "$id": "#/properties/imager/properties/devices/items/properties/architecture",
                                "type": "string",
                                "title": "The architecture schema",
                                "description": "Optional. Preferred architecture for this device (armel, armhf, armv8). When specified, OS items matching this architecture will be sorted to the top of sublists.",
                                "default": "",
                                "examples": [
                                    "armhf",
                                    "armv8",
                                    "armel"
                                ]
                            },
                            "capabilities": {
                                "$id": "#/properties/imager/properties/devices/items/properties/capabilities",
                                "type": "array",
                                "title": "The capabilities schema",
                                "description": "Optional. Array of strings representing hardware capabilities. Used to enable or disable features in the customization wizard. Supported hardware capabilities include: 'i2c' (enables I2C interface option), 'spi' (enables SPI interface option), 'onewire' (enables 1-Wire interface option), 'serial' (enables serial interface option), 'serial_on_console_only' (enables console-only mode for serial), 'usb_otg' (enables USB Gadget mode option).",
                                "default": [],
                                "examples": [
                                    ["i2c", "spi", "onewire", "serial", "usb_otg"],
                                    ["i2c", "spi", "serial"]
                                ],
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "i2c",
                                        "spi",
                                        "onewire",
                                        "serial",
                                        "serial_on_console_only",
                                        "usb_otg"
                                    ]
                                }
                            }
                        },
                        "additionalProperties": true
                    }
                }
            },
            "additionalProperties": false 
        },
        "os_list": {
            "$id": "#/properties/os_list",
            "type": "array",
            "title": "The os_list schema",
            "description": "List of operating systems available.",
            "default": [],
            "examples": [
                [
                    {
                        "name": "Raspberry Pi OS (32-bit)",
                        "description": "A port of Debian Bullseye with the Raspberry Pi Desktop (Recommended)",
                        "icon": "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png",
                        "url": "https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2022-01-28/2022-01-28-raspios-bullseye-armhf.zip",
                        "extract_size": 4236247040,
                        "extract_sha256": "ceb7d7489847ed811e7746fa779837f78fc06d43663148a696280e6a1cfe00e3",
                        "image_download_size": 1306588543,
                        "release_date": "2022-01-28",
                        "init_format": "systemd"
                    },
                    {
                        "name": "Ubuntu Server 21.10 (RPi 3/4/400)",
                        "description": "64-bit server OS for arm64 architectures",
                        "icon": "https://assets.ubuntu.com/v1/85a9de76-ubuntu-icon.svg",
                        "url": "http://cdimage.ubuntu.com/releases/impish/release/ubuntu-21.10-preinstalled-server-arm64+raspi.img.xz",
                        "extract_size": 4068480000,
                        "extract_sha256": "4cf06429e0367f0a59b890819d1792b0d816bc531fcb5bd092e441d8d6a942b9",
                        "image_download_size": 921117368,
                        "release_date": "2021-10-14",
                        "website": "https://ubuntu.com/raspberry-pi/server",
                        "init_format": "cloudinit"
                    }
                ]
            ],
            "additionalItems": true,
            "items": {
                "$id": "#/properties/os_list/items",
                "anyOf": [
                    {
                        "$id": "#/properties/os_list/items/anyOf/0",
                        "type": "object",
                        "title": "Operating system entry",
                        "description": "An entry for an OS.",
                        "default": {},
                        "examples": [
                            {
                                "name": "Raspberry Pi OS (32-bit)",
                                "description": "A port of Debian Bullseye with the Raspberry Pi Desktop (Recommended)",
                                "icon": "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png",
                                "url": "https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2022-01-28/2022-01-28-raspios-bullseye-armhf.zip",
                                "extract_size": 4236247040,
                                "extract_sha256": "ceb7d7489847ed811e7746fa779837f78fc06d43663148a696280e6a1cfe00e3",
                                "image_download_size": 1306588543,
                                "release_date": "2022-01-28",
                                "init_format": "systemd",
                                "devices": ["pi1a"]
                            }
                        ],
                        "required": [
                            "name",
                            "description",
                            "icon",
                            "url",
                            "extract_size",
                            "extract_sha256",
                            "image_download_size",
                            "release_date",
                            "devices"
                        ],
                        "properties": {
                            "name": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/name",
                                "type": "string",
                                "title": "The name schema",
                                "description": "Name of operating system as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "Raspberry Pi OS (32-bit)"
                                ]
                            },
                            "description": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/description",
                                "type": "string",
                                "title": "The description schema",
                                "description": "Description of operating system as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "A port of Debian Bullseye with the Raspberry Pi Desktop (Recommended)"
                                ]
                            },
                            "icon": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/icon",
                                "type": "string",
                                "title": "The icon schema",
                                "description": "Icon of the operating system as shown in the 'CHOOSE OS' list",
                                "default": "",
                                "examples": [
                                    "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png"
                                ]
                            },
                            "url": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/url",
                                "type": "string",
                                "title": "The url schema",
                                "description": "Download URL. Can be .zip, .gz, .xz (since Imager 1.7 also .zstd, but for compatibility with older versions, better not use it)",
                                "default": "",
                                "examples": [
                                    "https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2022-01-28/2022-01-28-raspios-bullseye-armhf.zip"
                                ]
                            },
                            "extract_size": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/extract_size",
                                "type": "integer",
                                "title": "The extract_size schema",
                                "description": "The size of the image after extraction. Used to check if the storage is large enough to accomdate the image.",
                                "default": 0,
                                "examples": [
                                    4236247040
                                ]
                            },
                            "extract_sha256": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/extract_sha256",
                                "type": "string",
                                "title": "The extract_sha256 schema",
                                "description": "SHA256 of image after extraction. Must be correct or Imager will for security purposes abort and will not write the first MB of image (effectively invalidating parititon table)",
                                "default": "",
                                "examples": [
                                    "ceb7d7489847ed811e7746fa779837f78fc06d43663148a696280e6a1cfe00e3"
                                ]
                            },
                            "image_download_size": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/image_download_size",
                                "type": "integer",
                                "title": "The image_download_size schema",
                                "description": "Size of the compressed image.",
                                "default": 0,
                                "examples": [
                                    1306588543
                                ]
                            },
                            "release_date": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/release_date",
                                "type": "string",
                                "title": "The release_date schema",
                                "description": "Release date of OS image. Shown in 'CHOOSE OS' list",
                                "default": "",
                                "examples": [
                                    "2022-01-28"
                                ]
                            },
                            "init_format": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/init_format",
                                "type": "string",
                                "title": "The init_format schema",
                                "description": "If set OS customisation steps will be shown. If 'init_format' is set to 'systemd', OS customization will be done by creating a firstrun.sh with shell commands on the SD card, and cmdline.txt will be modified to instruct systemd to execute /boot/firstrun.sh. THIS WILL ONLY WORK IF THE FAT PARTITION IS MOUNTED AT /boot in your /etc/fstab. If 'init_format' is set to 'cloudinit', a cloud-init 'user-data' file will be created on the FAT partition instead. If set to 'cloudinit-rpi', cloud-init will be used with Raspberry Pi specific module (cc_raspberry_pi) support. Use 'none' or empty string to explicitly disable customization.",
                                "default": "",
                                "examples": [
                                    "systemd",
                                    "cloudinit",
                                    "cloudinit-rpi"
                                ],
                                "enum": [
                                    "",
                                    "systemd",
                                    "cloudinit",
                                    "cloudinit-rpi",
                                    "none"
                                ]
                            },
                            "devices": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/devices",
                                "type": "array",
                                "title": "The devices schema",
                                "description": "Provides a JSON-format list of strings representing Raspberry Pi devices that are supported with this image",
                                "default": "",
                                "examples": [
                                    "[\"pi1a\", \"pi1b\"]",
                                    "[\"pi4\", \"pi5\"]",
                                    "[\"cm3\", \"cm4\"]"
                                ]
                            },
                            "matching_type": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/matching_type",
                                "type": "array",
                                "title": "The matching_type schema",
                                "description": "Allows specification of the matching algorithm to use for device tags. If you set this to 'exclusive', any image that does not explicitly tag your target device will not be displayed. Set to 'prefix' to allow for family matching (eg, match all Pi1 devices), but no untagged images. Set to 'inclusive', and get your exact device name and all untagged images. Finally, if you set to 'inclusive_prefix', you can match all images tagged with your family prefix (eg, Pi1), and any untagged image.",
                                "default": "exclusive",
                                "examples": [
                                    "exclusive",
                                    "exclusive_prefix",
                                    "inclusive",
                                    "inclusive_prefix"
                                ]
                            },
                            "website": {
                                "$id": "#/properties/os_list/items/anyOf/1/properties/website",
                                "type": "string",
                                "title": "The website schema",
                                "description": "Optional. If set a (I)nfo icon will be shown in the 'CHOOSE OS' list. Clicking it will cause a browser to be opened to the website listed.",
                                "default": "",
                                "examples": [
                                    "https://ubuntu.com/raspberry-pi/server"
                                ]
                            },
                            "architecture": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/architecture",
                                "type": "string",
                                "title": "The architecture schema",
                                "description": "Optional. Specifies the architecture this OS expects (armel, armhf, armv8). Used for sorting when a device has expressed an architecture preference.",
                                "default": "",
                                "examples": [
                                    "armhf",
                                    "armv8",
                                    "armel"
                                ]
                            },
                            "capabilities": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/capabilities",
                                "type": "array",
                                "title": "The capabilities schema",
                                "description": "Optional. Array of strings representing OS capabilities. Used to enable or disable features in the customization wizard. Supported OS capabilities include: 'rpi_connect' (enables Raspberry Pi Connect setup), 'secure_boot' (enables secure boot signing), 'passwordless_sudo' (enables passwordless sudo option in user setup), 'i2c' (enables I2C interface option), 'spi' (enables SPI interface option), 'onewire' (enables 1-Wire interface option), 'serial' (enables serial interface option), 'usb_otg' (enables USB Gadget mode option). Note: Interface capabilities (i2c, spi, onewire, serial, usb_otg) require both hardware and OS support - specify in both device and OS capabilities for them to be available.",
                                "default": [],
                                "examples": [
                                    ["rpi_connect", "secure_boot", "i2c", "spi", "onewire", "serial", "usb_otg"],
                                    ["secure_boot", "i2c", "spi"]
                                ],
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "rpi_connect",
                                        "secure_boot",
                                        "passwordless_sudo",
                                        "i2c",
                                        "spi",
                                        "onewire",
                                        "serial",
                                        "usb_otg"
                                    ]
                                }
                            },
                            "bmap_url": {
                                "$id": "#/properties/os_list/items/anyOf/0/properties/bmap_url",
                                "type": "string",
                                "title": "The bmap_url schema",
                                "description": "Optional. URL of a .bmap (block map) file for this image. When provided and flashing via the fastboot protocol, unmapped blocks are skipped (DONT_CARE) instead of written, significantly reducing flash time. The bmap file is a small XML document listing which block ranges contain allocated data, as produced by bmaptool. Has no effect on normal SD card writes.",
                                "default": "",
                                "examples": [
                                    "https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2026-03-01/2026-03-01-raspios-trixie-arm64-lite.img.bmap"
                                ]
                            }
                        },
                        "additionalProperties": true
                    },
                    {
                        "$id": "#/properties/os_list/items/anyOf/2",
                        "type": "object",
                        "title": "subitems_url linking to another .json file",
                        "description": "Allows linking to subitems listed in an external .json file.",
                        "default": {},
                        "examples": [
                            {
                                "name": "Bootloader",
                                "description": "Restore the factory default settings and change boot priority",
                                "icon": "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png",
                                "subitems_url": "https://downloads.raspberrypi.org/eeprom_recovery.json",
                                "website": "https://www.raspberrypi.org/"
                            }
                        ],
                        "required": [
                            "name",
                            "description",
                            "subitems_url"
                        ],
                        "properties": {
                            "name": {
                                "$id": "#/properties/os_list/items/anyOf/2/properties/name",
                                "type": "string",
                                "title": "The name schema",
                                "description": "Name as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "Bootloader"
                                ]
                            },
                            "description": {
                                "$id": "#/properties/os_list/items/anyOf/2/properties/description",
                                "type": "string",
                                "title": "The description schema",
                                "description": "Description as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "Restore the factory default settings and change boot priority"
                                ]
                            },
                            "icon": {
                                "$id": "#/properties/os_list/items/anyOf/2/properties/icon",
                                "type": "string",
                                "title": "The icon schema",
                                "description": "Icon as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "https://downloads.raspberrypi.org/raspios_armhf/Raspberry_Pi_OS_(32-bit).png"
                                ]
                            },
                            "subitems_url": {
                                "$id": "#/properties/os_list/items/anyOf/2/properties/subitems_url",
                                "type": "string",
                                "title": "The subitems_url schema",
                                "description": "URL of the file with the subitems.",
                                "default": "",
                                "examples": [
                                    "https://downloads.raspberrypi.org/eeprom_recovery.json"
                                ]
                            },
                            "website": {
                                "$id": "#/properties/os_list/items/anyOf/2/properties/website",
                                "type": "string",
                                "title": "The website schema",
                                "description": "Optional. If set a (I)nfo icon will be shown in the 'CHOOSE OS' list. Clicking it will cause a browser to be opened to the website listed.",
                                "default": "",
                                "examples": [
                                    "https://www.raspberrypi.org/"
                                ]
                            }
                        },
                        "additionalProperties": true
                    },
                    {
                        "$id": "#/properties/os_list/items/anyOf/3",
                        "type": "object",
                        "title": "Inline subitems in same json file",
                        "description": "List of subitems listed in the same .json file. AVOID USE DUE TO BUG WHEN NESTED SUBITEMS ARE USED IN IMAGER VERSIONS PRIOR TO 1.7",
                        "default": {},
                        "examples": [
                            {
                                "name": "Raspberry Pi OS (other)",
                                "description": "Other Raspberry Pi OS based images",
                                "icon": "icons/cat_raspberry_pi_os.png",
                                "subitems": [
                                    {
                                        "name": "Raspberry Pi OS (64-bit)",
                                        "description": "A port of Debian Bullseye with the Raspberry Pi Desktop (Compatible with Raspberry Pi 3/4/400)",
                                        "icon": "https://downloads.raspberrypi.org/raspios_arm64/Raspberry_Pi_OS_(64-bit).png",
                                        "url": "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-01-28/2022-01-28-raspios-bullseye-arm64.zip",
                                        "extract_size": 4156555264,
                                        "extract_sha256": "6939d39cbbfbe85c68dae55f1b2375f17e21fe047b8dc1f84aa7d3c002047afb",
                                        "image_download_size": 1189750489,
                                        "release_date": "2022-01-28",
                                        "init_format": "systemd"
                                    }
                                ]
                            }
                        ],
                        "required": [
                            "name",
                            "description",
                            "subitems"
                        ],
                        "properties": {
                            "name": {
                                "$id": "#/properties/os_list/items/anyOf/3/properties/name",
                                "type": "string",
                                "title": "The name schema",
                                "description": "Name as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "Raspberry Pi OS (other)"
                                ]
                            },
                            "description": {
                                "$id": "#/properties/os_list/items/anyOf/3/properties/description",
                                "type": "string",
                                "title": "The description schema",
                                "description": "Description as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "Other Raspberry Pi OS based images"
                                ]
                            },
                            "icon": {
                                "$id": "#/properties/os_list/items/anyOf/3/properties/icon",
                                "type": "string",
                                "title": "The icon schema",
                                "description": "Icon as shown in the 'CHOOSE OS' list.",
                                "default": "",
                                "examples": [
                                    "icons/cat_raspberry_pi_os.png"
                                ]
                            },
                            "subitems": {
                                "$id": "#/properties/os_list/items/anyOf/3/properties/subitems",
                                "type": "array",
                                "title": "The subitems schema",
                                "description": "Inline subitems.",
                                "default": [],
                                "examples": [
                                    [
                                        {
                                            "name": "Raspberry Pi OS (64-bit)",
                                            "description": "A port of Debian Bullseye with the Raspberry Pi Desktop (Compatible with Raspberry Pi 3/4/400)",
                                            "icon": "https://downloads.raspberrypi.org/raspios_arm64/Raspberry_Pi_OS_(64-bit).png",
                                            "url": "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-01-28/2022-01-28-raspios-bullseye-arm64.zip",
                                            "extract_size": 4156555264,
                                            "extract_sha256": "6939d39cbbfbe85c68dae55f1b2375f17e21fe047b8dc1f84aa7d3c002047afb",
                                            "image_download_size": 1189750489,
                                            "release_date": "2022-01-28",
                                            "init_format": "systemd"
                                        }
                                    ]
                                ],
                                "additionalItems": true,
                                "items": {
                                }
                            }
                        },
                        "additionalProperties": true
                    }
                ]
            }
        }
    },
    "additionalProperties": false 
}
