<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 1999-2022. Plesk International GmbH. All rights reserved. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:include schemaLocation="plesk_server.xsd"/>
	<xs:complexType name="getType">
		<xs:annotation>
			<xs:documentation>Request server info</xs:documentation>
		</xs:annotation>
		<xs:sequence minOccurs="0">
			<xs:element name="key" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Plesk licence key information</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="gen_info" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server general information</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="components" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server componets</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="stat" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server statistics</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="admin" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server adminstrator information</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="interfaces" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server Network Interfaces List</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="services_state" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server Services State</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="prefs" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server Preferences</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="shells" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Server shells</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="packet">
		<xs:annotation>
			<xs:documentation>Root node for any of input</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Input</xs:documentation>
				</xs:annotation>
				<xs:element name="server">
					<xs:annotation>
						<xs:documentation>Server operator</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:choice maxOccurs="unbounded">
							<xs:element name="get_protos">
								<xs:annotation>
									<xs:documentation>Get supported PA protocols</xs:documentation>
								</xs:annotation>
								<xs:complexType/>
							</xs:element>
							<xs:element name="get" type="getType">
								<xs:annotation>
									<xs:documentation>Get operation</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="set">
								<xs:annotation>
									<xs:documentation>Set operation</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:all>
										<xs:element name="admin" type="adminType" minOccurs="0"/>
										<xs:element name="password" type="serverPassword" minOccurs="0"/>
										<xs:element name="prefs" type="serverPrefs" minOccurs="0"/>
										<xs:element name="session_setup" type="serverSessionSetup" minOccurs="0"/>
									</xs:all>
								</xs:complexType>
							</xs:element>
							<xs:element name="srv_man">
								<xs:annotation>
									<xs:documentation>Services management</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="id" type="srvIdType">
											<xs:annotation>
												<xs:documentation>Service ID</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="operation" type="srvOpType">
											<xs:annotation>
												<xs:documentation>Operation to be completed for service</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="lic_install">
								<xs:annotation>
									<xs:documentation>Install a new Plesk licence. TODO: Works only with *nix Plesk installations for now.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="license" type="base64">
											<xs:annotation>
												<xs:documentation>License file. For *nix it is a self-extractor shell script</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="additional_key" minOccurs="0">
											<xs:annotation>
												<xs:documentation>if this tag is present licence key is additional</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="initial_setup" type="initialSetupType">
								<xs:annotation>
									<xs:documentation>Plesk server initial setup. May be used only on fresh Plesk server installation</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="get_additional_key">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="filter" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="set_misc">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="filter">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="property" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="name">
																	<xs:simpleType>
																		<xs:restriction base="string">
																			<xs:enumeration value="REMOTE_SERVER"/>
																			<xs:enumeration value="REMOTE_PASSWORD"/>
																			<xs:enumeration value="REMOTE_LOGIN"/>
																			<xs:enumeration value="REMOTE_ID"/>
																			<xs:enumeration value="not_count_mail_disk_usage"/>
																			<xs:enumeration value="ae_host"/>
																			<xs:enumeration value="ae_user"/>
																			<xs:enumeration value="ae_pass"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="value" type="xs:string"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="get_misc">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="filter">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="property" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="name" type="miscPropertyNameType"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="enable_ae">
								<xs:annotation>
									<xs:documentation>Enable AE by given arguments.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="params" type="aeParamsType"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="disable_ae">
								<xs:annotation>
									<xs:documentation>Disable AE</xs:documentation>
								</xs:annotation>
								<xs:complexType/>
							</xs:element>
							<xs:element name="get_ae_params">
								<xs:complexType/>
							</xs:element>
							<xs:element name="create_session">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="login" type="xs:string"/>
										<xs:element name="data" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Container for data transferred to session. All the data should be base64-encoded.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="user_ip" type="string">
														<xs:annotation>
															<xs:documentation>IP address of user for which the session should be opened.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="c_email" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Client Email. If client has no email specified, this value will be set and saved. If client has no email set and this value is empty, then client will be forced to enter this data first, instead of simple opening the URL required (see "starting_url" parameter).</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="c_phone" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Client Phone. If client has no phonel specified, this value will be set and saved. If client has no email set and this value is empty, then client will be forced to enter this data first, instead of simple opening the URL required (see "starting_url" parameter).</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="starting_url" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>The URL from which the user will start browsing GUI. If not specified the user will start browsing from default starting URL.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="source_server" type="string">
														<xs:annotation>
															<xs:documentation>The URL of server from which the user comes. Required for returing user back to native Plesk.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="navigation" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Navigation bar object. It will replace Plesk native navigation object.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="pathbar" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Pathbar object.  It will replace Plesk native pathbar object.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="logo_img_url" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>URL of image to use in top logo.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="logo_img_ref" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>URL to which top logo refers.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="locale_id" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Identifier of locale to use (en-US, for example). If it is not installed - then default locale is used for session.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="skin" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Name of skin to use. If it is not installed, then default skin is used.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="domain_name" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Name of domain to which we are going to get access.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="disable_lock_screen" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Flag for enabling/disabling Plesk screen locking. Valid values are: "true" or "false". If some value specified, then it will override default settings for this user.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="max_button_length" type="string" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Literal representation of max button label length, If some value is set, then it will override default settings for this user.</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:choice>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:attribute name="version" type="string" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
