Reference for AddHyperVServerAgent

Url: hyperv/new

HTTP Method: PUT

Message direction Format Body
Request XML Example,Schema
Response XML Example,Schema

The following is an example request XML body:

<?xml version="1.0" encoding="utf-16"?>
<addHypervServerRequest xmlns="http://apprecovery.com/management/api/2010/05">
  <agentProtectionConfiguration>
    <pauseConfiguration>
      <pauseInterval>P428DT10H30M12.3S</pauseInterval>
      <pauseType>None</pauseType>
      <pausedTimestamp>1999-05-31T11:20:00</pausedTimestamp>
      <pausedUntilUpgrade>true</pausedUntilUpgrade>
    </pauseConfiguration>
    <pgs>
      <pgConfig>
        <currentProtectionInterval>
          <endTime>P428DT10H30M12.3S</endTime>
          <priority>2147483647</priority>
          <startTime>P428DT10H30M12.3S</startTime>
          <step>P428DT10H30M12.3S</step>
        </currentProtectionInterval>
        <id>1627aea5-8e0a-4371-9022-9b504344e724</id>
        <nextSnap>1999-05-31T11:20:00</nextSnap>
        <transferScheduleConfiguration>
          <friday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </friday>
          <monday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </monday>
          <saturday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </saturday>
          <sunday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </sunday>
          <thursday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </thursday>
          <tuesday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </tuesday>
          <wednesday>
            <transferScheduleItemsCollection>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
              <!--Valid elements of type: intervalTransferScheduleItem-->
              <transferScheduleItem i:type="intervalTransferScheduleItem" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <endTime>P428DT10H30M12.3S</endTime>
                <priority>2147483647</priority>
                <startTime>P428DT10H30M12.3S</startTime>
                <step>P428DT10H30M12.3S</step>
              </transferScheduleItem>
            </transferScheduleItemsCollection>
          </wednesday>
        </transferScheduleConfiguration>
        <volumeNames>
          <agentVolume>
            <guidName>String content</guidName>
            <displayName>String content</displayName>
            <lastSnapshotTime>1999-05-31T11:20:00</lastSnapshotTime>
            <driverId>1627aea5-8e0a-4371-9022-9b504344e724</driverId>
            <volumeFiles>
              <protectedFile>
                <clusterRepresentation>
                  <ClusterNodeProtectedFile>
                    <nodeId />
                  </ClusterNodeProtectedFile>
                  <ClusterNodeProtectedFile />
                </clusterRepresentation>
                <fileIdInfo>
                  <driverFileId />
                </fileIdInfo>
              </protectedFile>
            </volumeFiles>
            <sharedVhdxOwners />
          </agentVolume>
          <agentVolume>
            <guidName />
          </agentVolume>
        </volumeNames>
      </pgConfig>
      <pgConfig>
        <currentProtectionInterval />
      </pgConfig>
    </pgs>
    <recentlyExcludedVolumes />
    <storage />
  </agentProtectionConfiguration>
  <deleteOldRecoveryPoints>true</deleteOldRecoveryPoints>
  <!--Valid elements of type: relatedServerAgentDescriptor-->
  <descriptor i:type="relatedServerAgentDescriptor" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" />
  <excludedFilesSettings />
</addHypervServerRequest>

The following is an example response XML body:

<?xml version="1.0" encoding="utf-16"?>
<guid xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1627aea5-8e0a-4371-9022-9b504344e724</guid>

The following is the request XML Schema:

