<?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">
	<xs:include schemaLocation="plesk_common.xsd"/>
	<xs:include schemaLocation="descriptor.xsd"/>
	<xs:complexType name="ProtectedDirInput">
		<xs:choice maxOccurs="unbounded">
			<xs:element name="add" type="ProtectedDirAddInput"/>
			<xs:element name="delete" type="ProtectedDirDeleteInput"/>
			<xs:element name="set" type="ProtectedDirSetInput"/>
			<xs:element name="get" type="ProtectedDirGetInput"/>
			<xs:element name="add-user" type="ProtectedDirAddUserInput"/>
			<xs:element name="set-user" type="ProtectedDirSetUserInput"/>
			<xs:element name="delete-user" type="ProtectedDirDeleteUserInput"/>
			<xs:element name="get-user" type="ProtectedDirGetUserInput"/>
			<xs:element name="get-pd-location-descriptor" type="ProtectedDirGetLocationDescriptor"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="ProtectedDirAddInput">
		<xs:sequence>
			<xs:element name="site-id" type="id_type"/>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="header" type="xs:string" minOccurs="0"/>
			<xs:element name="location" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="property" type="ProtectedDirLocationProperty" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirSetInput">
		<xs:sequence>
			<xs:element name="filter" type="ProtectedDirFilter"/>
			<xs:element name="values" type="ProtectedDir"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDir">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0"/>
			<xs:element name="header" type="xs:string" minOccurs="0"/>
			<xs:element name="location" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="property" type="ProtectedDirLocationProperty" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirLocation">
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="name" type="string"/>
			<xs:element name="value" type="xs:anySimpleType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirUser">
		<xs:sequence>
			<xs:element name="id" type="id_type" minOccurs="0"/>
			<xs:element name="login" type="string" minOccurs="0"/>
			<xs:element name="password" type="string" minOccurs="0"/>
			<xs:element name="password-type" type="passwdType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirAddUserInput">
		<xs:sequence>
			<xs:element name="pd-id" type="id_type"/>
			<xs:element name="login" type="string"/>
			<xs:element name="password" type="string"/>
			<xs:element name="password-type" type="passwdType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirDeleteUserInput">
		<xs:sequence>
			<xs:element name="filter" type="ProtectedDirUserFilter"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirOutput">
		<xs:choice maxOccurs="unbounded">
			<xs:element name="add" type="ProtectedDirAddOutput"/>
			<xs:element name="set" type="ProtectedDirSetOutput"/>
			<xs:element name="delete" type="ProtectedDirDeleteOutput"/>
			<xs:element name="add-user" type="ProtectedDirAddUserOutput"/>
			<xs:element name="set-user" type="ProtectedDirSetUserOutput"/>
			<xs:element name="delete-user" type="ProtectedDirDeleteUserOutput"/>
			<xs:element name="get" type="ProtectedDirGetOutput"/>
			<xs:element name="get-user" type="ProtectedDirGetUserOutput"/>
			<xs:element name="get-pd-location-descriptor">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultFilterType">
										<xs:sequence minOccurs="0">
											<xs:element name="descriptor" type="ObjectDescriptor" minOccurs="0"/>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="ProtectedDirAddOutput">
		<xs:sequence>
			<xs:element name="result">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultType">
							<xs:sequence minOccurs="0">
								<xs:element name="id" type="id_type"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirGetUserOutput">
		<xs:sequence>
			<xs:element name="result" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultFilterType">
							<xs:sequence minOccurs="0">
								<xs:element name="data">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="login" type="string" minOccurs="0"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirFilter">
		<xs:choice minOccurs="0">
			<xs:element name="id" type="id_type" maxOccurs="unbounded"/>
			<xs:element name="site-id" type="id_type" maxOccurs="unbounded"/>
			<xs:element name="site-name" type="string" maxOccurs="unbounded"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="ProtectedDirGetOutput">
		<xs:sequence>
			<xs:element name="result" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultFilterType">
							<xs:sequence minOccurs="0">
								<xs:element name="data">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="name" type="xs:string" minOccurs="0"/>
											<xs:element name="header" type="xs:string" minOccurs="0"/>
											<xs:element name="location" minOccurs="0">
												<xs:complexType>
													<xs:sequence>
														<xs:element name="property" type="ProtectedDirLocationProperty" maxOccurs="unbounded"/>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirLocationProperty">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="value" type="xs:boolean"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirSetUserInput">
		<xs:sequence>
			<xs:element name="filter" type="ProtectedDirUserFilter"/>
			<xs:element name="values" type="ProtectedDirUser"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirUserFilter">
		<xs:choice minOccurs="0">
			<xs:element name="pd-id" type="id_type" maxOccurs="unbounded"/>
			<xs:element name="id" type="id_type" maxOccurs="unbounded"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="ProtectedDirGetInput">
		<xs:sequence>
			<xs:element name="filter" type="ProtectedDirFilter"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirDeleteInput">
		<xs:sequence>
			<xs:element name="filter" type="ProtectedDirFilter"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirGetLocationDescriptor">
		<xs:sequence>
			<xs:element name="filter" minOccurs="0">
				<xs:complexType>
					<xs:choice minOccurs="0">
						<xs:element name="site-id" type="id_type" maxOccurs="unbounded"/>
					</xs:choice>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirAddUserOutput">
		<xs:sequence>
			<xs:element name="result">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultType">
							<xs:sequence minOccurs="0">
								<xs:element name="id" type="id_type"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirSetUserOutput">
		<xs:sequence>
			<xs:element name="result" type="resultFilterType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirDeleteUserOutput">
		<xs:sequence>
			<xs:element name="result" type="resultFilterType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirGetUserInput">
		<xs:sequence>
			<xs:element name="filter" type="ProtectedDirUserFilter"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirSetOutput">
		<xs:sequence>
			<xs:element name="result" type="resultFilterType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProtectedDirDeleteOutput">
		<xs:sequence>
			<xs:element name="result" type="resultFilterType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
