From 25b65e4e1a68db556a71e0d51e22698322b47ca8 Mon Sep 17 00:00:00 2001 From: Chris Peterson Date: Mon, 29 Jan 2024 09:31:32 -0800 Subject: [PATCH] doc: use literalinclude for autoinstall-schema Instead of manually changing the autoinstall-schema reference, use literalinclude to insert the autoinstall-schema.json file from the root of the repository. --- doc/reference/autoinstall-schema.rst | 548 +-------------------------- 1 file changed, 2 insertions(+), 546 deletions(-) diff --git a/doc/reference/autoinstall-schema.rst b/doc/reference/autoinstall-schema.rst index c655b871e..ad4b62741 100644 --- a/doc/reference/autoinstall-schema.rst +++ b/doc/reference/autoinstall-schema.rst @@ -27,552 +27,8 @@ Schema The `JSON schema`_ for autoinstall data: -.. code-block:: JSON - - "type": "object", - "properties": { - "version": { - "type": "integer", - "minimum": 1, - "maximum": 1 - }, - "early-commands": { - "type": "array", - "items": { - "type": [ - "string", - "array" - ], - "items": { - "type": "string" - } - } - }, - "reporting": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "additionalProperties": true - } - }, - "error-commands": { - "type": "array", - "items": { - "type": [ - "string", - "array" - ], - "items": { - "type": "string" - } - } - }, - "user-data": { - "type": "object" - }, - "packages": { - "type": "array", - "items": { - "type": "string" - } - }, - "debconf-selections": { - "type": "string" - }, - "locale": { - "type": "string" - }, - "refresh-installer": { - "type": "object", - "properties": { - "update": { - "type": "boolean" - }, - "channel": { - "type": "string" - } - }, - "additionalProperties": false - }, - "kernel": { - "type": "object", - "properties": { - "package": { - "type": "string" - }, - "flavor": { - "type": "string" - } - }, - "oneOf": [ - { - "type": "object", - "required": [ - "package" - ] - }, - { - "type": "object", - "required": [ - "flavor" - ] - } - ] - }, - "keyboard": { - "type": "object", - "properties": { - "layout": { - "type": "string" - }, - "variant": { - "type": "string" - }, - "toggle": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "layout" - ], - "additionalProperties": false - }, - "source": { - "type": "object", - "properties": { - "search_drivers": { - "type": "boolean" - }, - "id": { - "type": "string" - } - } - }, - "network": { - "oneOf": [ - { - "type": "object", - "properties": { - "version": { - "type": "integer", - "minimum": 2, - "maximum": 2 - }, - "ethernets": { - "type": "object", - "properties": { - "match": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "macaddress": { - "type": "string" - }, - "driver": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "wifis": { - "type": "object", - "properties": { - "match": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "macaddress": { - "type": "string" - }, - "driver": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "bridges": { - "type": "object" - }, - "bonds": { - "type": "object" - }, - "tunnels": { - "type": "object" - }, - "vlans": { - "type": "object" - } - }, - "required": [ - "version" - ] - }, - { - "type": "object", - "properties": { - "network": { - "type": "object", - "properties": { - "version": { - "type": "integer", - "minimum": 2, - "maximum": 2 - }, - "ethernets": { - "type": "object", - "properties": { - "match": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "macaddress": { - "type": "string" - }, - "driver": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "wifis": { - "type": "object", - "properties": { - "match": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "macaddress": { - "type": "string" - }, - "driver": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "bridges": { - "type": "object" - }, - "bonds": { - "type": "object" - }, - "tunnels": { - "type": "object" - }, - "vlans": { - "type": "object" - } - }, - "required": [ - "version" - ] - } - }, - "required": [ - "network" - ] - } - ] - }, - "ubuntu-pro": { - "type": "object", - "properties": { - "token": { - "type": "string", - "minLength": 24, - "maxLength": 30, - "pattern": "^C[1-9A-HJ-NP-Za-km-z]+$", - "description": "A valid token starts with a C and is followed by 23 to 29 Base58 characters.\nSee https://pkg.go.dev/github.com/btcsuite/btcutil/base58#CheckEncode" - } - } - }, - "ubuntu-advantage": { - "type": "object", - "properties": { - "token": { - "type": "string", - "minLength": 24, - "maxLength": 30, - "pattern": "^C[1-9A-HJ-NP-Za-km-z]+$", - "description": "A valid token starts with a C and is followed by 23 to 29 Base58 characters.\nSee https://pkg.go.dev/github.com/btcsuite/btcutil/base58#CheckEncode" - } - }, - "deprecated": true, - "description": "Compatibility only - use ubuntu-pro instead" - }, - "proxy": { - "type": [ - "string", - "null" - ], - "format": "uri" - }, - "apt": { - "type": "object", - "properties": { - "preserve_sources_list": { - "type": "boolean" - }, - "primary": { - "type": "array" - }, - "mirror-selection": { - "type": "object", - "properties": { - "primary": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string", - "const": "country-mirror" - }, - { - "type": "object", - "properties": { - "uri": { - "type": "string" - }, - "arches": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "uri" - ] - } - ] - } - } - } - }, - "geoip": { - "type": "boolean" - }, - "sources": { - "type": "object" - }, - "disable_components": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "universe", - "multiverse", - "restricted", - "contrib", - "non-free" - ] - } - }, - "preferences": { - "type": "array", - "items": { - "type": "object", - "properties": { - "package": { - "type": "string" - }, - "pin": { - "type": "string" - }, - "pin-priority": { - "type": "integer" - } - }, - "required": [ - "package", - "pin", - "pin-priority" - ] - } - }, - "fallback": { - "type": "string", - "enum": [ - "abort", - "continue-anyway", - "offline-install" - ] - } - } - }, - "storage": { - "type": "object" - }, - "identity": { - "type": "object", - "properties": { - "realname": { - "type": "string" - }, - "username": { - "type": "string" - }, - "hostname": { - "type": "string" - }, - "password": { - "type": "string" - } - }, - "required": [ - "username", - "hostname", - "password" - ], - "additionalProperties": false - }, - "ssh": { - "type": "object", - "properties": { - "install-server": { - "type": "boolean" - }, - "authorized-keys": { - "type": "array", - "items": { - "type": "string" - } - }, - "allow-pw": { - "type": "boolean" - } - } - }, - "snaps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "channel": { - "type": "string" - }, - "classic": { - "type": "boolean" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - } - }, - "active-directory": { - "type": "object", - "properties": { - "admin-name": { - "type": "string" - }, - "domain-name": { - "type": "string" - } - }, - "additionalProperties": false - }, - "codecs": { - "type": "object", - "properties": { - "install": { - "type": "boolean" - } - } - }, - "drivers": { - "type": "object", - "properties": { - "install": { - "type": "boolean" - } - } - }, - "oem": { - "type": "object", - "properties": { - "install": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string", - "const": "auto" - } - ] - } - }, - "required": [ - "install" - ] - }, - "timezone": { - "type": "string" - }, - "updates": { - "type": "string", - "enum": [ - "security", - "all" - ] - }, - "late-commands": { - "type": "array", - "items": { - "type": [ - "string", - "array" - ], - "items": { - "type": "string" - } - } - }, - "shutdown": { - "type": "string", - "enum": [ - "reboot", - "poweroff" - ] - } - }, - "required": [ - "version" - ], - "additionalProperties": true - } +.. literalinclude:: ../../autoinstall-schema.json + :language: JSON Regeneration ------------