<?xml version="1.0" encoding="utf-16"?>
<Schemas>
  <xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="anyType" nillable="true" type="xs:anyType" />
    <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
    <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
    <xs:element name="boolean" nillable="true" type="xs:boolean" />
    <xs:element name="byte" nillable="true" type="xs:byte" />
    <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
    <xs:element name="decimal" nillable="true" type="xs:decimal" />
    <xs:element name="double" nillable="true" type="xs:double" />
    <xs:element name="float" nillable="true" type="xs:float" />
    <xs:element name="int" nillable="true" type="xs:int" />
    <xs:element name="long" nillable="true" type="xs:long" />
    <xs:element name="QName" nillable="true" type="xs:QName" />
    <xs:element name="short" nillable="true" type="xs:short" />
    <xs:element name="string" nillable="true" type="xs:string" />
    <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
    <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
    <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
    <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
    <xs:element name="char" nillable="true" type="tns:char" />
    <xs:simpleType name="char">
      <xs:restriction base="xs:int" />
    </xs:simpleType>
    <xs:element name="duration" nillable="true" type="tns:duration" />
    <xs:simpleType name="duration">
      <xs:restriction base="xs:duration">
        <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
        <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
        <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
      </xs:restriction>
    </xs:simpleType>
    <xs:element name="guid" nillable="true" type="tns:guid" />
    <xs:simpleType name="guid">
      <xs:restriction base="xs:string">
        <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
      </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="FactoryType" type="xs:QName" />
    <xs:attribute name="Id" type="xs:ID" />
    <xs:attribute name="Ref" type="xs:IDREF" />
  </xs:schema>
  <xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://apprecovery.com/management/api/2010/05" elementFormDefault="qualified" targetNamespace="http://apprecovery.com/management/api/2010/05" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.PushInstall" />
    <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
    <xs:import namespace="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Transfer" />
    <xs:import namespace="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Agents" />
    <xs:complexType name="addHypervServerRequest">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:addAgentRequest">
          <xs:sequence>
            <xs:element minOccurs="0" name="deployAction" xmlns:q1="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.PushInstall" type="q1:DeployAction" />
            <xs:element minOccurs="0" name="isAutoDeployEnabled" type="xs:boolean" />
            <xs:element minOccurs="0" name="isAutoProtected" type="xs:boolean" />
            <xs:element minOccurs="0" name="isAutoProtectionEnabled" type="xs:boolean" />
            <xs:element minOccurs="0" name="pauseConfiguration" nillable="true" type="tns:protectionPauseConfiguration" />
            <xs:element minOccurs="0" name="protectionRules" nillable="true" type="tns:hyperVProtectionRules" />
            <xs:element minOccurs="0" name="saveProtectionRules" type="xs:boolean" />
            <xs:element minOccurs="0" name="scheduleConfiguration" nillable="true" type="tns:transferScheduleConfiguration" />
            <xs:element minOccurs="0" name="virtualMachinesToProtect" nillable="true" type="tns:addAgentRequests" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="addHypervServerRequest" nillable="true" type="tns:addHypervServerRequest" />
    <xs:complexType name="addAgentRequest">
      <xs:sequence>
        <xs:element minOccurs="0" name="agentProtectionConfiguration" nillable="true" type="tns:protectionConfig" />
        <xs:element minOccurs="0" name="deleteOldRecoveryPoints" type="xs:boolean" />
        <xs:element minOccurs="0" name="descriptor" nillable="true" type="tns:agentDescriptor" />
        <xs:element minOccurs="0" name="excludedFilesSettings" nillable="true" type="tns:excludedFilesSettings" />
        <xs:element minOccurs="0" name="fillVolumeNamesForDeploy" type="xs:boolean" />
        <xs:element minOccurs="0" name="fillWithDefaultProtectionConfiguration" type="xs:boolean" />
        <xs:element minOccurs="0" name="isTransferEncrypted" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="addAgentRequest" nillable="true" type="tns:addAgentRequest" />
    <xs:complexType name="protectionConfig">
      <xs:sequence>
        <xs:element minOccurs="0" name="pauseConfiguration" nillable="true" type="tns:protectionPauseConfiguration" />
        <xs:element minOccurs="0" name="pgs" nillable="true" type="tns:agentProtectionGroupConfigs" />
        <xs:element minOccurs="0" name="recentlyExcludedVolumes" nillable="true" type="tns:agentVolumes" />
        <xs:element minOccurs="0" name="storage" nillable="true" type="tns:protectionStorageConfig" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="protectionConfig" nillable="true" type="tns:protectionConfig" />
    <xs:complexType name="protectionPauseConfiguration">
      <xs:sequence>
        <xs:element minOccurs="0" name="pauseInterval" type="ser:duration" />
        <xs:element minOccurs="0" name="pauseType" xmlns:q2="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Transfer" type="q2:ProtectionPauseType" />
        <xs:element minOccurs="0" name="pausedTimestamp" type="xs:dateTime" />
        <xs:element minOccurs="0" name="pausedUntilUpgrade" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="protectionPauseConfiguration" nillable="true" type="tns:protectionPauseConfiguration" />
    <xs:complexType name="agentProtectionGroupConfigs">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="pgConfig" nillable="true" type="tns:pgConfig" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="agentProtectionGroupConfigs" nillable="true" type="tns:agentProtectionGroupConfigs" />
    <xs:complexType name="pgConfig">
      <xs:sequence>
        <xs:element minOccurs="0" name="currentProtectionInterval" nillable="true" type="tns:intervalTransferScheduleItem" />
        <xs:element minOccurs="0" name="id" type="ser:guid" />
        <xs:element minOccurs="0" name="nextSnap" nillable="true" type="xs:dateTime" />
        <xs:element minOccurs="0" name="transferScheduleConfiguration" nillable="true" type="tns:transferScheduleConfiguration" />
        <xs:element minOccurs="0" name="volumeNames" nillable="true" type="tns:agentVolumes" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="pgConfig" nillable="true" type="tns:pgConfig" />
    <xs:complexType name="intervalTransferScheduleItem">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:transferScheduleItem">
          <xs:sequence>
            <xs:element minOccurs="0" name="endTime" type="ser:duration" />
            <xs:element minOccurs="0" name="priority" type="xs:int" />
            <xs:element minOccurs="0" name="startTime" type="ser:duration" />
            <xs:element minOccurs="0" name="step" type="ser:duration" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="intervalTransferScheduleItem" nillable="true" type="tns:intervalTransferScheduleItem" />
    <xs:complexType name="transferScheduleItem">
      <xs:sequence />
    </xs:complexType>
    <xs:element name="transferScheduleItem" nillable="true" type="tns:transferScheduleItem" />
    <xs:complexType name="transferScheduleConfiguration">
      <xs:sequence>
        <xs:element minOccurs="0" name="friday" nillable="true" type="tns:transfersAgenda" />
        <xs:element minOccurs="0" name="monday" nillable="true" type="tns:transfersAgenda" />
        <xs:element minOccurs="0" name="saturday" nillable="true" type="tns:transfersAgenda" />
        <xs:element minOccurs="0" name="sunday" nillable="true" type="tns:transfersAgenda" />
        <xs:element minOccurs="0" name="thursday" nillable="true" type="tns:transfersAgenda" />
        <xs:element minOccurs="0" name="tuesday" nillable="true" type="tns:transfersAgenda" />
        <xs:element minOccurs="0" name="wednesday" nillable="true" type="tns:transfersAgenda" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="transferScheduleConfiguration" nillable="true" type="tns:transferScheduleConfiguration" />
    <xs:complexType name="transfersAgenda">
      <xs:sequence>
        <xs:element minOccurs="0" name="transferScheduleItemsCollection" nillable="true" type="tns:transferScheduleItemsCollection" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="transfersAgenda" nillable="true" type="tns:transfersAgenda" />
    <xs:complexType name="transferScheduleItemsCollection">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="transferScheduleItem" nillable="true" type="tns:transferScheduleItem" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="transferScheduleItemsCollection" nillable="true" type="tns:transferScheduleItemsCollection" />
    <xs:complexType name="agentVolumes">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="agentVolume" nillable="true" type="tns:agentVolume" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="agentVolumes" nillable="true" type="tns:agentVolumes" />
    <xs:complexType name="agentVolume">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:volumeName">
          <xs:sequence>
            <xs:element minOccurs="0" name="lastSnapshotTime" nillable="true" type="xs:dateTime" />
            <xs:element minOccurs="0" name="driverId" type="ser:guid" />
            <xs:element minOccurs="0" name="volumeFiles" nillable="true" type="tns:volumeFiles" />
            <xs:element minOccurs="0" name="sharedVhdxOwners" nillable="true" type="tns:guidCollection" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="agentVolume" nillable="true" type="tns:agentVolume" />
    <xs:complexType name="volumeName">
      <xs:sequence>
        <xs:element minOccurs="0" name="guidName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="volumeName" nillable="true" type="tns:volumeName" />
    <xs:complexType name="volumeFiles">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="protectedFile" nillable="true" type="tns:protectedFile" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="volumeFiles" nillable="true" type="tns:volumeFiles" />
    <xs:complexType name="protectedFile">
      <xs:sequence>
        <xs:element minOccurs="0" name="clusterRepresentation" nillable="true" type="tns:clusterNodesProtectedFileCollection" />
        <xs:element minOccurs="0" name="fileIdInfo" nillable="true" type="tns:FileIdInfo" />
        <xs:element minOccurs="0" name="fileToHostMapping" nillable="true" type="tns:hyperVServerFileIdInfoCollection" />
        <xs:element minOccurs="0" name="isSharedVirtualDisk" type="xs:boolean" />
        <xs:element minOccurs="0" name="virtualDiskPath" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="protectedFile" nillable="true" type="tns:protectedFile" />
    <xs:complexType name="clusterNodesProtectedFileCollection">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ClusterNodeProtectedFile" nillable="true" type="tns:protectedFilesClusterNodesRepresentation" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="clusterNodesProtectedFileCollection" nillable="true" type="tns:clusterNodesProtectedFileCollection" />
    <xs:complexType name="protectedFilesClusterNodesRepresentation">
      <xs:sequence>
        <xs:element minOccurs="0" name="nodeId" type="ser:guid" />
        <xs:element minOccurs="0" name="nodeProtectedFileId" nillable="true" type="tns:FileIdInfo" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="protectedFilesClusterNodesRepresentation" nillable="true" type="tns:protectedFilesClusterNodesRepresentation" />
    <xs:complexType name="FileIdInfo">
      <xs:sequence>
        <xs:element minOccurs="0" name="driverFileId" type="xs:int" />
        <xs:element minOccurs="0" name="fileIdHighPart" type="xs:unsignedLong" />
        <xs:element minOccurs="0" name="fileIdLowPart" type="xs:unsignedLong" />
        <xs:element minOccurs="0" name="volumeSerialNumber" type="xs:unsignedLong" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="FileIdInfo" nillable="true" type="tns:FileIdInfo" />
    <xs:complexType name="hyperVServerFileIdInfoCollection">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="hyperVServerFileIdInfo" nillable="true" type="tns:hyperVServerFileIdInfo" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="hyperVServerFileIdInfoCollection" nillable="true" type="tns:hyperVServerFileIdInfoCollection" />
    <xs:complexType name="hyperVServerFileIdInfo">
      <xs:sequence>
        <xs:element minOccurs="0" name="agentId" type="ser:guid" />
        <xs:element minOccurs="0" name="protectedFileId" nillable="true" type="tns:FileIdInfo" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="hyperVServerFileIdInfo" nillable="true" type="tns:hyperVServerFileIdInfo" />
    <xs:complexType name="guidCollection">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="guid" type="ser:guid" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="guidCollection" nillable="true" type="tns:guidCollection" />
    <xs:complexType name="protectionStorageConfig">
      <xs:sequence>
        <xs:element minOccurs="0" name="enableSafeDataStoring" type="xs:boolean" />
        <xs:element minOccurs="0" name="encryptionKeyId" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="repositoryName" type="ser:guid" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="protectionStorageConfig" nillable="true" type="tns:protectionStorageConfig" />
    <xs:complexType name="agentDescriptor">
      <xs:sequence>
        <xs:element minOccurs="0" name="agentType" xmlns:q3="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Agents" type="q3:AgentType" />
        <xs:element minOccurs="0" name="credentials" nillable="true" type="tns:agentCredentials" />
        <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="hostUri" nillable="true" type="xs:anyURI" />
        <xs:element minOccurs="0" name="id" type="ser:guid" />
        <xs:element minOccurs="0" name="machineFlags" xmlns:q4="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Agents" type="q4:MachineFlags" />
        <xs:element minOccurs="0" name="metadataCredentials" nillable="true" type="tns:credentialsDescriptor">
          <xs:annotation>
            <xs:appinfo>
              <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="sshPort" type="xs:unsignedInt" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="agentDescriptor" nillable="true" type="tns:agentDescriptor" />
    <xs:complexType name="agentCredentials">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:baseCredentials">
          <xs:sequence>
            <xs:element minOccurs="0" name="useCoreServiceCredentials" type="xs:boolean">
              <xs:annotation>
                <xs:appinfo>
                  <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
                </xs:appinfo>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="agentCredentials" nillable="true" type="tns:agentCredentials" />
    <xs:complexType name="baseCredentials">
      <xs:sequence>
        <xs:element minOccurs="0" name="credentialsAccountId" type="ser:guid" />
        <xs:element minOccurs="0" name="encryptPassword" type="xs:boolean" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="passwordEncrypted" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="baseCredentials" nillable="true" type="tns:baseCredentials" />
    <xs:complexType name="oracleInstanceCredentials">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:baseCredentials">
          <xs:sequence>
            <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string" />
            <xs:element minOccurs="0" name="instanceServiceName" nillable="true" type="xs:string" />
            <xs:element minOccurs="0" name="instanceSid" nillable="true" type="xs:string" />
            <xs:element minOccurs="0" name="port" type="xs:int" />
            <xs:element minOccurs="0" name="tnsNetworkAlias" nillable="true" type="xs:string" />
            <xs:element minOccurs="0" name="useWindowsAuthentication" type="xs:boolean" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="oracleInstanceCredentials" nillable="true" type="tns:oracleInstanceCredentials" />
    <xs:complexType name="instanceCredentials">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:baseCredentials">
          <xs:sequence>
            <xs:element minOccurs="0" name="instanceName" nillable="true" type="xs:string" />
            <xs:element minOccurs="0" name="useDefaultCredentials" type="xs:boolean" />
            <xs:element minOccurs="0" name="useWindowsAuthentication" type="xs:boolean" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="instanceCredentials" nillable="true" type="tns:instanceCredentials" />
    <xs:complexType name="virtualInstanceCredentials">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:instanceCredentials">
          <xs:sequence>
            <xs:element minOccurs="0" name="virtualServerName" nillable="true" type="xs:string" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="virtualInstanceCredentials" nillable="true" type="tns:virtualInstanceCredentials" />
    <xs:complexType name="credentialsDescriptor">
      <xs:sequence>
        <xs:element minOccurs="0" name="defaultCredentials" nillable="true" type="tns:baseCredentials">
          <xs:annotation>
            <xs:appinfo>
              <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="exchangeCredentials" nillable="true" type="tns:baseCredentials">
          <xs:annotation>
            <xs:appinfo>
              <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="oracleCredentials" nillable="true" type="tns:oracleCredentials">
          <xs:annotation>
            <xs:appinfo>
              <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="sqlCredentials" nillable="true" type="tns:sqlCredentials">
          <xs:annotation>
            <xs:appinfo>
              <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
    <xs:element name="credentialsDescriptor" nillable="true" type="tns:credentialsDescriptor" />
    <xs:complexType name="oracleCredentials">
      <xs:sequence>
        <xs:element minOccurs="0" name="oracleInstancesCredentials" nillable="true" type="tns:oracleInstancesCredentials" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="oracleCredentials" nillable="true" type="tns:oracleCredentials" />
    <xs:complexType name="oracleInstancesCredentials">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="instanceCredentials" nillable="true" type="tns:oracleInstanceCredentials" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="oracleInstancesCredentials" nillable="true" type="tns:oracleInstancesCredentials" />
    <xs:complexType name="sqlCredentials">
      <xs:sequence>
        <xs:element minOccurs="0" name="instancesCredentials" nillable="true" type="tns:instancesCredentials" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="sqlCredentials" nillable="true" type="tns:sqlCredentials" />
    <xs:complexType name="instancesCredentials">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="instanceCredentials" nillable="true" type="tns:instanceCredentials" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="instancesCredentials" nillable="true" type="tns:instancesCredentials" />
    <xs:complexType name="relatedServerAgentDescriptor">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:agentDescriptor">
          <xs:sequence>
            <xs:element minOccurs="0" name="hyperVHostName" nillable="true" type="xs:string" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="relatedServerAgentDescriptor" nillable="true" type="tns:relatedServerAgentDescriptor" />
    <xs:complexType name="excludedFilesSettings">
      <xs:sequence>
        <xs:element minOccurs="0" name="useDefaultSettings" type="xs:boolean" />
        <xs:element minOccurs="0" name="isExcludeDeletedBlocks" type="xs:boolean" />
        <xs:element minOccurs="0" name="isExcludeSwapFiles" type="xs:boolean" />
        <xs:element minOccurs="0" name="isExcludeSubdirectories" type="xs:boolean" />
        <xs:element minOccurs="0" name="excludedFilesAndFolders" nillable="true" type="tns:excludedFileAndFolderCollection" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="excludedFilesSettings" nillable="true" type="tns:excludedFilesSettings" />
    <xs:complexType name="excludedFileAndFolderCollection">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="excludedFileAndFolder" nillable="true" type="tns:excludedFileAndFolder" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="excludedFileAndFolderCollection" nillable="true" type="tns:excludedFileAndFolderCollection" />
    <xs:complexType name="excludedFileAndFolder">
      <xs:sequence>
        <xs:element minOccurs="0" name="excludedFileAndFolderPath" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="volumeName" nillable="true" type="tns:volumeName" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="excludedFileAndFolder" nillable="true" type="tns:excludedFileAndFolder" />
    <xs:complexType name="addClusterRequest">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:addAgentRequest">
          <xs:sequence>
            <xs:element minOccurs="0" name="clusterNodesToProtect" nillable="true" type="tns:addAgentRequests" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="addClusterRequest" nillable="true" type="tns:addClusterRequest" />
    <xs:complexType name="addAgentRequests">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="addAgentRequest" nillable="true" type="tns:addAgentRequest" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="addAgentRequests" nillable="true" type="tns:addAgentRequests" />
    <xs:complexType name="hyperVProtectionRules">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:protectionRules">
          <xs:sequence>
            <xs:element minOccurs="0" name="installAgent" type="xs:boolean" />
            <xs:element minOccurs="0" name="protectShareowner" type="xs:boolean" />
            <xs:element minOccurs="0" name="protectWithoutUnsupportedDisk" type="xs:boolean" />
            <xs:element minOccurs="0" name="upgradeAgent" type="xs:boolean" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="hyperVProtectionRules" nillable="true" type="tns:hyperVProtectionRules" />
    <xs:complexType name="protectionRules">
      <xs:sequence>
        <xs:element minOccurs="0" name="protectAgentlessly" type="xs:boolean" />
        <xs:element minOccurs="0" name="protectOrphaned" type="xs:boolean" />
        <xs:element minOccurs="0" name="protectWithRecoveryPoints" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
    <xs:element name="protectionRules" nillable="true" type="tns:protectionRules" />
    <xs:complexType name="esxProtectionRules">
      <xs:complexContent mixed="false">
        <xs:extension base="tns:protectionRules">
          <xs:sequence>
            <xs:element minOccurs="0" name="deleteOldSnapshots" type="xs:boolean" />
            <xs:element minOccurs="0" name="protectPairedToAnotherCore" type="xs:boolean" />
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    <xs:element name="esxProtectionRules" nillable="true" type="tns:esxProtectionRules" />
  </xs:schema>
  <xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Transfer" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Transfer" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="ProtectionPauseType">
      <xs:restriction base="xs:string">
        <xs:enumeration value="None" />
        <xs:enumeration value="PauseUntilResumed" />
        <xs:enumeration value="PauseUntilTime" />
      </xs:restriction>
    </xs:simpleType>
    <xs:element name="ProtectionPauseType" nillable="true" type="tns:ProtectionPauseType" />
  </xs:schema>
  <xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Agents" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.Agents" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
    <xs:simpleType name="AgentType">
      <xs:restriction base="xs:string">
        <xs:enumeration value="Protected" />
        <xs:enumeration value="Replicated" />
        <xs:enumeration value="PendingFailover" />
        <xs:enumeration value="Failover" />
        <xs:enumeration value="ClusterNode" />
        <xs:enumeration value="Cluster" />
        <xs:enumeration value="RecoveryPointsOnly" />
        <xs:enumeration value="EsxServer" />
        <xs:enumeration value="EsxVirtualMachine" />
        <xs:enumeration value="Backup" />
        <xs:enumeration value="Unknown" />
        <xs:enumeration value="HyperVServer" />
        <xs:enumeration value="HyperVVirtualMachine" />
        <xs:enumeration value="HyperVCluster" />
      </xs:restriction>
    </xs:simpleType>
    <xs:element name="AgentType" nillable="true" type="tns:AgentType" />
    <xs:simpleType name="MachineFlags">
      <xs:annotation>
        <xs:appinfo>
          <ActualType Name="long" Namespace="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
        </xs:appinfo>
      </xs:annotation>
      <xs:list>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="None">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">0</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Agent">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Cluster">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ClusterNode">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">4</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EsxServer">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">8</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EsxVirtualMachine">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">16</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HyperVServer">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">32</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HyperVVirtualMachine">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">64</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SmbServer">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">128</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:list>
    </xs:simpleType>
    <xs:element name="MachineFlags" nillable="true" type="tns:MachineFlags" />
  </xs:schema>
  <xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.PushInstall" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Replay.Core.Contracts.PushInstall" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
    <xs:simpleType name="DeployAction">
      <xs:list>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="None">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">0</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Install">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Uninstall">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="WaitForAgentOnline">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">4</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Protect">
              <xs:annotation>
                <xs:appinfo>
                  <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">8</EnumerationValue>
                </xs:appinfo>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:list>
    </xs:simpleType>
    <xs:element name="DeployAction" nillable="true" type="tns:DeployAction" />
  </xs:schema>
