<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:include schemaLocation="plesk_dns.xsd"/>
	<xs:complexType name="aclResultType">
		<xs:complexContent>
			<xs:extension base="resultType">
				<xs:sequence minOccurs="0">
					<xs:element name="host" type="string" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="resultOpType">
		<xs:complexContent>
			<xs:extension base="resultType">
				<xs:choice minOccurs="0">
					<xs:element name="site-id" type="id_type"/>
					<xs:element name="site-alias-id" type="id_type"/>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DNSResponseType">
		<xs:choice maxOccurs="unbounded">
			<xs:element name="add_rec">
				<xs:annotation>
					<xs:documentation>Add DNS record</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<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" minOccurs="0">
												<xs:annotation>
													<xs:documentation>New Record ID</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="get_rec">
				<xs:annotation>
					<xs:documentation>Getting result</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultType">
										<xs:sequence minOccurs="0">
											<xs:element name="id" type="id_type">
												<xs:annotation>
													<xs:documentation>Record ID</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="data" type="dnsRecord" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Domain datas. Will not returned if status isn't "ok"</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="del_rec">
				<xs:annotation>
					<xs:documentation>Deleting result</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultType">
										<xs:sequence minOccurs="0">
											<xs:element name="id" type="id_type">
												<xs:annotation>
													<xs:documentation>Record ID</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="get_acl">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" type="aclResultType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="add_to_acl">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" type="aclResultType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="remove_from_acl">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" type="aclResultType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="switch">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultType">
										<xs:choice minOccurs="0">
											<xs:element name="site-id" type="id_type"/>
											<xs:element name="site-alias-id" type="id_type"/>
										</xs:choice>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="add_master_server">
				<xs:complexType>
					<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:element>
			<xs:element name="get_master_server">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultFilterType">
										<xs:sequence minOccurs="0">
											<xs:choice>
												<xs:element name="site-id" type="id_type"/>
												<xs:element name="site-alias-id" type="id_type"/>
											</xs:choice>
											<xs:element name="ip_address" type="ip_address"/>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="del_master_server">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" maxOccurs="unbounded">
							<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:element>
			<xs:element name="get">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultType">
										<xs:sequence>
											<xs:choice minOccurs="0">
												<xs:element name="site-id" type="id_type"/>
												<xs:element name="site-alias-id" type="id_type"/>
											</xs:choice>
											<xs:element name="soa" type="SOAType" minOccurs="0"/>
											<xs:element name="zone_type" type="ZoneType" minOccurs="0"/>
											<xs:element name="zone_status" type="ZoneStatusType" minOccurs="0"/>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="set">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="resultType">
										<xs:choice minOccurs="0">
											<xs:element name="site-id" type="id_type"/>
											<xs:element name="site-alias-id" type="id_type"/>
										</xs:choice>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="enable">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" type="resultOpType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="disable">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="result" type="resultOpType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="enable-remote-dns" type="DNSEnableRemoteDNS"/>
			<xs:element name="disable-remote-dns" type="DNSDisableRemoteDNS"/>
			<xs:element name="get-status-remote-dns" type="DNSGetStatusRemoteDNS"/>
			<xs:element name="set-recursion" type="DNSSetRecursionOutputType"/>
			<xs:element name="get-recursion" type="DNSGetRecursionOutputType"/>
			<xs:element name="get-supported-recursion" type="DNSGetSupportedRecursionOutputType"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="DNSEnableRemoteDNS">
		<xs:sequence>
			<xs:element name="result" type="resultType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DNSDisableRemoteDNS">
		<xs:sequence>
			<xs:element name="result" type="resultType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DNSGetStatusRemoteDNS">
		<xs:sequence>
			<xs:element name="result">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultType">
							<xs:sequence minOccurs="0">
								<xs:element name="dns-status" type="boolean"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DNSSetRecursionOutputType">
		<xs:sequence>
			<xs:element name="result" type="resultType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DNSGetRecursionOutputType">
		<xs:sequence>
			<xs:element name="result">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultType">
							<xs:sequence minOccurs="0">
								<xs:element name="value" type="DNSRecursionValueType"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DNSGetSupportedRecursionOutputType">
		<xs:sequence>
			<xs:element name="result">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="resultType">
							<xs:sequence minOccurs="0">
								<xs:element name="value" type="DNSRecursionValueType" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
