{
  "$id": "file:///usr/share/agama/openapi/nightly/schemas/config.schema.json",
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "additionalProperties": false,
  "components": {
    "schemas": {
      "AccessValue": {
        "description": "Allows to specify explicit enablement of remote access for supported services",
        "oneOf": [
          {
            "const": "enabled",
            "description": "Explicitly enabled",
            "type": "string"
          },
          {
            "const": "default",
            "description": "Default system configuration behavior that is product specific",
            "type": "string"
          }
        ]
      },
      "AddonConfig": {
        "description": "Addon settings for registration",
        "properties": {
          "id": {
            "description": "ID of the addon.",
            "examples": [
              "sle-ha"
            ],
            "type": "string"
          },
          "registrationCode": {
            "description": "Registration code for the addon. Free extensions do not require a registration code.",
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "description": "Optional version of the addon. It is mandatory if there are multiple available versions.\nIf not specified, the version is found from the available addons.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id"
        ],
        "title": "List of add-ons to activate",
        "type": "object"
      },
      "AnswerRule": {
        "description": "Defines the answer to use for any question which matches the rule.\n\nIf the rule matches with the question ([class](Self::class),\n[text](Self::text) or [data](Self::data), it applies the specified `answer`).",
        "properties": {
          "action": {
            "description": "Action to use for answering the question.",
            "type": "string"
          },
          "class": {
            "description": "Question class (see [QuestionSpec::class]).",
            "examples": [
              "multipathActivation"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "data": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "A question can include custom data. If any of the entries matches,\nthe rule is applied (see [QuestionSpec::data]).",
            "type": [
              "object",
              "null"
            ]
          },
          "text": {
            "description": "Question text (see [QuestionSpec::text]).",
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "description": "Value to use for the question (e.g. password or string input, depending on the question type).",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "action"
        ],
        "title": "Automatic answer to questions",
        "type": "object"
      },
      "BondSettings": {
        "properties": {
          "mode": {
            "type": "string"
          },
          "options": {
            "type": [
              "string",
              "null"
            ]
          },
          "ports": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "mode"
        ],
        "type": "object"
      },
      "BridgeSettings": {
        "properties": {
          "forwardDelay": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "helloTime": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "maxAge": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "ports": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "priority": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "stp": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ConnectivityState": {
        "description": "Network connectivity state.",
        "oneOf": [
          {
            "const": "unknown",
            "description": "The connectivity state is unknown.",
            "type": "string"
          },
          {
            "const": "none",
            "description": "No connectivity.",
            "type": "string"
          },
          {
            "const": "portal",
            "description": "The network is behind a captive portal and cannot reach the full internet.",
            "type": "string"
          },
          {
            "const": "limited",
            "description": "The network is connected but it has no access to the full internet.",
            "type": "string"
          },
          {
            "const": "full",
            "description": "The network is connected and it has access to the full internet.",
            "type": "string"
          }
        ]
      },
      "DasdConfig": {
        "additionalProperties": false,
        "description": "DASD config.",
        "properties": {
          "devices": {
            "description": "List of DASD devices.",
            "items": {
              "$ref": "#/components/schemas/DasdConfigDevice"
            },
            "type": "array"
          }
        },
        "title": "Config",
        "type": "object"
      },
      "DasdConfigDevice": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "DASD device channel.",
            "type": "string"
          },
          "diag": {
            "description": "If device have set diag flag. If not specified then it keep what device has before.",
            "type": "boolean"
          },
          "format": {
            "description": "If device should be formatted. If not specified then it format device only if not already formatted.",
            "type": "boolean"
          },
          "state": {
            "default": "active",
            "description": "Specify target state of device. Either activate it or deactivate it.",
            "enum": [
              "active",
              "offline"
            ]
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "FirstUserConfig": {
        "description": "First user settings\n\nHolds the settings for the first user.",
        "properties": {
          "fullName": {
            "description": "First user's full name",
            "examples": [
              "Jane Doe"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "hashedPassword": {
            "default": false,
            "description": "Whether the password is hashed or is plain text",
            "type": "boolean"
          },
          "password": {
            "description": "User password",
            "examples": [
              "nots3cr3t"
            ],
            "type": "string"
          },
          "sshPublicKey": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StringOrList"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true
          },
          "sshPublicKeys": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StringOrList"
              },
              {
                "type": "null"
              }
            ]
          },
          "userName": {
            "description": "First user's username",
            "examples": [
              "jane.doe"
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "First user settings",
        "type": "object"
      },
      "IEEE8021XSettings": {
        "description": "IEEE 802.1x (EAP) settings",
        "properties": {
          "anonymousIdentity": {
            "description": "Anonymous identity string for EAP authentication methods",
            "type": [
              "string",
              "null"
            ]
          },
          "caCert": {
            "description": "Path to CA certificate",
            "type": [
              "string",
              "null"
            ]
          },
          "caCertPassword": {
            "description": "Password string for CA certificate if it is encrypted",
            "type": [
              "string",
              "null"
            ]
          },
          "clientCert": {
            "description": "Path to client certificate",
            "type": [
              "string",
              "null"
            ]
          },
          "clientCertPassword": {
            "description": "Password string for client certificate if it is encrypted",
            "type": [
              "string",
              "null"
            ]
          },
          "eap": {
            "description": "List of EAP methods used",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "identity": {
            "description": "Identity string, often for example the user's login name",
            "type": [
              "string",
              "null"
            ]
          },
          "password": {
            "description": "Password string used for EAP authentication",
            "type": [
              "string",
              "null"
            ]
          },
          "peapLabel": {
            "description": "Force the use of the new PEAP label during key derivation",
            "type": "boolean"
          },
          "peapVersion": {
            "description": "Which PEAP version is used when PEAP is set as the EAP method in the 'eap' property",
            "type": [
              "string",
              "null"
            ]
          },
          "phase2Auth": {
            "description": "Phase 2 inner auth method",
            "type": [
              "string",
              "null"
            ]
          },
          "privateKey": {
            "description": "Path to private key",
            "type": [
              "string",
              "null"
            ]
          },
          "privateKeyPassword": {
            "description": "Password string for private key if it is encrypted",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "eap"
        ],
        "type": "object"
      },
      "InitScript": {
        "anyOf": [
          {
            "description": "File or script content, starting with a shebang for scripts.",
            "properties": {
              "content": {
                "type": "string"
              }
            },
            "required": [
              "content"
            ],
            "type": "object"
          },
          {
            "description": "Absolute or relative URL to fetch the file or script from.",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          }
        ],
        "description": "Represents a script that runs during the first boot of the target system,\nonce the installation is finished.",
        "properties": {
          "name": {
            "description": "Script name, to be used as file name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "IpInet": {
        "description": "An IP address (IPv4 or IPv6) with prefix length in CIDR notation",
        "examples": [
          "192.168.1.254/24",
          "2001:db8::/32"
        ],
        "type": "string"
      },
      "Ipv4Method": {
        "enum": [
          "disabled",
          "auto",
          "manual",
          "linkLocal",
          "shared"
        ],
        "type": "string"
      },
      "Ipv6Method": {
        "enum": [
          "disabled",
          "auto",
          "manual",
          "linkLocal",
          "ignore",
          "dhcp",
          "shared"
        ],
        "type": "string"
      },
      "IscsiConfig": {
        "additionalProperties": false,
        "description": "iSCSI config.",
        "properties": {
          "initiator": {
            "description": "Initiator name.",
            "type": "string"
          },
          "targets": {
            "description": "List of targets.",
            "items": {
              "$ref": "#/components/schemas/IscsiConfigTarget"
            },
            "type": "array"
          }
        },
        "title": "Config",
        "type": "object"
      },
      "IscsiConfigAuthentication": {
        "additionalProperties": false,
        "properties": {
          "password": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "type": "object"
      },
      "IscsiConfigTarget": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "IP address.",
            "type": "string"
          },
          "authByInitiator": {
            "$ref": "#/components/schemas/IscsiConfigAuthentication"
          },
          "authByTarget": {
            "$ref": "#/components/schemas/IscsiConfigAuthentication"
          },
          "interface": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "port": {
            "minimum": 0,
            "type": "integer"
          },
          "startup": {
            "enum": [
              "onboot",
              "manual",
              "automatic"
            ]
          }
        },
        "required": [
          "address",
          "port",
          "name",
          "interface"
        ],
        "type": "object"
      },
      "MatchSettings": {
        "properties": {
          "driver": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "interface": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "kernel": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "path": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "NetworkConnection": {
        "description": "Represents the configuration details for a network connection",
        "properties": {
          "addresses": {
            "description": "List of assigned IP addresses",
            "items": {
              "$ref": "#/components/schemas/IpInet"
            },
            "type": "array"
          },
          "autoconnect": {
            "description": "Specifies if the connection should automatically connect",
            "type": [
              "boolean",
              "null"
            ]
          },
          "bond": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BondSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Bonding settings if part of a bond"
          },
          "bridge": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BridgeSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Bridge settings if part of a bridge"
          },
          "customMacAddress": {
            "description": "Custom MAC address of the connection's interface",
            "type": [
              "string",
              "null"
            ]
          },
          "dnsSearchList": {
            "description": "List of search domains for DNS resolution",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "gateway4": {
            "description": "Gateway IP address for the IPv4 connection",
            "examples": [
              "192.168.122.1"
            ],
            "format": "ip",
            "type": [
              "string",
              "null"
            ]
          },
          "gateway6": {
            "description": "Gateway IP address for the IPv6 connection",
            "examples": [
              "::ffff:c0a8:7a01"
            ],
            "format": "ip",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Unique identifier for the network connection",
            "type": "string"
          },
          "ieee8021x": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IEEE8021XSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "IEEE 802.1X settings"
          },
          "ignoreAutoDns": {
            "description": "Specifies whether to ignore automatically assigned DNS settings",
            "type": [
              "boolean",
              "null"
            ]
          },
          "interface": {
            "description": "Network interface associated with the connection",
            "type": [
              "string",
              "null"
            ]
          },
          "macAddress": {
            "description": "MAC address of the connection's interface",
            "type": [
              "string",
              "null"
            ]
          },
          "match": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MatchSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Match settings for the network connection"
          },
          "method4": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Ipv4Method"
              },
              {
                "type": "null"
              }
            ],
            "description": "IPv4 method used for the network connection"
          },
          "method6": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Ipv6Method"
              },
              {
                "type": "null"
              }
            ],
            "description": "IPv6 method used for the network connection"
          },
          "mtu": {
            "description": "Maximum Transmission Unit (MTU) for the connection",
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "nameservers": {
            "description": "List of DNS server IP addresses",
            "items": {
              "format": "ip",
              "type": "string"
            },
            "type": "array"
          },
          "parent": {
            "description": "Identifier for the parent connection, if this connection is part of a bond",
            "type": [
              "string",
              "null"
            ]
          },
          "persistent": {
            "description": "Specifies whether the connection should be persisted or not",
            "type": [
              "boolean",
              "null"
            ]
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Status2"
              },
              {
                "type": "null"
              }
            ],
            "description": "Current status of the network connection"
          },
          "vlan": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VlanSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "VLAN settings for the connection"
          },
          "wireless": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WirelessSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Wireless settings for the connection"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "NetworkConnectionsCollection": {
        "items": {
          "$ref": "#/components/schemas/NetworkConnection"
        },
        "type": "array"
      },
      "PatternsConfig": {
        "anyOf": [
          {
            "description": "List of user-selected patterns to install.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/PatternsMap"
              }
            ],
            "description": "Modifications for the list of user-selected patterns to install."
          }
        ],
        "description": "List or modification map of user-selected patterns to install."
      },
      "PatternsMap": {
        "description": "Modifications for the list of user-selected patterns to install",
        "properties": {
          "add": {
            "description": "List of user-selected patterns to add to the list.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "remove": {
            "description": "List of user-selected patterns to remove from the list.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "Policy": {
        "oneOf": [
          {
            "const": "auto",
            "description": "Automatically answer questions.",
            "type": "string"
          },
          {
            "const": "user",
            "description": "Ask the user.",
            "type": "string"
          }
        ]
      },
      "PostPartitioningScript": {
        "anyOf": [
          {
            "description": "File or script content, starting with a shebang for scripts.",
            "properties": {
              "content": {
                "type": "string"
              }
            },
            "required": [
              "content"
            ],
            "type": "object"
          },
          {
            "description": "Absolute or relative URL to fetch the file or script from.",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          }
        ],
        "description": "Represents a script that runs after partitioning.",
        "properties": {
          "name": {
            "description": "Script name, to be used as file name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "PostScript": {
        "anyOf": [
          {
            "description": "File or script content, starting with a shebang for scripts.",
            "properties": {
              "content": {
                "type": "string"
              }
            },
            "required": [
              "content"
            ],
            "type": "object"
          },
          {
            "description": "Absolute or relative URL to fetch the file or script from.",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          }
        ],
        "description": "Represents a script that runs after the installation finishes.",
        "properties": {
          "chroot": {
            "description": "Whether the script should be run in a chroot environment.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "description": "Script name, to be used as file name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "PreScript": {
        "anyOf": [
          {
            "description": "File or script content, starting with a shebang for scripts.",
            "properties": {
              "content": {
                "type": "string"
              }
            },
            "required": [
              "content"
            ],
            "type": "object"
          },
          {
            "description": "Absolute or relative URL to fetch the file or script from.",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          }
        ],
        "description": "Represents a script that runs before the installation starts.",
        "properties": {
          "name": {
            "description": "Script name, to be used as file name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ProductConfig": {
        "additionalProperties": false,
        "description": "Software settings for installation",
        "properties": {
          "addons": {
            "description": "List of product addons to register and install.",
            "items": {
              "$ref": "#/components/schemas/AddonConfig"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "description": "ID of the product to install (e.g., \"SLES\", \"Tumbleweed\", etc.).",
            "examples": [
              "Tumbleweed",
              "MicroOS",
              "Slowroll",
              "openSUSE_Leap",
              "SLES",
              "Kalpa"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "mode": {
            "description": "The mode from the products.d/foo.yaml file.",
            "type": [
              "string",
              "null"
            ]
          },
          "registrationCode": {
            "description": "Product registration code.",
            "type": [
              "string",
              "null"
            ]
          },
          "registrationEmail": {
            "description": "Product registration email.",
            "type": [
              "string",
              "null"
            ]
          },
          "registrationUrl": {
            "description": "URL of the registration server.",
            "format": "uri",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "Product to install",
        "type": "object"
      },
      "RepositoryConfig": {
        "description": "Parameters for creating new a repository",
        "properties": {
          "alias": {
            "description": "repository alias. Has to be unique",
            "type": "string"
          },
          "allowUnsigned": {
            "description": "Whenever repository can be unsigned. Default is false",
            "type": [
              "boolean",
              "null"
            ]
          },
          "enabled": {
            "description": "Whether the repository is enabled, if missing the repository is enabled",
            "type": [
              "boolean",
              "null"
            ]
          },
          "gpgFingerprints": {
            "description": "List of fingerprints for GPG keys used for repository signing. If specified,\nthe new list of fingerprints overrides the existing ones instead of merging\nwith them. By default empty.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "description": "repository name, if not specified the alias is used",
            "type": [
              "string",
              "null"
            ]
          },
          "priority": {
            "description": "Repository priority, lower number means higher priority, the default priority is 99",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "productDir": {
            "description": "product directory (currently not used, valid only for multiproduct DVDs)",
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "description": "Repository url (raw format without expanded variables)",
            "type": "string"
          }
        },
        "required": [
          "alias",
          "url"
        ],
        "type": "object"
      },
      "RootUserConfig": {
        "description": "Root user settings\n\nHolds the settings for the root user.",
        "properties": {
          "hashedPassword": {
            "default": false,
            "description": "Whether the password is hashed or is plain text",
            "type": "boolean"
          },
          "password": {
            "description": "User password",
            "examples": [
              "nots3cr3t"
            ],
            "type": "string"
          },
          "sshPublicKey": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StringOrList"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Root SSH public key"
          },
          "sshPublicKeys": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StringOrList"
              },
              {
                "type": "null"
              }
            ],
            "description": "Root SSH public key"
          }
        },
        "title": "Root authentication settings",
        "type": "object"
      },
      "SSLFingerprint": {
        "properties": {
          "algorithm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SSLFingerprintAlgorithm"
              }
            ],
            "default": "SHA256",
            "description": "Algorithm used to compute SSL certificate fingerprint.\nSupported options are \"SHA1\" and \"SHA256\""
          },
          "fingerprint": {
            "description": "The string value for SSL certificate fingerprint.\nExample value is \"F6:7A:ED:BB:BC:94:CF:55:9D:B3:BA:74:7A:87:05:EF:67:4E:C2:DB\"",
            "examples": [
              "A8:DE:08:B1:57:52:FE:70:DF:D5:31:EA:E3:53:BB:39:EE:01:FF:B9"
            ],
            "type": "string"
          }
        },
        "required": [
          "fingerprint"
        ],
        "type": "object"
      },
      "SSLFingerprintAlgorithm": {
        "enum": [
          "SHA1",
          "SHA256"
        ],
        "type": "string"
      },
      "ScriptsConfig": {
        "properties": {
          "init": {
            "description": "User-defined init scripts",
            "items": {
              "$ref": "#/components/schemas/InitScript"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "post": {
            "description": "User-defined post-installation scripts",
            "items": {
              "$ref": "#/components/schemas/PostScript"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "postPartitioning": {
            "description": "User-defined post-partitioning scripts",
            "items": {
              "$ref": "#/components/schemas/PostPartitioningScript"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pre": {
            "description": "User-defined pre-installation scripts",
            "items": {
              "$ref": "#/components/schemas/PreScript"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "User-defined installation scripts",
        "type": "object"
      },
      "SoftwareConfig": {
        "description": "Software settings for installation",
        "properties": {
          "extraRepositories": {
            "description": "List of user specified repositories to use on top of default ones.",
            "items": {
              "$ref": "#/components/schemas/RepositoryConfig"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "onlyRequired": {
            "description": "Flag indicating if only hard requirements should be used by solver.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "packages": {
            "description": "List of user selected packages to install.",
            "examples": [
              [
                "vim"
              ]
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "patterns": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PatternsConfig"
              },
              {
                "type": "null"
              }
            ],
            "description": "List of user selected patterns to install.",
            "examples": [
              [
                "minimal_base"
              ]
            ]
          }
        },
        "type": "object"
      },
      "Source": {
        "description": "NTP source configuration.",
        "properties": {
          "address": {
            "description": "NTP server or pool address.",
            "examples": [
              "0.opensuse.pool.ntp.org",
              "ntp.example.com"
            ],
            "type": "string"
          },
          "iburst": {
            "default": false,
            "description": "Send a burst of packets for faster initial synchronization.",
            "type": "boolean"
          },
          "offline": {
            "default": false,
            "description": "Start with the source marked as offline (can be activated later).",
            "type": "boolean"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceType"
              }
            ],
            "description": "Type of NTP source: pool (pool of servers), server (single server), or peer (symmetric association)."
          }
        },
        "required": [
          "type",
          "address"
        ],
        "title": "NTP source",
        "type": "object"
      },
      "SourceType": {
        "description": "NTP source type (pool, server, or peer).",
        "enum": [
          "pool",
          "server",
          "peer"
        ],
        "type": "string"
      },
      "StateSettings": {
        "description": "Network general settings for the installation like enabling wireless, networking and\nallowing to enable or disable the copy of the network settings to the\ntarget system",
        "properties": {
          "connectivity": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectivityState"
              },
              {
                "type": "null"
              }
            ]
          },
          "copyNetwork": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "networkingEnabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "wirelessEnabled": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "Status2": {
        "enum": [
          "up",
          "down",
          "removed",
          "keep"
        ],
        "type": "string"
      },
      "StorageConfig": {
        "$comment": "Based on doc/auto_storage.md",
        "additionalProperties": false,
        "description": "Storage config.",
        "properties": {
          "boot": {
            "$ref": "#/components/schemas/StorageConfigBoot"
          },
          "drives": {
            "description": "Drives (disks, BIOS RAIDs and multipath devices).",
            "items": {
              "$ref": "#/components/schemas/StorageConfigDriveElement"
            },
            "type": "array"
          },
          "mdRaids": {
            "description": "MD RAIDs.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigMdRaidElement"
            },
            "type": "array"
          },
          "volumeGroups": {
            "description": "LVM volume groups.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigVolumeGroup"
            },
            "type": "array"
          }
        },
        "title": "Config",
        "type": "object"
      },
      "StorageConfigAdvancedLogicalVolumesGenerator": {
        "additionalProperties": false,
        "description": "Automatically creates the default or mandatory logical volumes configured by the selected product.",
        "properties": {
          "generate": {
            "additionalProperties": false,
            "properties": {
              "encryption": {
                "$ref": "#/components/schemas/StorageConfigEncryption"
              },
              "logicalVolumes": {
                "enum": [
                  "default",
                  "mandatory"
                ]
              },
              "stripeSize": {
                "$ref": "#/components/schemas/StorageConfigSizeValue"
              },
              "stripes": {
                "$ref": "#/components/schemas/StorageConfigLogicalVolumeStripes"
              }
            },
            "required": [
              "logicalVolumes"
            ],
            "type": "object"
          }
        },
        "required": [
          "generate"
        ],
        "type": "object"
      },
      "StorageConfigAdvancedPartitionsGenerator": {
        "additionalProperties": false,
        "description": "Creates the default or mandatory partitions configured by the selected product.",
        "properties": {
          "generate": {
            "additionalProperties": false,
            "properties": {
              "encryption": {
                "$ref": "#/components/schemas/StorageConfigEncryption"
              },
              "partitions": {
                "enum": [
                  "default",
                  "mandatory"
                ]
              }
            },
            "required": [
              "partitions"
            ],
            "type": "object"
          }
        },
        "required": [
          "generate"
        ],
        "type": "object"
      },
      "StorageConfigAdvancedPhysicalVolumesGenerator": {
        "additionalProperties": false,
        "description": "Automatically creates the needed physical volumes in the indicated devices.",
        "properties": {
          "generate": {
            "additionalProperties": false,
            "properties": {
              "encryption": {
                "$ref": "#/components/schemas/StorageConfigEncryption"
              },
              "spacePolicy": {
                "default": "useNeeded",
                "description": "Policy for creating physical volumes: either using all the available space or only the needed space for allocating the logical volumes.",
                "enum": [
                  "useNeeded",
                  "useAvailable"
                ]
              },
              "targetDevices": {
                "items": {
                  "$ref": "#/components/schemas/StorageConfigAlias"
                },
                "type": "array"
              }
            },
            "required": [
              "targetDevices"
            ],
            "type": "object"
          }
        },
        "required": [
          "generate"
        ],
        "type": "object"
      },
      "StorageConfigAlias": {
        "description": "Alias used to reference a device.",
        "type": "string"
      },
      "StorageConfigBaseName": {
        "description": "Device base name.",
        "examples": [
          "system"
        ],
        "pattern": "^[^/]+$",
        "type": "string"
      },
      "StorageConfigBoot": {
        "additionalProperties": false,
        "description": "Allows configuring boot partitions automatically.",
        "properties": {
          "configure": {
            "description": "Whether to configure partitions for booting.",
            "type": "boolean"
          },
          "device": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          }
        },
        "required": [
          "configure"
        ],
        "type": "object"
      },
      "StorageConfigDeleteLogicalVolumeAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigDeleteLogicalVolumeSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDeleteLogicalVolumeAdvancedSearch"
          }
        ]
      },
      "StorageConfigDeletePartitionAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigDeletePartitionSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDeletePartitionAdvancedSearch"
          }
        ]
      },
      "StorageConfigDriveAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigDriveSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigDriveSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigDriveElement": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigNonPartitionedDrive"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionedDrive"
          }
        ]
      },
      "StorageConfigDriveSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDriveAdvancedSearch"
          }
        ]
      },
      "StorageConfigDriveSearchCondition": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionSize"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionDriver"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionBoss"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionFilesystem"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionPartitions"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDriveSearchConditionAnd"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDriveSearchConditionOr"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDriveSearchConditionNot"
          }
        ]
      },
      "StorageConfigDriveSearchConditionAnd": {
        "additionalProperties": false,
        "properties": {
          "and": {
            "description": "Matches when all the nested conditions match.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigDriveSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "and"
        ],
        "type": "object"
      },
      "StorageConfigDriveSearchConditionNot": {
        "additionalProperties": false,
        "properties": {
          "not": {
            "$ref": "#/components/schemas/StorageConfigDriveSearchCondition",
            "description": "Matches when the nested condition does not match."
          }
        },
        "required": [
          "not"
        ],
        "type": "object"
      },
      "StorageConfigDriveSearchConditionOr": {
        "additionalProperties": false,
        "properties": {
          "or": {
            "description": "Matches when any of the nested conditions matches.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigDriveSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "or"
        ],
        "type": "object"
      },
      "StorageConfigDriveSearchSort": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigDriveSearchSortCriterion"
          },
          {
            "items": {
              "$ref": "#/components/schemas/StorageConfigDriveSearchSortCriterion"
            },
            "type": "array"
          }
        ]
      },
      "StorageConfigDriveSearchSortCriterion": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigDriveSearchSortCriterionShort"
          },
          {
            "$ref": "#/components/schemas/StorageConfigDriveSearchSortCriterionFull"
          }
        ]
      },
      "StorageConfigDriveSearchSortCriterionFull": {
        "additionalProperties": false,
        "maxProperties": 1,
        "minProperties": 1,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          }
        },
        "type": "object"
      },
      "StorageConfigDriveSearchSortCriterionShort": {
        "enum": [
          "name",
          "size"
        ]
      },
      "StorageConfigEncryption": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigEncryptionLuks1"
          },
          {
            "$ref": "#/components/schemas/StorageConfigEncryptionLuks2"
          },
          {
            "$ref": "#/components/schemas/StorageConfigEncryptionPervasiveLuks2"
          },
          {
            "$ref": "#/components/schemas/StorageConfigEncryptionTpmFde"
          },
          {
            "$ref": "#/components/schemas/StorageConfigEncryptionSwap"
          }
        ]
      },
      "StorageConfigEncryptionCipher": {
        "description": "The value must be compatible with the --cipher argument of the command cryptsetup.",
        "type": "string"
      },
      "StorageConfigEncryptionKeySize": {
        "description": "The value (in bits) has to be a multiple of 8. The possible key sizes are limited by the used cipher.",
        "multipleOf": 8,
        "type": "integer"
      },
      "StorageConfigEncryptionLuks1": {
        "additionalProperties": false,
        "description": "LUKS1 encryption.",
        "properties": {
          "luks1": {
            "additionalProperties": false,
            "properties": {
              "cipher": {
                "$ref": "#/components/schemas/StorageConfigEncryptionCipher"
              },
              "keySize": {
                "$ref": "#/components/schemas/StorageConfigEncryptionKeySize"
              },
              "password": {
                "$ref": "#/components/schemas/StorageConfigEncryptionPassword"
              }
            },
            "required": [
              "password"
            ],
            "type": "object"
          }
        },
        "required": [
          "luks1"
        ],
        "type": "object"
      },
      "StorageConfigEncryptionLuks2": {
        "additionalProperties": false,
        "description": "LUKS2 encryption.",
        "properties": {
          "luks2": {
            "additionalProperties": false,
            "properties": {
              "cipher": {
                "$ref": "#/components/schemas/StorageConfigEncryptionCipher"
              },
              "keySize": {
                "$ref": "#/components/schemas/StorageConfigEncryptionKeySize"
              },
              "label": {
                "description": "LUKS2 label.",
                "type": "string"
              },
              "password": {
                "$ref": "#/components/schemas/StorageConfigEncryptionPassword"
              },
              "pbkdFunction": {
                "$ref": "#/components/schemas/StorageConfigEncryptionPbkdFunction"
              },
              "tpm": {
                "default": false,
                "description": "Whether to use TPM2 unlocking.",
                "type": "boolean"
              }
            },
            "required": [
              "password"
            ],
            "type": "object"
          }
        },
        "required": [
          "luks2"
        ],
        "type": "object"
      },
      "StorageConfigEncryptionPassword": {
        "description": "Password to use when creating a new encryption device.",
        "type": "string"
      },
      "StorageConfigEncryptionPbkdFunction": {
        "enum": [
          "pbkdf2",
          "argon2i",
          "argon2id"
        ]
      },
      "StorageConfigEncryptionPervasiveLuks2": {
        "additionalProperties": false,
        "description": "LUKS2 pervasive encryption.",
        "properties": {
          "pervasiveLuks2": {
            "additionalProperties": false,
            "properties": {
              "apqns": {
                "description": "List of APQNs used to generate secure keys.",
                "items": {
                  "examples": [
                    "01.0001",
                    "01.0002"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              "keyType": {
                "description": "Type of the generated secure key.",
                "enum": [
                  "EP11-AES",
                  "CCA-AESCIPHER",
                  "CCA-AESDATA"
                ]
              },
              "password": {
                "$ref": "#/components/schemas/StorageConfigEncryptionPassword"
              }
            },
            "required": [
              "password"
            ],
            "type": "object"
          }
        },
        "required": [
          "pervasiveLuks2"
        ],
        "type": "object"
      },
      "StorageConfigEncryptionSwap": {
        "description": "Swap encryptions. The snake case names are deprecated.",
        "enum": [
          "protected_swap",
          "secure_swap",
          "random_swap",
          "protectedSwap",
          "secureSwap",
          "randomSwap"
        ]
      },
      "StorageConfigEncryptionTpmFde": {
        "additionalProperties": false,
        "deprecated": true,
        "description": "TPM-Based Full Disk Encryption.",
        "properties": {
          "tpmFde": {
            "additionalProperties": false,
            "properties": {
              "password": {
                "$ref": "#/components/schemas/StorageConfigEncryptionPassword"
              }
            },
            "required": [
              "password"
            ],
            "type": "object"
          }
        },
        "required": [
          "tpmFde"
        ],
        "type": "object"
      },
      "StorageConfigFilesystem": {
        "additionalProperties": false,
        "properties": {
          "label": {
            "description": "File system label.",
            "type": "string"
          },
          "mkfsExtraArguments": {
            "description": "Additional arguments injected as-is to the mkfs command when creating the file system.",
            "type": "string"
          },
          "mkfsOptions": {
            "deprecated": true,
            "description": "Deprecated in favor of mkfsExtraArguments",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mountBy": {
            "description": "How to mount the device.",
            "enum": [
              "device",
              "id",
              "label",
              "path",
              "uuid"
            ],
            "title": "Mount by"
          },
          "mountOptions": {
            "description": "Options to add to the fourth field of fstab.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "path": {
            "description": "Mount path.",
            "examples": [
              "/var/log"
            ],
            "type": "string"
          },
          "reuseIfPossible": {
            "default": false,
            "description": "Try to reuse the existing file system. In some cases the file system could not be reused, for example, if the device is re-encrypted.",
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/StorageConfigFilesystemType"
          }
        },
        "type": "object"
      },
      "StorageConfigFilesystemCondition": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemConditionType"
          },
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemConditionLabel"
          },
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemConditionAnd"
          },
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemConditionOr"
          },
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemConditionNot"
          }
        ],
        "description": "Matches formatted devices whose file system satisfies the condition."
      },
      "StorageConfigFilesystemConditionAnd": {
        "additionalProperties": false,
        "properties": {
          "and": {
            "description": "Matches when all the nested conditions match.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigFilesystemCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "and"
        ],
        "type": "object"
      },
      "StorageConfigFilesystemConditionLabel": {
        "additionalProperties": false,
        "properties": {
          "label": {
            "description": "File system label.",
            "type": "string"
          }
        },
        "required": [
          "label"
        ],
        "type": "object"
      },
      "StorageConfigFilesystemConditionNot": {
        "additionalProperties": false,
        "properties": {
          "not": {
            "$ref": "#/components/schemas/StorageConfigFilesystemCondition",
            "description": "Matches when the nested condition does not match."
          }
        },
        "required": [
          "not"
        ],
        "type": "object"
      },
      "StorageConfigFilesystemConditionOr": {
        "additionalProperties": false,
        "properties": {
          "or": {
            "description": "Matches when any of the nested conditions matches.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigFilesystemCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "or"
        ],
        "type": "object"
      },
      "StorageConfigFilesystemConditionType": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "$ref": "#/components/schemas/StorageConfigFilesystemTypeAny"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "StorageConfigFilesystemType": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemTypeAny"
          },
          {
            "$ref": "#/components/schemas/StorageConfigFilesystemTypeBtrfs"
          }
        ]
      },
      "StorageConfigFilesystemTypeAny": {
        "enum": [
          "bcachefs",
          "btrfs",
          "exfat",
          "ext2",
          "ext3",
          "ext4",
          "f2fs",
          "jfs",
          "nfs",
          "nilfs2",
          "ntfs",
          "reiserfs",
          "swap",
          "tmpfs",
          "vfat",
          "xfs"
        ]
      },
      "StorageConfigFilesystemTypeBtrfs": {
        "additionalProperties": false,
        "description": "Btrfs file system.",
        "properties": {
          "btrfs": {
            "additionalProperties": false,
            "properties": {
              "snapshots": {
                "description": "Whether to configrue Btrfs snapshots.",
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "btrfs"
        ],
        "type": "object"
      },
      "StorageConfigLogicalVolume": {
        "additionalProperties": false,
        "properties": {
          "encryption": {
            "$ref": "#/components/schemas/StorageConfigEncryption"
          },
          "filesystem": {
            "$ref": "#/components/schemas/StorageConfigFilesystem"
          },
          "name": {
            "$ref": "#/components/schemas/StorageConfigBaseName"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearch"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSize"
          },
          "stripeSize": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          "stripes": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeStripes"
          }
        },
        "type": "object"
      },
      "StorageConfigLogicalVolumeAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchCreatableActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigLogicalVolumeElement": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSimpleVolumesGenerator"
          },
          {
            "$ref": "#/components/schemas/StorageConfigAdvancedLogicalVolumesGenerator"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolume"
          },
          {
            "$ref": "#/components/schemas/StorageConfigThinPoolLogicalVolume"
          },
          {
            "$ref": "#/components/schemas/StorageConfigThinLogicalVolume"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeToDelete"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeToDeleteIfNeeded"
          }
        ]
      },
      "StorageConfigLogicalVolumeSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeAdvancedSearch"
          }
        ]
      },
      "StorageConfigLogicalVolumeSearchCondition": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionSize"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionFilesystem"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchConditionAnd"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchConditionOr"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchConditionNot"
          }
        ]
      },
      "StorageConfigLogicalVolumeSearchConditionAnd": {
        "additionalProperties": false,
        "properties": {
          "and": {
            "description": "Matches when all the nested conditions match.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "and"
        ],
        "type": "object"
      },
      "StorageConfigLogicalVolumeSearchConditionNot": {
        "additionalProperties": false,
        "properties": {
          "not": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchCondition",
            "description": "Matches when the nested condition does not match."
          }
        },
        "required": [
          "not"
        ],
        "type": "object"
      },
      "StorageConfigLogicalVolumeSearchConditionOr": {
        "additionalProperties": false,
        "properties": {
          "or": {
            "description": "Matches when any of the nested conditions matches.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "or"
        ],
        "type": "object"
      },
      "StorageConfigLogicalVolumeSearchSort": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchSortCriterion"
          },
          {
            "items": {
              "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchSortCriterion"
            },
            "type": "array"
          }
        ]
      },
      "StorageConfigLogicalVolumeSearchSortCriterion": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchSortCriterionShort"
          },
          {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeSearchSortCriterionFull"
          }
        ]
      },
      "StorageConfigLogicalVolumeSearchSortCriterionFull": {
        "additionalProperties": false,
        "maxProperties": 1,
        "minProperties": 1,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          }
        },
        "type": "object"
      },
      "StorageConfigLogicalVolumeSearchSortCriterionShort": {
        "enum": [
          "name",
          "size"
        ]
      },
      "StorageConfigLogicalVolumeStripes": {
        "description": "Number of stripes.",
        "maximum": 128,
        "minimum": 1,
        "type": "integer"
      },
      "StorageConfigLogicalVolumeToDelete": {
        "additionalProperties": false,
        "properties": {
          "delete": {
            "const": true,
            "description": "Delete the logical volume."
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigDeleteLogicalVolumeSearch"
          }
        },
        "required": [
          "delete",
          "search"
        ],
        "type": "object"
      },
      "StorageConfigLogicalVolumeToDeleteIfNeeded": {
        "additionalProperties": false,
        "properties": {
          "deleteIfNeeded": {
            "const": true,
            "description": "Delete the logical volume if needed to make space."
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigDeleteLogicalVolumeSearch"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSize"
          }
        },
        "required": [
          "deleteIfNeeded",
          "search"
        ],
        "type": "object"
      },
      "StorageConfigMdRaidAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchCreatableActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigMdRaidDevices": {
        "description": "Devices used by the MD RAID.",
        "items": {
          "$ref": "#/components/schemas/StorageConfigAlias"
        },
        "type": "array"
      },
      "StorageConfigMdRaidElement": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigNonPartitionedMdRaid"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionedMdRaid"
          }
        ]
      },
      "StorageConfigMdRaidLevel": {
        "enum": [
          "raid0",
          "raid1",
          "raid5",
          "raid6",
          "raid10"
        ],
        "title": "MD level"
      },
      "StorageConfigMdRaidParity": {
        "description": "Only applies to raid5, raid6 and raid10",
        "enum": [
          "left_asymmetric",
          "left_symmetric",
          "right_asymmetric",
          "right_symmetric",
          "first",
          "last",
          "near_2",
          "offset_2",
          "far_2",
          "near_3",
          "offset_3",
          "far_3"
        ],
        "title": "MD parity"
      },
      "StorageConfigMdRaidSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidAdvancedSearch"
          }
        ]
      },
      "StorageConfigMdRaidSearchCondition": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionSize"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionFilesystem"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionPartitions"
          },
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchConditionAnd"
          },
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchConditionOr"
          },
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchConditionNot"
          }
        ]
      },
      "StorageConfigMdRaidSearchConditionAnd": {
        "additionalProperties": false,
        "properties": {
          "and": {
            "description": "Matches when all the nested conditions match.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigMdRaidSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "and"
        ],
        "type": "object"
      },
      "StorageConfigMdRaidSearchConditionNot": {
        "additionalProperties": false,
        "properties": {
          "not": {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchCondition",
            "description": "Matches when the nested condition does not match."
          }
        },
        "required": [
          "not"
        ],
        "type": "object"
      },
      "StorageConfigMdRaidSearchConditionOr": {
        "additionalProperties": false,
        "properties": {
          "or": {
            "description": "Matches when any of the nested conditions matches.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigMdRaidSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "or"
        ],
        "type": "object"
      },
      "StorageConfigMdRaidSearchSort": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchSortCriterion"
          },
          {
            "items": {
              "$ref": "#/components/schemas/StorageConfigMdRaidSearchSortCriterion"
            },
            "type": "array"
          }
        ]
      },
      "StorageConfigMdRaidSearchSortCriterion": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchSortCriterionShort"
          },
          {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearchSortCriterionFull"
          }
        ]
      },
      "StorageConfigMdRaidSearchSortCriterionFull": {
        "additionalProperties": false,
        "maxProperties": 1,
        "minProperties": 1,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          }
        },
        "type": "object"
      },
      "StorageConfigMdRaidSearchSortCriterionShort": {
        "enum": [
          "name",
          "size"
        ]
      },
      "StorageConfigNonPartitionedDrive": {
        "additionalProperties": false,
        "description": "Drive without a partition table (e.g., directly formatted).",
        "properties": {
          "alias": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          "encryption": {
            "$ref": "#/components/schemas/StorageConfigEncryption"
          },
          "filesystem": {
            "$ref": "#/components/schemas/StorageConfigFilesystem"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigDriveSearch"
          }
        },
        "type": "object"
      },
      "StorageConfigNonPartitionedMdRaid": {
        "additionalProperties": false,
        "description": "MD RAID without a partition table (e.g., directly formatted).",
        "properties": {
          "alias": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          "chunkSize": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          "devices": {
            "$ref": "#/components/schemas/StorageConfigMdRaidDevices"
          },
          "encryption": {
            "$ref": "#/components/schemas/StorageConfigEncryption"
          },
          "filesystem": {
            "$ref": "#/components/schemas/StorageConfigFilesystem"
          },
          "level": {
            "$ref": "#/components/schemas/StorageConfigMdRaidLevel"
          },
          "name": {
            "$ref": "#/components/schemas/StorageConfigBaseName"
          },
          "parity": {
            "$ref": "#/components/schemas/StorageConfigMdRaidParity"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearch"
          }
        },
        "type": "object"
      },
      "StorageConfigPartitionAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchCreatableActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigPartitionElement": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSimpleVolumesGenerator"
          },
          {
            "$ref": "#/components/schemas/StorageConfigAdvancedPartitionsGenerator"
          },
          {
            "$ref": "#/components/schemas/StorageConfigRegularPartition"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionToDelete"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionToDeleteIfNeeded"
          }
        ]
      },
      "StorageConfigPartitionIdAny": {
        "description": "Any partition id managed by libstorage-ng. Some ids are only valid for a given partition table type.",
        "enum": [
          "dos12",
          "dos16",
          "ntfs",
          "dos32",
          "extended",
          "diag",
          "prep",
          "swap",
          "linux",
          "irst",
          "lvm",
          "raid",
          "xbootldr",
          "esp",
          "bios_boot",
          "windows_basic_data",
          "microsoft_reserved",
          "linux_home",
          "linux_server_data",
          "linux_root_arm",
          "linux_root_aarch64",
          "linux_root_ppc32",
          "linux_root_ppc64be",
          "linux_root_ppc64le",
          "linux_root_riscv32",
          "linux_root_riscv64",
          "linux_root_s390",
          "linux_root_s390x",
          "linux_root_x86",
          "linux_root_x86_64",
          "linux_usr_arm",
          "linux_usr_aarch64",
          "linux_usr_ppc32",
          "linux_usr_ppc64be",
          "linux_usr_ppc64le",
          "linux_usr_riscv32",
          "linux_usr_riscv64",
          "linux_usr_s390",
          "linux_usr_s390x",
          "linux_usr_x86",
          "linux_usr_x86_64"
        ],
        "title": "Partition id"
      },
      "StorageConfigPartitionSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionAdvancedSearch"
          }
        ]
      },
      "StorageConfigPartitionSearchCondition": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionSize"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionPartitionNumber"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionPartitionId"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionFilesystem"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchConditionAnd"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchConditionOr"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchConditionNot"
          }
        ]
      },
      "StorageConfigPartitionSearchConditionAnd": {
        "additionalProperties": false,
        "properties": {
          "and": {
            "description": "Matches when all the nested conditions match.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "and"
        ],
        "type": "object"
      },
      "StorageConfigPartitionSearchConditionNot": {
        "additionalProperties": false,
        "properties": {
          "not": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition",
            "description": "Matches when the nested condition does not match."
          }
        },
        "required": [
          "not"
        ],
        "type": "object"
      },
      "StorageConfigPartitionSearchConditionOr": {
        "additionalProperties": false,
        "properties": {
          "or": {
            "description": "Matches when any of the nested conditions matches.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "or"
        ],
        "type": "object"
      },
      "StorageConfigPartitionSearchSort": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchSortCriterion"
          },
          {
            "items": {
              "$ref": "#/components/schemas/StorageConfigPartitionSearchSortCriterion"
            },
            "type": "array"
          }
        ]
      },
      "StorageConfigPartitionSearchSortCriterion": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchSortCriterionShort"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchSortCriterionFull"
          }
        ]
      },
      "StorageConfigPartitionSearchSortCriterionFull": {
        "additionalProperties": false,
        "maxProperties": 1,
        "minProperties": 1,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          },
          "number": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          }
        },
        "type": "object"
      },
      "StorageConfigPartitionSearchSortCriterionShort": {
        "enum": [
          "name",
          "size",
          "number"
        ]
      },
      "StorageConfigPartitionToDelete": {
        "additionalProperties": false,
        "properties": {
          "delete": {
            "const": true,
            "description": "Delete the partition."
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigDeletePartitionSearch"
          }
        },
        "required": [
          "delete",
          "search"
        ],
        "type": "object"
      },
      "StorageConfigPartitionToDeleteIfNeeded": {
        "additionalProperties": false,
        "properties": {
          "deleteIfNeeded": {
            "const": true,
            "description": "Delete the partition if needed to make space."
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigDeletePartitionSearch"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSize"
          }
        },
        "required": [
          "deleteIfNeeded",
          "search"
        ],
        "type": "object"
      },
      "StorageConfigPartitionedDrive": {
        "additionalProperties": false,
        "properties": {
          "alias": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          "partitions": {
            "items": {
              "$ref": "#/components/schemas/StorageConfigPartitionElement"
            },
            "type": "array"
          },
          "ptableType": {
            "$ref": "#/components/schemas/StorageConfigPtableType"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigDriveSearch"
          }
        },
        "required": [
          "partitions"
        ],
        "type": "object"
      },
      "StorageConfigPartitionedMdRaid": {
        "additionalProperties": false,
        "properties": {
          "alias": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          "chunkSize": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          "devices": {
            "$ref": "#/components/schemas/StorageConfigMdRaidDevices"
          },
          "level": {
            "$ref": "#/components/schemas/StorageConfigMdRaidLevel"
          },
          "name": {
            "$ref": "#/components/schemas/StorageConfigBaseName"
          },
          "parity": {
            "$ref": "#/components/schemas/StorageConfigMdRaidParity"
          },
          "partitions": {
            "items": {
              "$ref": "#/components/schemas/StorageConfigPartitionElement"
            },
            "type": "array"
          },
          "ptableType": {
            "$ref": "#/components/schemas/StorageConfigPtableType"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigMdRaidSearch"
          }
        },
        "required": [
          "partitions"
        ],
        "type": "object"
      },
      "StorageConfigPartitionsCount": {
        "additionalProperties": false,
        "anyOf": [
          {
            "required": [
              "min"
            ]
          },
          {
            "required": [
              "max"
            ]
          }
        ],
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition",
            "description": "Optional condition; omit to count all partitions."
          },
          "max": {
            "description": "Maximum number of matching partitions (must be >= 1).",
            "minimum": 1,
            "type": "integer"
          },
          "min": {
            "description": "Minimum number of matching partitions (must be >= 1).",
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "StorageConfigPartitionsQuantifier": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigPartitionsQuantifierAny"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionsQuantifierNone"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionsQuantifierAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigPartitionsQuantifierCount"
          }
        ],
        "description": "Matches devices whose partitions satisfy the quantifier."
      },
      "StorageConfigPartitionsQuantifierAll": {
        "additionalProperties": false,
        "properties": {
          "all": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition",
            "description": "Matches when there is at least one partition and all partitions satisfy the condition."
          }
        },
        "required": [
          "all"
        ],
        "type": "object"
      },
      "StorageConfigPartitionsQuantifierAny": {
        "additionalProperties": false,
        "properties": {
          "any": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition",
            "description": "Matches when at least one partition satisfies the condition."
          }
        },
        "required": [
          "any"
        ],
        "type": "object"
      },
      "StorageConfigPartitionsQuantifierCount": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "$ref": "#/components/schemas/StorageConfigPartitionsCount"
          }
        },
        "required": [
          "count"
        ],
        "type": "object"
      },
      "StorageConfigPartitionsQuantifierNone": {
        "additionalProperties": false,
        "properties": {
          "none": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearchCondition",
            "description": "Matches when no partition satisfies the condition."
          }
        },
        "required": [
          "none"
        ],
        "type": "object"
      },
      "StorageConfigPhysicalVolumeElement": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSimplePhysicalVolumesGenerator"
          },
          {
            "$ref": "#/components/schemas/StorageConfigAdvancedPhysicalVolumesGenerator"
          }
        ]
      },
      "StorageConfigPtableType": {
        "$comment": "The partition table is created only if all the current partitions are deleted.",
        "description": "Partition table type.",
        "enum": [
          "gpt",
          "msdos",
          "dasd"
        ]
      },
      "StorageConfigRegularPartition": {
        "additionalProperties": false,
        "properties": {
          "alias": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          "encryption": {
            "$ref": "#/components/schemas/StorageConfigEncryption"
          },
          "filesystem": {
            "$ref": "#/components/schemas/StorageConfigFilesystem"
          },
          "id": {
            "enum": [
              "linux",
              "swap",
              "lvm",
              "raid",
              "esp",
              "prep",
              "bios_boot"
            ],
            "title": "Partition id"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigPartitionSearch"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSize"
          }
        },
        "type": "object"
      },
      "StorageConfigSearchActions": {
        "default": "error",
        "description": "How to handle the section if the device is not found.",
        "enum": [
          "skip",
          "error"
        ]
      },
      "StorageConfigSearchAll": {
        "const": "*",
        "description": "Shortcut to match all devices if there is any (equivalent to specify no conditions and to skip the entry if no device is found)."
      },
      "StorageConfigSearchConditionBoss": {
        "additionalProperties": false,
        "properties": {
          "boss": {
            "description": "Whether the device is a BOSS (Boot Optimized Storage Solution) device, a technology introduced by Dell. Use false to match any other device.",
            "type": "boolean"
          }
        },
        "required": [
          "boss"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionDriver": {
        "additionalProperties": false,
        "properties": {
          "driver": {
            "description": "Matches devices handled by the given kernel driver, as reported by hwinfo. A device can be handled by several drivers; the condition matches if any of them is the given one. Do not confuse with driver_modules, which values usually use underscore (virtio-pci vs virtio_pci) and subfix (ahci vs ahci_mod).",
            "examples": [
              "ahci",
              "sd"
            ],
            "type": "string"
          }
        },
        "required": [
          "driver"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionFilesystem": {
        "additionalProperties": false,
        "properties": {
          "filesystem": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StorageConfigSearchFilesystemPresence"
              },
              {
                "$ref": "#/components/schemas/StorageConfigFilesystemCondition"
              }
            ]
          }
        },
        "required": [
          "filesystem"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionName": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionPartitionId": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/components/schemas/StorageConfigPartitionIdAny"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionPartitionNumber": {
        "additionalProperties": false,
        "properties": {
          "number": {
            "description": "Partition number (e.g., 1 for vda1).",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "number"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionPartitions": {
        "additionalProperties": false,
        "properties": {
          "partitions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StorageConfigSearchPartitionsPresence"
              },
              {
                "$ref": "#/components/schemas/StorageConfigPartitionsQuantifier"
              }
            ]
          }
        },
        "required": [
          "partitions"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionSize": {
        "additionalProperties": false,
        "properties": {
          "size": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StorageConfigSizeValue"
              },
              {
                "$ref": "#/components/schemas/StorageConfigSearchConditionSizeEqual"
              },
              {
                "$ref": "#/components/schemas/StorageConfigSearchConditionSizeGreater"
              },
              {
                "$ref": "#/components/schemas/StorageConfigSearchConditionSizeLess"
              }
            ]
          }
        },
        "required": [
          "size"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionSizeEqual": {
        "additionalProperties": false,
        "properties": {
          "equal": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          }
        },
        "required": [
          "equal"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionSizeGreater": {
        "additionalProperties": false,
        "properties": {
          "greater": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          }
        },
        "required": [
          "greater"
        ],
        "type": "object"
      },
      "StorageConfigSearchConditionSizeLess": {
        "additionalProperties": false,
        "properties": {
          "less": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          }
        },
        "required": [
          "less"
        ],
        "type": "object"
      },
      "StorageConfigSearchCreatableActions": {
        "default": "error",
        "description": "How to handle the section if the device is not found.",
        "enum": [
          "skip",
          "error",
          "create"
        ]
      },
      "StorageConfigSearchFilesystemPresence": {
        "description": "Shortcut to match by filesystem presence: \"any\" matches formatted devices, \"none\" matches unformatted ones.",
        "enum": [
          "any",
          "none"
        ]
      },
      "StorageConfigSearchMax": {
        "description": "Maximum devices to match.",
        "minimum": 1,
        "type": "integer"
      },
      "StorageConfigSearchName": {
        "description": "Search by device name",
        "examples": [
          "/dev/vda",
          "/dev/disk/by-id/ata-WDC_WD3200AAKS-75L9"
        ],
        "type": "string"
      },
      "StorageConfigSearchPartitionsPresence": {
        "description": "Shortcut to match by partitions presence: \"any\" matches devices with at least one partition, \"none\" matches devices with no partitions.",
        "enum": [
          "any",
          "none"
        ]
      },
      "StorageConfigSearchSortCriterionOrder": {
        "description": "Direction of sorting at the search results",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "StorageConfigSimplePhysicalVolumesGenerator": {
        "additionalProperties": false,
        "description": "Automatically creates the needed physical volumes in the indicated devices.",
        "properties": {
          "generate": {
            "items": {
              "$ref": "#/components/schemas/StorageConfigAlias"
            },
            "type": "array"
          }
        },
        "required": [
          "generate"
        ],
        "type": "object"
      },
      "StorageConfigSimpleVolumesGenerator": {
        "additionalProperties": false,
        "description": "Automatically creates the default or mandatory volumes configured by the selected product.",
        "properties": {
          "generate": {
            "enum": [
              "default",
              "mandatory"
            ]
          }
        },
        "required": [
          "generate"
        ],
        "type": "object"
      },
      "StorageConfigSize": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          {
            "description": "Lower size limit and optionally upper size limit.",
            "examples": [
              [
                1024,
                "current"
              ],
              [
                "1 GiB",
                "5 GiB"
              ],
              [
                1024,
                "2 GiB"
              ],
              [
                "2 GiB"
              ]
            ],
            "items": {
              "$ref": "#/components/schemas/StorageConfigSizeValueWithCurrent"
            },
            "maxItems": 2,
            "minItems": 1,
            "title": "Size tuple",
            "type": "array"
          },
          {
            "additionalProperties": false,
            "description": "Size range.",
            "properties": {
              "max": {
                "$ref": "#/components/schemas/StorageConfigSizeValueWithCurrent"
              },
              "min": {
                "$ref": "#/components/schemas/StorageConfigSizeValueWithCurrent"
              }
            },
            "required": [
              "min"
            ],
            "title": "Size range",
            "type": "object"
          }
        ],
        "title": "Size"
      },
      "StorageConfigSizeBytes": {
        "description": "Size in bytes.",
        "examples": [
          1024,
          2048
        ],
        "minimum": 0,
        "type": "integer"
      },
      "StorageConfigSizeString": {
        "description": "Human readable size.",
        "examples": [
          "2 GiB",
          "1.5 TB",
          "1TIB",
          "1073741824 b",
          "1073741824"
        ],
        "pattern": "^[0-9]+(\\.[0-9]+)?(\\s*([KkMmGgTtPpEeZzYy][iI]?)?[Bb])?$",
        "type": "string"
      },
      "StorageConfigSizeValue": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSizeString"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSizeBytes"
          }
        ]
      },
      "StorageConfigSizeValueWithCurrent": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          {
            "const": "current",
            "description": "The current size of the device.",
            "title": "Size current"
          }
        ]
      },
      "StorageConfigThinLogicalVolume": {
        "additionalProperties": false,
        "properties": {
          "encryption": {
            "$ref": "#/components/schemas/StorageConfigEncryption"
          },
          "filesystem": {
            "$ref": "#/components/schemas/StorageConfigFilesystem"
          },
          "name": {
            "$ref": "#/components/schemas/StorageConfigBaseName"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSize"
          },
          "usedPool": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          }
        },
        "required": [
          "usedPool"
        ],
        "type": "object"
      },
      "StorageConfigThinPoolLogicalVolume": {
        "additionalProperties": false,
        "properties": {
          "alias": {
            "$ref": "#/components/schemas/StorageConfigAlias"
          },
          "encryption": {
            "$ref": "#/components/schemas/StorageConfigEncryption"
          },
          "name": {
            "$ref": "#/components/schemas/StorageConfigBaseName"
          },
          "pool": {
            "const": true,
            "description": "LVM thin pool."
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSize"
          },
          "stripeSize": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          "stripes": {
            "$ref": "#/components/schemas/StorageConfigLogicalVolumeStripes"
          }
        },
        "required": [
          "pool"
        ],
        "type": "object"
      },
      "StorageConfigVolumeGroup": {
        "additionalProperties": false,
        "description": "LVM volume group.",
        "properties": {
          "extentSize": {
            "$ref": "#/components/schemas/StorageConfigSizeValue"
          },
          "logicalVolumes": {
            "items": {
              "$ref": "#/components/schemas/StorageConfigLogicalVolumeElement"
            },
            "type": "array"
          },
          "name": {
            "$ref": "#/components/schemas/StorageConfigBaseName"
          },
          "physicalVolumes": {
            "description": "Devices to use as physical volumes.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigPhysicalVolumeElement"
            },
            "type": "array"
          },
          "search": {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearch"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "StorageConfigVolumeGroupAdvancedSearch": {
        "additionalProperties": false,
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchCondition"
          },
          "ifNotFound": {
            "$ref": "#/components/schemas/StorageConfigSearchCreatableActions"
          },
          "max": {
            "$ref": "#/components/schemas/StorageConfigSearchMax"
          },
          "sort": {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchSort"
          }
        },
        "type": "object"
      },
      "StorageConfigVolumeGroupSearch": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchAll"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupAdvancedSearch"
          }
        ]
      },
      "StorageConfigVolumeGroupSearchCondition": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionName"
          },
          {
            "$ref": "#/components/schemas/StorageConfigSearchConditionSize"
          },
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchConditionAnd"
          },
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchConditionOr"
          },
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchConditionNot"
          }
        ]
      },
      "StorageConfigVolumeGroupSearchConditionAnd": {
        "additionalProperties": false,
        "properties": {
          "and": {
            "description": "Matches when all the nested conditions match.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "and"
        ],
        "type": "object"
      },
      "StorageConfigVolumeGroupSearchConditionNot": {
        "additionalProperties": false,
        "properties": {
          "not": {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchCondition",
            "description": "Matches when the nested condition does not match."
          }
        },
        "required": [
          "not"
        ],
        "type": "object"
      },
      "StorageConfigVolumeGroupSearchConditionOr": {
        "additionalProperties": false,
        "properties": {
          "or": {
            "description": "Matches when any of the nested conditions matches.",
            "items": {
              "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchCondition"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "or"
        ],
        "type": "object"
      },
      "StorageConfigVolumeGroupSearchSort": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchSortCriterion"
          },
          {
            "items": {
              "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchSortCriterion"
            },
            "type": "array"
          }
        ]
      },
      "StorageConfigVolumeGroupSearchSortCriterion": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchSortCriterionShort"
          },
          {
            "$ref": "#/components/schemas/StorageConfigVolumeGroupSearchSortCriterionFull"
          }
        ]
      },
      "StorageConfigVolumeGroupSearchSortCriterionFull": {
        "additionalProperties": false,
        "maxProperties": 1,
        "minProperties": 1,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          },
          "size": {
            "$ref": "#/components/schemas/StorageConfigSearchSortCriterionOrder"
          }
        },
        "type": "object"
      },
      "StorageConfigVolumeGroupSearchSortCriterionShort": {
        "enum": [
          "name",
          "size"
        ]
      },
      "StringOrList": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        ]
      },
      "UserFile": {
        "anyOf": [
          {
            "description": "File or script content, starting with a shebang for scripts.",
            "properties": {
              "content": {
                "type": "string"
              }
            },
            "required": [
              "content"
            ],
            "type": "object"
          },
          {
            "description": "Absolute or relative URL to fetch the file or script from.",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          }
        ],
        "description": "Represents individual settings for single file deployment",
        "properties": {
          "destination": {
            "description": "Destination path where file should be deployed (e.g., \"/etc/config.d/my.conf\").",
            "type": "string"
          },
          "group": {
            "default": "root",
            "description": "Group owning the file on installed system. The group has to already exist.",
            "type": "string"
          },
          "permissions": {
            "default": "0644",
            "description": "Permissions for file on installed system (e.g., \"0644\").",
            "type": "string"
          },
          "user": {
            "default": "root",
            "description": "User owning the file on installed system. The user has to already exist.",
            "type": "string"
          }
        },
        "required": [
          "destination"
        ],
        "title": "User-defined file to deploy",
        "type": "object"
      },
      "VlanFlag": {
        "description": "VLAN flags controlling behavior",
        "oneOf": [
          {
            "const": "reorder-headers",
            "description": "Reorder Ethernet headers to make packets look less like VLAN packets",
            "type": "string"
          },
          {
            "const": "gvrp",
            "description": "GARP VLAN Registration Protocol - dynamically register/deregister VLANs",
            "type": "string"
          },
          {
            "const": "loose-binding",
            "description": "Allow changing master device while connection is active",
            "type": "string"
          },
          {
            "const": "mvrp",
            "description": "Multiple VLAN Registration Protocol - next generation of GVRP",
            "type": "string"
          }
        ]
      },
      "VlanSettings": {
        "properties": {
          "flags": {
            "items": {
              "$ref": "#/components/schemas/VlanFlag"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "id": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "parent": {
            "type": "string"
          },
          "protocol": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "parent",
          "id"
        ],
        "type": "object"
      },
      "WirelessSettings": {
        "description": "Wireless configuration",
        "properties": {
          "band": {
            "description": "Frequency band of the wireless network",
            "type": [
              "string",
              "null"
            ]
          },
          "bssid": {
            "description": "Only allow connection to this mac address",
            "type": [
              "string",
              "null"
            ]
          },
          "channel": {
            "description": "Wireless channel of the wireless network",
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "groupAlgorithms": {
            "description": "A list of group/broadcast encryption algorithms",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "hidden": {
            "description": "Indicates that the wireless network is not broadcasting its SSID",
            "type": "boolean"
          },
          "mode": {
            "description": "Wireless network mode",
            "type": "string"
          },
          "pairwiseAlgorithms": {
            "description": "A list of pairwise encryption algorithms",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "password": {
            "description": "Password of the wireless network",
            "type": [
              "string",
              "null"
            ]
          },
          "pmf": {
            "description": "Indicates whether Protected Management Frames must be enabled for the connection",
            "format": "int32",
            "type": "integer"
          },
          "security": {
            "description": "Security method/key management",
            "type": "string"
          },
          "ssid": {
            "description": "SSID of the wireless network",
            "type": "string"
          },
          "wpaProtocolVersions": {
            "description": "A list of allowed WPA protocol versions",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "security",
          "ssid",
          "mode"
        ],
        "type": "object"
      },
      "ZfcpConfig": {
        "additionalProperties": false,
        "description": "zFCP config.",
        "properties": {
          "controllers": {
            "description": "List of zFCP controllers.",
            "items": {
              "description": "zFCP controller channel id.",
              "type": "string"
            },
            "type": "array"
          },
          "devices": {
            "description": "List of zFCP devices.",
            "items": {
              "$ref": "#/components/schemas/ZfcpConfigDevice"
            },
            "type": "array"
          }
        },
        "title": "Config",
        "type": "object"
      },
      "ZfcpConfigDevice": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "default": true,
            "description": "Whether to activate the device.",
            "type": "boolean"
          },
          "channel": {
            "description": "zFCP controller channel id.",
            "examples": [
              "0.0.fa00"
            ],
            "type": "string"
          },
          "lun": {
            "description": "LUN of the SCSI device.",
            "examples": [
              "0x4010403300000000"
            ],
            "type": "string"
          },
          "wwpn": {
            "description": "WWPN of the target port.",
            "examples": [
              "0x500507630300c562"
            ],
            "type": "string"
          }
        },
        "required": [
          "channel",
          "wwpn",
          "lun"
        ],
        "type": "object"
      },
      "access.Config": {
        "description": "Remote Access configuration.\n\nAllows to explicitly specify how machine has to be accessed after installation.",
        "properties": {
          "ssh": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AccessValue"
              },
              {
                "type": "null"
              }
            ],
            "description": "Allows to specify if ssh access has to be enabled after installation or keep product defaults."
          },
          "webConsole": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AccessValue"
              },
              {
                "type": "null"
              }
            ],
            "description": "Allows to specify if web console access has to be enabled after installation or keep product defaults."
          }
        },
        "type": "object"
      },
      "bootloader.Config": {
        "description": "Bootloader configuration.",
        "properties": {
          "extraKernelParams": {
            "description": "Bootloader extra kernel parameters.",
            "type": [
              "string",
              "null"
            ]
          },
          "stopOnBootMenu": {
            "description": "Whether bootloader should stop on boot menu.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "timeout": {
            "description": "Bootloader timeout.",
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "updateNvram": {
            "description": "Whether bootloader should update persistent RAM.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "title": "Bootloader settings",
        "type": "object"
      },
      "hostname.Config": {
        "description": "Hostname config.",
        "properties": {
          "hostname": {
            "description": "System transient hostname.",
            "examples": [
              "agama-host"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "static": {
            "description": "System static hostname.",
            "examples": [
              "agama-host.example.com"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "transient": {
            "deprecated": true,
            "description": "System transient hostname.",
            "examples": [
              "agama-host"
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "Hostname settings",
        "type": "object"
      },
      "l10n.Config": {
        "description": "Localization config.",
        "properties": {
          "keyboard": {
            "deprecated": true,
            "description": "Keymap (e.g., \"us\", \"cz(qwerty)\", etc.).",
            "examples": [
              "us",
              "en",
              "es"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "keymap": {
            "description": "Keymap (e.g., \"us\", \"cz(qwerty)\", etc.).",
            "examples": [
              "us",
              "en",
              "es"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "deprecated": true,
            "description": "Locale (e.g., \"en_US.UTF-8\").",
            "examples": [
              "en_US.UTF-8",
              "en_US"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "locale": {
            "description": "Locale (e.g., \"en_US.UTF-8\").",
            "examples": [
              "en_US.UTF-8",
              "en_US"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "description": "Timezone (e.g., \"Europe/Berlin\").",
            "examples": [
              "Europe/Berlin"
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "Localization settings",
        "type": "object"
      },
      "network.Config": {
        "description": "Network config settings for installation",
        "properties": {
          "connections": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NetworkConnectionsCollection"
              },
              {
                "type": "null"
              }
            ],
            "description": "Connections to use in the installation"
          },
          "state": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StateSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Network general settings"
          }
        },
        "type": "object"
      },
      "ntp.Config": {
        "description": "NTP configuration.",
        "properties": {
          "sources": {
            "description": "NTP sources.",
            "items": {
              "$ref": "#/components/schemas/Source"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "NTP configuration",
        "type": "object"
      },
      "proxy.Config": {
        "description": "Proxy config.",
        "properties": {
          "enabled": {
            "description": "Whether proxy is enabled.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "ftp": {
            "description": "URL to be used for the FTP proxy.",
            "type": [
              "string",
              "null"
            ]
          },
          "gopher": {
            "description": "URL to be used for the Gopher proxy.",
            "type": [
              "string",
              "null"
            ]
          },
          "http": {
            "description": "URL to be used for the HTTP proxy.",
            "examples": [
              "http://proxy.provider.de:3128/"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "https": {
            "description": "URL to be used for the HTTPS proxy.",
            "type": [
              "string",
              "null"
            ]
          },
          "noProxy": {
            "description": "Comma-separated list of domains/hosts to bypass proxy for.",
            "type": [
              "string",
              "null"
            ]
          },
          "socks": {
            "description": "URL to be used for the SOCKS proxy.",
            "type": [
              "string",
              "null"
            ]
          },
          "socks5": {
            "description": "SOCKS5 server address.",
            "examples": [
              "office-proxy.example.com:8881"
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "Proxy settings",
        "type": "object"
      },
      "questions.Config": {
        "description": "Questions configuration.",
        "properties": {
          "answers": {
            "description": "List of answers to automatically use for matching questions.",
            "items": {
              "$ref": "#/components/schemas/AnswerRule"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "policy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Policy"
              },
              {
                "type": "null"
              }
            ],
            "description": "Policy to answer questions: \"auto\" to automatically answer questions or \"user\" to ask the user."
          }
        },
        "title": "How to handle Agama questions",
        "type": "object"
      },
      "security.Config": {
        "description": "Security settings",
        "properties": {
          "sslCertificates": {
            "description": "List of SSL certificates to add to the system.",
            "items": {
              "$ref": "#/components/schemas/SSLFingerprint"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "title": "Security settings",
        "type": "object"
      }
    }
  },
  "description": "Profile definition for automated installation.",
  "properties": {
    "$schema": {
      "description": "The schema location is ignored by the installer, it always uses the built-in schema, but it can be useful for automatic validation and code completion in some editors.",
      "title": "URL of the JSON validation schema",
      "type": "string"
    },
    "access": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/access.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Remote access configuration (SSH, Web Console)."
    },
    "bootloader": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/bootloader.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Bootloader configuration."
    },
    "dasd": {
      "$ref": "#/components/schemas/DasdConfig"
    },
    "files": {
      "description": "User-defined files to deploy after installation just before post install scripts.",
      "items": {
        "$ref": "#/components/schemas/UserFile"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "hostname": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/hostname.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Hostname configuration."
    },
    "iscsi": {
      "$ref": "#/components/schemas/IscsiConfig"
    },
    "l10n": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/l10n.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Localization configuration (keyboard, language, timezone)."
    },
    "legacyAutoyastStorage": {
      "description": "Accepts all options of the AutoYaST partitioning section (i.e., XML to JSON)."
    },
    "localization": {
      "$ref": "#/components/schemas/l10n.Config",
      "deprecated": true,
      "description": "Deprecated: use l10n instead.",
      "title": "Localization settings (old schema)"
    },
    "network": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/network.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Network configuration (interfaces, connections, state)."
    },
    "ntp": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ntp.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "NTP time synchronization configuration."
    },
    "product": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ProductConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Product related configuration"
    },
    "proxy": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/proxy.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Network proxy configuration."
    },
    "questions": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/questions.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Automated question answering rules and policy."
    },
    "root": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/RootUserConfig"
        },
        {
          "type": "null"
        }
      ]
    },
    "scripts": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ScriptsConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "User-defined scripts to run at different points of the installation."
    },
    "security": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/security.Config"
        },
        {
          "type": "null"
        }
      ],
      "description": "Security configuration (e.g. SSL certificate fingerprints)."
    },
    "software": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/SoftwareConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Software related configuration"
    },
    "storage": {
      "$ref": "#/components/schemas/StorageConfig"
    },
    "user": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/FirstUserConfig"
        },
        {
          "type": "null"
        }
      ]
    },
    "zfcp": {
      "$ref": "#/components/schemas/ZfcpConfig"
    }
  },
  "title": "Profile",
  "type": "object"
}