</Schemas>

The following is the response XML Schema:

<?xml version="1.0" encoding="utf-16"?>
<Schemas>
  <xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="anyType" nillable="true" type="xs:anyType" />
    <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
    <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
    <xs:element name="boolean" nillable="true" type="xs:boolean" />
    <xs:element name="byte" nillable="true" type="xs:byte" />
    <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
    <xs:element name="decimal" nillable="true" type="xs:decimal" />
    <xs:element name="double" nillable="true" type="xs:double" />
    <xs:element name="float" nillable="true" type="xs:float" />
    <xs:element name="int" nillable="true" type="xs:int" />
    <xs:element name="long" nillable="true" type="xs:long" />
    <xs:element name="QName" nillable="true" type="xs:QName" />
    <xs:element name="short" nillable="true" type="xs:short" />
    <xs:element name="string" nillable="true" type="xs:string" />
    <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
    <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
    <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
    <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
    <xs:element name="char" nillable="true" type="tns:char" />
    <xs:simpleType name="char">
      <xs:restriction base="xs:int" />
    </xs:simpleType>
    <xs:element name="duration" nillable="true" type="tns:duration" />
    <xs:simpleType name="duration">
      <xs:restriction base="xs:duration">
        <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
        <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
        <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
      </xs:restriction>
    </xs:simpleType>
    <xs:element name="guid" nillable="true" type="tns:guid" />
    <xs:simpleType name="guid">
      <xs:restriction base="xs:string">
        <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
      </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="FactoryType" type="xs:QName" />
    <xs:attribute name="Id" type="xs:ID" />
    <xs:attribute name="Ref" type="xs:IDREF" />
  </xs:schema>
</Schemas>