<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ec2.amazonaws.com/doc/2010-11-15/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://ec2.amazonaws.com/doc/2010-11-15/">
  <types>
    <xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://ec2.amazonaws.com/doc/2010-11-15/" targetNamespace="http://ec2.amazonaws.com/doc/2010-11-15/" elementFormDefault="qualified">
      <xs:element name="CreateImage" type="tns:CreateImageType"/>
      <xs:complexType name="CreateImageType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="name" type="xs:string"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="noReboot" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateImageResponse" type="tns:CreateImageResponseType"/>
      <xs:complexType name="CreateImageResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="imageId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductCodeType">
        <xs:sequence>
          <xs:element name="productCode" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductCodeSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ProductCodeType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RegisterImage" type="tns:RegisterImageType"/>
      <xs:element name="RegisterImageResponse" type="tns:RegisterImageResponseType"/>
      <xs:complexType name="RegisterImageType">
        <xs:sequence>
          <xs:element name="imageLocation" type="xs:string" minOccurs="0"/>
          <xs:element name="name" type="xs:string"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="architecture" type="xs:string" minOccurs="0"/>
          <xs:element name="kernelId" type="xs:string" minOccurs="0"/>
          <xs:element name="ramdiskId" type="xs:string" minOccurs="0"/>
          <xs:element name="rootDeviceName" type="xs:string" minOccurs="0"/>
          <xs:element name="blockDeviceMapping" type="tns:BlockDeviceMappingType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RegisterImageResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="imageId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeregisterImage" type="tns:DeregisterImageType"/>
      <xs:complexType name="DeregisterImageType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeregisterImageResponse" type="tns:DeregisterImageResponseType"/>
      <xs:complexType name="DeregisterImageResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateKeyPair" type="tns:CreateKeyPairType"/>
      <xs:complexType name="CreateKeyPairType">
        <xs:sequence>
          <xs:element name="keyName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateKeyPairResponse" type="tns:CreateKeyPairResponseType"/>
      <xs:complexType name="CreateKeyPairResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="keyName" type="xs:string"/>
          <xs:element name="keyFingerprint" type="xs:string"/>
          <xs:element name="keyMaterial" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ImportKeyPair" type="tns:ImportKeyPairType"/>
      <xs:element name="ImportKeyPairResponse" type="tns:ImportKeyPairResponseType"/>
      <xs:complexType name="ImportKeyPairType">
        <xs:sequence>
          <xs:element name="keyName" type="xs:string"/>
          <xs:element name="publicKeyMaterial" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportKeyPairResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="keyName" type="xs:string"/>
          <xs:element name="keyFingerprint" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteKeyPair" type="tns:DeleteKeyPairType"/>
      <xs:complexType name="DeleteKeyPairType">
        <xs:sequence>
          <xs:element name="keyName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteKeyPairResponse" type="tns:DeleteKeyPairResponseType"/>
      <xs:complexType name="DeleteKeyPairResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeKeyPairs" type="tns:DescribeKeyPairsType"/>
      <xs:complexType name="DescribeKeyPairsType">
        <xs:sequence>
          <xs:element name="keySet" type="tns:DescribeKeyPairsInfoType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeKeyPairsInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeKeyPairsItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeKeyPairsItemType">
        <xs:sequence>
          <xs:element name="keyName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeKeyPairsResponse" type="tns:DescribeKeyPairsResponseType"/>
      <xs:complexType name="DescribeKeyPairsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="keySet" type="tns:DescribeKeyPairsResponseInfoType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeKeyPairsResponseInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeKeyPairsResponseItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeKeyPairsResponseItemType">
        <xs:sequence>
          <xs:element name="keyName" type="xs:string"/>
          <xs:element name="keyFingerprint" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RunInstances" type="tns:RunInstancesType"/>
      <xs:complexType name="RunInstancesType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:element name="minCount" type="xs:int"/>
          <xs:element name="maxCount" type="xs:int"/>
          <xs:element name="keyName" type="xs:string" minOccurs="0"/>
          <xs:element name="groupSet" type="tns:GroupSetType"/>
          <xs:element name="additionalInfo" type="xs:string" minOccurs="0"/>
          <xs:element name="userData" type="tns:UserDataType" minOccurs="0"/>
          <xs:element name="addressingType" type="xs:string" minOccurs="0"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="placement" type="tns:PlacementRequestType" minOccurs="0"/>
          <xs:element name="kernelId" type="xs:string" minOccurs="0"/>
          <xs:element name="ramdiskId" type="xs:string" minOccurs="0"/>
          <xs:element name="blockDeviceMapping" type="tns:BlockDeviceMappingType" minOccurs="0"/>
          <xs:element name="monitoring" type="tns:MonitoringInstanceType" minOccurs="0"/>
          <xs:element name="subnetId" type="xs:string" minOccurs="0"/>
          <xs:element name="disableApiTermination" type="xs:boolean" minOccurs="0"/>
          <xs:element name="instanceInitiatedShutdownBehavior" type="xs:string" minOccurs="0"/>
          <xs:element name="license" type="tns:InstanceLicenseRequestType" minOccurs="0"/>
          <xs:element name="privateIpAddress" type="xs:string" minOccurs="0"/>
          <xs:element name="clientToken" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GroupSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:GroupItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GroupItemType">
        <xs:sequence>
          <xs:element name="groupId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="UserDataType" mixed="true">
        <xs:sequence>
          <xs:element name="data" type="xs:string" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="version" type="xs:string" use="required" fixed="1.0"/>
        <xs:attribute name="encoding" type="xs:string" use="required" fixed="base64"/>
      </xs:complexType>
      <xs:complexType name="BlockDeviceMappingType">
        <xs:sequence>
          <xs:element name="item" type="tns:BlockDeviceMappingItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="BlockDeviceMappingItemType">
        <xs:sequence>
          <xs:element name="deviceName" type="xs:string"/>
          <xs:choice>
            <xs:element name="virtualName" type="xs:string"/>
            <xs:element name="ebs" type="tns:EbsBlockDeviceType"/>
            <xs:element name="noDevice" type="tns:EmptyElementType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="EbsBlockDeviceType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string" minOccurs="0"/>
          <xs:element name="volumeSize" type="xs:int" minOccurs="0"/>
          <xs:element name="deleteOnTermination" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="PlacementRequestType">
        <xs:sequence>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="0"/>
          <xs:element name="groupName" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstancePlacementType">
        <xs:sequence>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="groupName" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MonitoringInstanceType">
        <xs:sequence>
          <xs:element name="enabled" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceLicenseRequestType">
        <xs:sequence>
          <xs:element name="pool" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RunInstancesResponse" type="tns:RunInstancesResponseType"/>
      <xs:complexType name="RunInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="reservationId" type="xs:string"/>
          <xs:element name="ownerId" type="xs:string"/>
          <xs:element name="groupSet" type="tns:GroupSetType"/>
          <xs:element name="instancesSet" type="tns:RunningInstancesSetType"/>
          <xs:element name="requesterId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ReservationInfoType">
        <xs:sequence>
          <xs:element name="reservationId" type="xs:string"/>
          <xs:element name="ownerId" type="xs:string"/>
          <xs:element name="groupSet" type="tns:GroupSetType"/>
          <xs:element name="instancesSet" type="tns:RunningInstancesSetType"/>
          <xs:element name="requesterId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RunningInstancesSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:RunningInstancesItemType" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RunningInstancesItemType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="imageId" type="xs:string" minOccurs="0"/>
          <xs:element name="instanceState" type="tns:InstanceStateType"/>
          <xs:element name="privateDnsName" type="xs:string"/>
          <xs:element name="dnsName" type="xs:string" minOccurs="0"/>
          <xs:element name="reason" type="xs:string" minOccurs="0"/>
          <xs:element name="keyName" type="xs:string" minOccurs="0"/>
          <xs:element name="amiLaunchIndex" type="xs:string" minOccurs="0"/>
          <xs:element name="productCodes" type="tns:ProductCodesSetType" minOccurs="0"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="launchTime" type="xs:dateTime"/>
          <xs:element name="placement" type="tns:PlacementResponseType" minOccurs="0"/>
          <xs:element name="kernelId" type="xs:string" minOccurs="0"/>
          <xs:element name="ramdiskId" type="xs:string" minOccurs="0"/>
          <xs:element name="platform" type="xs:string" minOccurs="0"/>
          <xs:element name="monitoring" type="tns:InstanceMonitoringStateType" minOccurs="0"/>
          <xs:element name="subnetId" type="xs:string" minOccurs="0"/>
          <xs:element name="vpcId" type="xs:string" minOccurs="0"/>
          <xs:element name="privateIpAddress" type="xs:string" minOccurs="0"/>
          <xs:element name="ipAddress" type="xs:string" minOccurs="0"/>
          <xs:element name="stateReason" type="tns:StateReasonType" minOccurs="0"/>
          <xs:element name="architecture" type="xs:string" minOccurs="0"/>
          <xs:element name="rootDeviceType" type="xs:string" minOccurs="0"/>
          <xs:element name="rootDeviceName" type="xs:string" minOccurs="0"/>
          <xs:element name="blockDeviceMapping" type="tns:InstanceBlockDeviceMappingResponseType" minOccurs="0"/>
          <xs:element name="instanceLifecycle" type="xs:string" minOccurs="0"/>
          <xs:element name="spotInstanceRequestId" type="xs:string" minOccurs="0"/>
          <xs:element name="license" type="tns:InstanceLicenseResponseType" minOccurs="0"/>
          <xs:element name="virtualizationType" type="xs:string" minOccurs="0"/>
          <xs:element name="clientToken" type="xs:string" minOccurs="0"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
          <xs:element name="hypervisor" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="PlacementResponseType">
        <xs:sequence>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="groupName" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="StateReasonType">
        <xs:sequence>
          <xs:element name="code" type="xs:string"/>
          <xs:element name="message" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceBlockDeviceMappingResponseType">
        <xs:sequence>
          <xs:element name="item" type="tns:InstanceBlockDeviceMappingResponseItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceBlockDeviceMappingResponseItemType">
        <xs:sequence>
          <xs:element name="deviceName" type="xs:string"/>
          <xs:choice>
            <xs:element name="ebs" type="tns:EbsInstanceBlockDeviceMappingResponseType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="EbsInstanceBlockDeviceMappingResponseType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="attachTime" type="xs:dateTime"/>
          <xs:element name="deleteOnTermination" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceLicenseResponseType">
        <xs:sequence>
          <xs:element name="pool" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="GetConsoleOutput" type="tns:GetConsoleOutputType"/>
      <xs:complexType name="GetConsoleOutputType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="GetConsoleOutputResponse" type="tns:GetConsoleOutputResponseType"/>
      <xs:complexType name="GetConsoleOutputResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="timestamp" type="xs:dateTime"/>
          <xs:element name="output" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="GetPasswordData" type="tns:GetPasswordDataType"/>
      <xs:complexType name="GetPasswordDataType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="GetPasswordDataResponse" type="tns:GetPasswordDataResponseType"/>
      <xs:complexType name="GetPasswordDataResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="timestamp" type="xs:dateTime"/>
          <xs:element name="passwordData" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceIdType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:InstanceIdType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceStateChangeType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="currentState" type="tns:InstanceStateType"/>
          <xs:element name="previousState" type="tns:InstanceStateType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceStateChangeSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:InstanceStateChangeType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="TerminateInstances" type="tns:TerminateInstancesType"/>
      <xs:element name="TerminateInstancesResponse" type="tns:TerminateInstancesResponseType"/>
      <xs:complexType name="TerminateInstancesType">
        <xs:sequence>
          <xs:element name="instancesSet" type="tns:InstanceIdSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TerminateInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instancesSet" type="tns:InstanceStateChangeSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceBlockDeviceMappingType">
        <xs:sequence>
          <xs:element name="item" type="tns:InstanceBlockDeviceMappingItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceBlockDeviceMappingItemType">
        <xs:sequence>
          <xs:element name="deviceName" type="xs:string"/>
          <xs:choice>
            <xs:element name="virtualName" type="xs:string"/>
            <xs:element name="ebs" type="tns:InstanceEbsBlockDeviceType"/>
            <xs:element name="noDevice" type="tns:EmptyElementType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceEbsBlockDeviceType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="deleteOnTermination" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="StopInstances" type="tns:StopInstancesType"/>
      <xs:element name="StopInstancesResponse" type="tns:StopInstancesResponseType"/>
      <xs:complexType name="StopInstancesType">
        <xs:sequence>
          <xs:element name="instancesSet" type="tns:InstanceIdSetType"/>
          <xs:element name="force" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="StopInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instancesSet" type="tns:InstanceStateChangeSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="StartInstances" type="tns:StartInstancesType"/>
      <xs:element name="StartInstancesResponse" type="tns:StartInstancesResponseType"/>
      <xs:complexType name="StartInstancesType">
        <xs:sequence>
          <xs:element name="instancesSet" type="tns:InstanceIdSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="StartInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instancesSet" type="tns:InstanceStateChangeSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RebootInstances" type="tns:RebootInstancesType"/>
      <xs:complexType name="RebootInstancesType">
        <xs:sequence>
          <xs:element name="instancesSet" type="tns:RebootInstancesInfoType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RebootInstancesInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:RebootInstancesItemType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RebootInstancesItemType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RebootInstancesResponse" type="tns:RebootInstancesResponseType"/>
      <xs:complexType name="RebootInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeInstances" type="tns:DescribeInstancesType"/>
      <xs:complexType name="DescribeInstancesType">
        <xs:sequence>
          <xs:element name="instancesSet" type="tns:DescribeInstancesInfoType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeInstancesInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeInstancesItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeInstancesItemType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeInstancesResponse" type="tns:DescribeInstancesResponseType"/>
      <xs:complexType name="DescribeInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="reservationSet" type="tns:ReservationSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ReservationSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ReservationInfoType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeImages" type="tns:DescribeImagesType"/>
      <xs:complexType name="DescribeImagesType">
        <xs:sequence>
          <xs:element name="executableBySet" type="tns:DescribeImagesExecutableBySetType" minOccurs="0"/>
          <xs:element name="imagesSet" type="tns:DescribeImagesInfoType"/>
          <xs:element name="ownersSet" type="tns:DescribeImagesOwnersType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeImagesItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesItemType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesOwnersType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeImagesOwnerType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesOwnerType">
        <xs:sequence>
          <xs:element name="owner" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesExecutableBySetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeImagesExecutableByType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesExecutableByType">
        <xs:sequence>
          <xs:element name="user" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeImagesResponse" type="tns:DescribeImagesResponseType"/>
      <xs:complexType name="DescribeImagesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="imagesSet" type="tns:DescribeImagesResponseInfoType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesResponseInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeImagesResponseItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeImagesResponseItemType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:element name="imageLocation" type="xs:string" minOccurs="0"/>
          <xs:element name="imageState" type="xs:string"/>
          <xs:element name="imageOwnerId" type="xs:string"/>
          <xs:element name="isPublic" type="xs:boolean"/>
          <xs:element name="productCodes" type="tns:ProductCodesSetType" minOccurs="0"/>
          <xs:element name="architecture" type="xs:string" minOccurs="0"/>
          <xs:element name="imageType" type="xs:string" minOccurs="0"/>
          <xs:element name="kernelId" type="xs:string" minOccurs="0"/>
          <xs:element name="ramdiskId" type="xs:string" minOccurs="0"/>
          <xs:element name="platform" type="xs:string" minOccurs="0"/>
          <xs:element name="stateReason" type="tns:StateReasonType" minOccurs="0"/>
          <xs:element name="imageOwnerAlias" type="xs:string" minOccurs="0"/>
          <xs:element name="name" type="xs:string" minOccurs="0"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="rootDeviceType" type="xs:string" minOccurs="0"/>
          <xs:element name="rootDeviceName" type="xs:string" minOccurs="0"/>
          <xs:element name="blockDeviceMapping" type="tns:BlockDeviceMappingType" minOccurs="0"/>
          <xs:element name="virtualizationType" type="xs:string" minOccurs="0"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
          <xs:element name="hypervisor" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateSecurityGroup" type="tns:CreateSecurityGroupType"/>
      <xs:complexType name="CreateSecurityGroupType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
          <xs:element name="groupDescription" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateSecurityGroupResponse" type="tns:CreateSecurityGroupResponseType"/>
      <xs:complexType name="CreateSecurityGroupResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteSecurityGroup" type="tns:DeleteSecurityGroupType"/>
      <xs:complexType name="DeleteSecurityGroupType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteSecurityGroupResponse" type="tns:DeleteSecurityGroupResponseType"/>
      <xs:complexType name="DeleteSecurityGroupResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeSecurityGroups" type="tns:DescribeSecurityGroupsType"/>
      <xs:complexType name="DescribeSecurityGroupsType">
        <xs:sequence>
          <xs:element name="securityGroupSet" type="tns:DescribeSecurityGroupsSetType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSecurityGroupsSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeSecurityGroupsSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSecurityGroupsSetItemType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeSecurityGroupsResponse" type="tns:DescribeSecurityGroupsResponseType"/>
      <xs:complexType name="DescribeSecurityGroupsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="securityGroupInfo" type="tns:SecurityGroupSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="IpPermissionSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:IpPermissionType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="IpPermissionType">
        <xs:sequence>
          <xs:element name="ipProtocol" type="xs:string"/>
          <xs:element name="fromPort" type="xs:int"/>
          <xs:element name="toPort" type="xs:int"/>
          <xs:element name="groups" type="tns:UserIdGroupPairSetType"/>
          <xs:element name="ipRanges" type="tns:IpRangeSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="IpRangeSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:IpRangeItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="IpRangeItemType">
        <xs:sequence>
          <xs:element name="cidrIp" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="UserIdGroupPairSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:UserIdGroupPairType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="UserIdGroupPairType">
        <xs:sequence>
          <xs:element name="userId" type="xs:string"/>
          <xs:element name="groupName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SecurityGroupSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:SecurityGroupItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SecurityGroupItemType">
        <xs:sequence>
          <xs:element name="ownerId" type="xs:string"/>
          <xs:element name="groupName" type="xs:string"/>
          <xs:element name="groupDescription" type="xs:string"/>
          <xs:element name="ipPermissions" type="tns:IpPermissionSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AuthorizeSecurityGroupIngress" type="tns:AuthorizeSecurityGroupIngressType"/>
      <xs:complexType name="AuthorizeSecurityGroupIngressType">
        <xs:sequence>
          <xs:element name="userId" type="xs:string"/>
          <xs:element name="groupName" type="xs:string"/>
          <xs:element name="ipPermissions" type="tns:IpPermissionSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AuthorizeSecurityGroupIngressResponse" type="tns:AuthorizeSecurityGroupIngressResponseType"/>
      <xs:complexType name="AuthorizeSecurityGroupIngressResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RevokeSecurityGroupIngress" type="tns:RevokeSecurityGroupIngressType"/>
      <xs:complexType name="RevokeSecurityGroupIngressType">
        <xs:sequence>
          <xs:element name="userId" type="xs:string"/>
          <xs:element name="groupName" type="xs:string"/>
          <xs:element name="ipPermissions" type="tns:IpPermissionSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RevokeSecurityGroupIngressResponse" type="tns:RevokeSecurityGroupIngressResponseType"/>
      <xs:complexType name="RevokeSecurityGroupIngressResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceStateType">
        <xs:sequence>
          <xs:element name="code" type="xs:int"/>
          <xs:element name="name" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ModifyInstanceAttribute" type="tns:ModifyInstanceAttributeType"/>
      <xs:complexType name="ModifyInstanceAttributeType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:choice>
            <xs:element name="instanceType" type="tns:AttributeValueType"/>
            <xs:element name="kernel" type="tns:AttributeValueType"/>
            <xs:element name="ramdisk" type="tns:AttributeValueType"/>
            <xs:element name="userData" type="tns:AttributeValueType"/>
            <xs:element name="disableApiTermination" type="tns:AttributeBooleanValueType"/>
            <xs:element name="instanceInitiatedShutdownBehavior" type="tns:AttributeValueType"/>
            <xs:element name="blockDeviceMapping" type="tns:InstanceBlockDeviceMappingType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ModifyInstanceAttributeResponse" type="tns:ModifyInstanceAttributeResponseType"/>
      <xs:complexType name="ModifyInstanceAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ResetInstanceAttribute" type="tns:ResetInstanceAttributeType"/>
      <xs:complexType name="ResetInstanceAttributeType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:group ref="tns:ResetInstanceAttributesGroup"/>
        </xs:sequence>
      </xs:complexType>
      <xs:group name="ResetInstanceAttributesGroup">
        <xs:choice>
          <xs:element name="kernel" type="tns:EmptyElementType"/>
          <xs:element name="ramdisk" type="tns:EmptyElementType"/>
        </xs:choice>
      </xs:group>
      <xs:element name="ResetInstanceAttributeResponse" type="tns:ResetInstanceAttributeResponseType"/>
      <xs:complexType name="ResetInstanceAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeInstanceAttribute" type="tns:DescribeInstanceAttributeType"/>
      <xs:complexType name="DescribeInstanceAttributeType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:group ref="tns:DescribeInstanceAttributesGroup"/>
        </xs:sequence>
      </xs:complexType>
      <xs:group name="DescribeInstanceAttributesGroup">
        <xs:choice>
          <xs:element name="instanceType" type="tns:EmptyElementType"/>
          <xs:element name="kernel" type="tns:EmptyElementType"/>
          <xs:element name="ramdisk" type="tns:EmptyElementType"/>
          <xs:element name="userData" type="tns:EmptyElementType"/>
          <xs:element name="disableApiTermination" type="tns:EmptyElementType"/>
          <xs:element name="instanceInitiatedShutdownBehavior" type="tns:EmptyElementType"/>
          <xs:element name="rootDeviceName" type="tns:EmptyElementType"/>
          <xs:element name="blockDeviceMapping" type="tns:EmptyElementType"/>
        </xs:choice>
      </xs:group>
      <xs:element name="DescribeInstanceAttributeResponse" type="tns:DescribeInstanceAttributeResponseType"/>
      <xs:complexType name="DescribeInstanceAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:choice>
            <xs:element name="instanceType" type="tns:NullableAttributeValueType"/>
            <xs:element name="kernel" type="tns:NullableAttributeValueType"/>
            <xs:element name="ramdisk" type="tns:NullableAttributeValueType"/>
            <xs:element name="userData" type="tns:NullableAttributeValueType"/>
            <xs:element name="disableApiTermination" type="tns:NullableAttributeBooleanValueType"/>
            <xs:element name="instanceInitiatedShutdownBehavior" type="tns:NullableAttributeValueType"/>
            <xs:element name="rootDeviceName" type="tns:NullableAttributeValueType"/>
            <xs:element name="blockDeviceMapping" type="tns:InstanceBlockDeviceMappingResponseType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ModifyImageAttribute" type="tns:ModifyImageAttributeType"/>
      <xs:complexType name="ModifyImageAttributeType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:choice>
            <xs:element name="launchPermission" type="tns:LaunchPermissionOperationType"/>
            <xs:element name="productCodes" type="tns:ProductCodeListType"/>
            <xs:element name="description" type="tns:AttributeValueType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LaunchPermissionOperationType">
        <xs:choice>
          <xs:element name="add" type="tns:LaunchPermissionListType"/>
          <xs:element name="remove" type="tns:LaunchPermissionListType"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="LaunchPermissionListType">
        <xs:sequence>
          <xs:element name="item" type="tns:LaunchPermissionItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LaunchPermissionItemType">
        <xs:choice>
          <xs:element name="userId" type="xs:string"/>
          <xs:element name="group" type="xs:string"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="ProductCodeListType">
        <xs:sequence>
          <xs:element name="item" type="tns:ProductCodeItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductCodeItemType">
        <xs:choice>
          <xs:element name="productCode" type="xs:string"/>
        </xs:choice>
      </xs:complexType>
      <xs:element name="ModifyImageAttributeResponse" type="tns:ModifyImageAttributeResponseType"/>
      <xs:complexType name="ModifyImageAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ResetImageAttribute" type="tns:ResetImageAttributeType"/>
      <xs:complexType name="ResetImageAttributeType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:group ref="tns:ResetImageAttributesGroup"/>
        </xs:sequence>
      </xs:complexType>
      <xs:group name="ResetImageAttributesGroup">
        <xs:choice>
          <xs:element name="launchPermission" type="tns:EmptyElementType"/>
        </xs:choice>
      </xs:group>
      <xs:complexType name="EmptyElementType"/>
      <xs:element name="ResetImageAttributeResponse" type="tns:ResetImageAttributeResponseType"/>
      <xs:complexType name="ResetImageAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeImageAttribute" type="tns:DescribeImageAttributeType"/>
      <xs:complexType name="DescribeImageAttributeType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:group ref="tns:DescribeImageAttributesGroup"/>
        </xs:sequence>
      </xs:complexType>
      <xs:group name="DescribeImageAttributesGroup">
        <xs:choice>
          <xs:element name="launchPermission" type="tns:EmptyElementType"/>
          <xs:element name="productCodes" type="tns:EmptyElementType"/>
          <xs:element name="kernel" type="tns:EmptyElementType"/>
          <xs:element name="ramdisk" type="tns:EmptyElementType"/>
          <xs:element name="blockDeviceMapping" type="tns:EmptyElementType"/>
          <xs:element name="description" type="tns:EmptyElementType"/>
        </xs:choice>
      </xs:group>
      <xs:element name="DescribeImageAttributeResponse" type="tns:DescribeImageAttributeResponseType"/>
      <xs:complexType name="DescribeImageAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="imageId" type="xs:string"/>
          <xs:choice>
            <xs:element name="launchPermission" type="tns:LaunchPermissionListType"/>
            <xs:element name="productCodes" type="tns:ProductCodeListType"/>
            <xs:element name="kernel" type="tns:NullableAttributeValueType"/>
            <xs:element name="ramdisk" type="tns:NullableAttributeValueType"/>
            <xs:element name="description" type="tns:NullableAttributeValueType"/>
            <xs:element name="blockDeviceMapping" type="tns:BlockDeviceMappingType"/>
          </xs:choice>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NullableAttributeValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NullableAttributeBooleanValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttributeValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttributeBooleanValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ConfirmProductInstance" type="tns:ConfirmProductInstanceType"/>
      <xs:complexType name="ConfirmProductInstanceType">
        <xs:sequence>
          <xs:element name="productCode" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductCodesSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ProductCodesSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductCodesSetItemType">
        <xs:sequence>
          <xs:element name="productCode" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ConfirmProductInstanceResponse" type="tns:ConfirmProductInstanceResponseType"/>
      <xs:complexType name="ConfirmProductInstanceResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
          <xs:element name="ownerId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeAvailabilityZones" type="tns:DescribeAvailabilityZonesType"/>
      <xs:complexType name="DescribeAvailabilityZonesType">
        <xs:sequence>
          <xs:element name="availabilityZoneSet" type="tns:DescribeAvailabilityZonesSetType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeAvailabilityZonesSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeAvailabilityZonesSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeAvailabilityZonesSetItemType">
        <xs:sequence>
          <xs:element name="zoneName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeAvailabilityZonesResponse" type="tns:DescribeAvailabilityZonesResponseType"/>
      <xs:complexType name="DescribeAvailabilityZonesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="availabilityZoneInfo" type="tns:AvailabilityZoneSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AvailabilityZoneSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:AvailabilityZoneItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AvailabilityZoneMessageType">
        <xs:sequence>
          <xs:element name="message" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AvailabilityZoneMessageSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:AvailabilityZoneMessageType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AvailabilityZoneItemType">
        <xs:sequence>
          <xs:element name="zoneName" type="xs:string"/>
          <xs:element name="zoneState" type="xs:string"/>
          <xs:element name="regionName" type="xs:string"/>
          <xs:element name="messageSet" type="tns:AvailabilityZoneMessageSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AllocateAddress" type="tns:AllocateAddressType"/>
      <xs:complexType name="AllocateAddressType"/>
      <xs:element name="AllocateAddressResponse" type="tns:AllocateAddressResponseType"/>
      <xs:complexType name="AllocateAddressResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="publicIp" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ReleaseAddress" type="tns:ReleaseAddressType"/>
      <xs:complexType name="ReleaseAddressType">
        <xs:sequence>
          <xs:element name="publicIp" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ReleaseAddressResponse" type="tns:ReleaseAddressResponseType"/>
      <xs:complexType name="ReleaseAddressResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeAddresses" type="tns:DescribeAddressesType"/>
      <xs:complexType name="DescribeAddressesType">
        <xs:sequence>
          <xs:element name="publicIpsSet" type="tns:DescribeAddressesInfoType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeAddressesInfoType">
        <xs:sequence>
          <xs:element name="item" maxOccurs="unbounded" minOccurs="0" type="tns:DescribeAddressesItemType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeAddressesItemType">
        <xs:sequence>
          <xs:element name="publicIp" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeAddressesResponse" type="tns:DescribeAddressesResponseType"/>
      <xs:complexType name="DescribeAddressesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="addressesSet" type="tns:DescribeAddressesResponseInfoType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeAddressesResponseInfoType">
        <xs:sequence>
          <xs:element name="item" maxOccurs="unbounded" minOccurs="0" type="tns:DescribeAddressesResponseItemType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeAddressesResponseItemType">
        <xs:sequence>
          <xs:element name="publicIp" type="xs:string"/>
          <xs:element name="instanceId" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AssociateAddress" type="tns:AssociateAddressType"/>
      <xs:complexType name="AssociateAddressType">
        <xs:sequence>
          <xs:element name="publicIp" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AssociateAddressResponse" type="tns:AssociateAddressResponseType"/>
      <xs:complexType name="AssociateAddressResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DisassociateAddress" type="tns:DisassociateAddressType"/>
      <xs:complexType name="DisassociateAddressType">
        <xs:sequence>
          <xs:element name="publicIp" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DisassociateAddressResponse" type="tns:DisassociateAddressResponseType"/>
      <xs:complexType name="DisassociateAddressResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateVolume" type="tns:CreateVolumeType"/>
      <xs:complexType name="CreateVolumeType">
        <xs:sequence>
          <xs:element name="size" type="xs:string" minOccurs="0"/>
          <xs:element name="snapshotId" type="xs:string" minOccurs="0"/>
          <xs:element name="availabilityZone" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateVolumeResponse" type="tns:CreateVolumeResponseType"/>
      <xs:complexType name="CreateVolumeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="size" type="xs:string"/>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="createTime" type="xs:dateTime"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteVolume" type="tns:DeleteVolumeType"/>
      <xs:complexType name="DeleteVolumeType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteVolumeResponse" type="tns:DeleteVolumeResponseType"/>
      <xs:complexType name="DeleteVolumeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeVolumes" type="tns:DescribeVolumesType"/>
      <xs:complexType name="DescribeVolumesType">
        <xs:sequence>
          <xs:element name="volumeSet" type="tns:DescribeVolumesSetType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVolumesSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeVolumesSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVolumesSetItemType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeVolumesResponse" type="tns:DescribeVolumesResponseType"/>
      <xs:complexType name="DescribeVolumesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="volumeSet" type="tns:DescribeVolumesSetResponseType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVolumesSetResponseType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeVolumesSetItemResponseType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVolumesSetItemResponseType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="size" type="xs:string"/>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="createTime" type="xs:dateTime"/>
          <xs:element name="attachmentSet" type="tns:AttachmentSetResponseType"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttachmentSetResponseType">
        <xs:sequence>
          <xs:element name="item" type="tns:AttachmentSetItemResponseType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttachmentSetItemResponseType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="device" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="attachTime" type="xs:dateTime"/>
          <xs:element name="deleteOnTermination" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AttachVolume" type="tns:AttachVolumeType"/>
      <xs:complexType name="AttachVolumeType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="device" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="AttachVolumeResponse" type="tns:AttachVolumeResponseType"/>
      <xs:complexType name="AttachVolumeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="device" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="attachTime" type="xs:dateTime"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DetachVolume" type="tns:DetachVolumeType"/>
      <xs:complexType name="DetachVolumeType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string" minOccurs="0"/>
          <xs:element name="device" type="xs:string" minOccurs="0"/>
          <xs:element name="force" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DetachVolumeResponse" type="tns:DetachVolumeResponseType"/>
      <xs:complexType name="DetachVolumeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="device" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="attachTime" type="xs:dateTime"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateSnapshot" type="tns:CreateSnapshotType"/>
      <xs:complexType name="CreateSnapshotType">
        <xs:sequence>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateSnapshotResponse" type="tns:CreateSnapshotResponseType"/>
      <xs:complexType name="CreateSnapshotResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="startTime" type="xs:dateTime"/>
          <xs:element name="progress" type="xs:string"/>
          <xs:element name="ownerId" type="xs:string"/>
          <xs:element name="volumeSize" type="xs:string"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteSnapshot" type="tns:DeleteSnapshotType"/>
      <xs:complexType name="DeleteSnapshotType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeleteSnapshotResponse" type="tns:DeleteSnapshotResponseType"/>
      <xs:complexType name="DeleteSnapshotResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeSnapshots" type="tns:DescribeSnapshotsType"/>
      <xs:complexType name="DescribeSnapshotsType">
        <xs:sequence>
          <xs:element name="snapshotSet" type="tns:DescribeSnapshotsSetType"/>
          <xs:element name="ownersSet" type="tns:DescribeSnapshotsOwnersType" minOccurs="0"/>
          <xs:element name="restorableBySet" type="tns:DescribeSnapshotsRestorableBySetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeSnapshotsSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsSetItemType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsOwnersType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeSnapshotsOwnerType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsOwnerType">
        <xs:sequence>
          <xs:element name="owner" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsRestorableBySetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeSnapshotsRestorableByType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsRestorableByType">
        <xs:sequence>
          <xs:element name="user" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeSnapshotsResponse" type="tns:DescribeSnapshotsResponseType"/>
      <xs:complexType name="DescribeSnapshotsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="snapshotSet" type="tns:DescribeSnapshotsSetResponseType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsSetResponseType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeSnapshotsSetItemResponseType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSnapshotsSetItemResponseType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:element name="volumeId" type="xs:string"/>
          <xs:element name="status" type="xs:string"/>
          <xs:element name="startTime" type="xs:dateTime"/>
          <xs:element name="progress" type="xs:string"/>
          <xs:element name="ownerId" type="xs:string"/>
          <xs:element name="volumeSize" type="xs:string"/>
          <xs:element name="description" type="xs:string" minOccurs="0"/>
          <xs:element name="ownerAlias" type="xs:string" minOccurs="0"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ModifySnapshotAttribute" type="tns:ModifySnapshotAttributeType"/>
      <xs:complexType name="ModifySnapshotAttributeType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:element name="createVolumePermission" type="tns:CreateVolumePermissionOperationType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVolumePermissionOperationType">
        <xs:choice>
          <xs:element name="add" type="tns:CreateVolumePermissionListType"/>
          <xs:element name="remove" type="tns:CreateVolumePermissionListType"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="CreateVolumePermissionListType">
        <xs:sequence>
          <xs:element name="item" type="tns:CreateVolumePermissionItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVolumePermissionItemType">
        <xs:choice>
          <xs:element name="userId" type="xs:string"/>
          <xs:element name="group" type="xs:string"/>
        </xs:choice>
      </xs:complexType>
      <xs:element name="ModifySnapshotAttributeResponse" type="tns:ModifySnapshotAttributeResponseType"/>
      <xs:complexType name="ModifySnapshotAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ResetSnapshotAttribute" type="tns:ResetSnapshotAttributeType"/>
      <xs:complexType name="ResetSnapshotAttributeType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:group ref="tns:ResetSnapshotAttributesGroup"/>
        </xs:sequence>
      </xs:complexType>
      <xs:group name="ResetSnapshotAttributesGroup">
        <xs:choice>
          <xs:element name="createVolumePermission" type="tns:EmptyElementType"/>
        </xs:choice>
      </xs:group>
      <xs:element name="ResetSnapshotAttributeResponse" type="tns:ResetSnapshotAttributeResponseType"/>
      <xs:complexType name="ResetSnapshotAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeSnapshotAttribute" type="tns:DescribeSnapshotAttributeType"/>
      <xs:complexType name="DescribeSnapshotAttributeType">
        <xs:sequence>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:group ref="tns:DescribeSnapshotAttributesGroup"/>
        </xs:sequence>
      </xs:complexType>
      <xs:group name="DescribeSnapshotAttributesGroup">
        <xs:choice>
          <xs:element name="createVolumePermission" type="tns:EmptyElementType"/>
        </xs:choice>
      </xs:group>
      <xs:element name="DescribeSnapshotAttributeResponse" type="tns:DescribeSnapshotAttributeResponseType"/>
      <xs:complexType name="DescribeSnapshotAttributeResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="snapshotId" type="xs:string"/>
          <xs:element name="createVolumePermission" type="tns:CreateVolumePermissionListType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="BundleInstance" type="tns:BundleInstanceType"/>
      <xs:complexType name="BundleInstanceType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="storage" type="tns:BundleInstanceTaskStorageType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="BundleInstanceTaskStorageType">
        <xs:sequence>
          <xs:element name="S3" type="tns:BundleInstanceS3StorageType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="BundleInstanceS3StorageType">
        <xs:sequence>
          <xs:element name="bucket" type="xs:string"/>
          <xs:element name="prefix" type="xs:string"/>
          <xs:element name="awsAccessKeyId" type="xs:string" minOccurs="0"/>
          <xs:element name="uploadPolicy" type="xs:string" minOccurs="0"/>
          <xs:element name="uploadPolicySignature" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="BundleInstanceResponse" type="tns:BundleInstanceResponseType"/>
      <xs:complexType name="BundleInstanceResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="bundleInstanceTask" type="tns:BundleInstanceTaskType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="BundleInstanceTaskType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="bundleId" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="startTime" type="xs:dateTime"/>
          <xs:element name="updateTime" type="xs:dateTime"/>
          <xs:element name="storage" type="tns:BundleInstanceTaskStorageType"/>
          <xs:element name="progress" type="xs:string" minOccurs="0"/>
          <xs:element name="error" type="tns:BundleInstanceTaskErrorType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="BundleInstanceTaskErrorType">
        <xs:sequence>
          <xs:element name="code" type="xs:string"/>
          <xs:element name="message" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeBundleTasks" type="tns:DescribeBundleTasksType"/>
      <xs:complexType name="DescribeBundleTasksType">
        <xs:sequence>
          <xs:element name="bundlesSet" type="tns:DescribeBundleTasksInfoType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeBundleTasksInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeBundleTasksItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeBundleTasksItemType">
        <xs:sequence>
          <xs:element name="bundleId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeBundleTasksResponse" type="tns:DescribeBundleTasksResponseType"/>
      <xs:complexType name="DescribeBundleTasksResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="bundleInstanceTasksSet" type="tns:BundleInstanceTasksSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="BundleInstanceTasksSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:BundleInstanceTaskType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CancelBundleTask" type="tns:CancelBundleTaskType"/>
      <xs:complexType name="CancelBundleTaskType">
        <xs:sequence>
          <xs:element name="bundleId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CancelBundleTaskResponse" type="tns:CancelBundleTaskResponseType"/>
      <xs:complexType name="CancelBundleTaskResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="bundleInstanceTask" type="tns:BundleInstanceTaskType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeRegions" type="tns:DescribeRegionsType"/>
      <xs:complexType name="DescribeRegionsType">
        <xs:sequence>
          <xs:element name="regionSet" type="tns:DescribeRegionsSetType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeRegionsSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeRegionsSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeRegionsSetItemType">
        <xs:sequence>
          <xs:element name="regionName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeRegionsResponse" type="tns:DescribeRegionsResponseType"/>
      <xs:complexType name="DescribeRegionsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="regionInfo" type="tns:RegionSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RegionSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:RegionItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RegionItemType">
        <xs:sequence>
          <xs:element name="regionName" type="xs:string"/>
          <xs:element name="regionEndpoint" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeReservedInstancesOfferings" type="tns:DescribeReservedInstancesOfferingsType"/>
      <xs:complexType name="DescribeReservedInstancesOfferingsType">
        <xs:sequence>
          <xs:element name="reservedInstancesOfferingsSet" type="tns:DescribeReservedInstancesOfferingsSetType" minOccurs="0"/>
          <xs:element name="instanceType" type="xs:string" minOccurs="0"/>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="0"/>
          <xs:element name="productDescription" type="xs:string" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesOfferingsSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeReservedInstancesOfferingsSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesOfferingsSetItemType">
        <xs:sequence>
          <xs:element name="reservedInstancesOfferingId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeReservedInstancesOfferingsResponse" type="tns:DescribeReservedInstancesOfferingsResponseType"/>
      <xs:complexType name="DescribeReservedInstancesOfferingsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="reservedInstancesOfferingsSet" type="tns:DescribeReservedInstancesOfferingsResponseSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesOfferingsResponseSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeReservedInstancesOfferingsResponseSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesOfferingsResponseSetItemType">
        <xs:sequence>
          <xs:element name="reservedInstancesOfferingId" type="xs:string"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="duration" type="xs:long"/>
          <xs:element name="fixedPrice" type="xs:double"/>
          <xs:element name="usagePrice" type="xs:double"/>
          <xs:element name="productDescription" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="PurchaseReservedInstancesOffering" type="tns:PurchaseReservedInstancesOfferingType"/>
      <xs:complexType name="PurchaseReservedInstancesOfferingType">
        <xs:sequence>
          <xs:element name="reservedInstancesOfferingId" type="xs:string"/>
          <xs:element name="instanceCount" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="PurchaseReservedInstancesOfferingResponse" type="tns:PurchaseReservedInstancesOfferingResponseType"/>
      <xs:complexType name="PurchaseReservedInstancesOfferingResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="reservedInstancesId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeReservedInstances" type="tns:DescribeReservedInstancesType"/>
      <xs:complexType name="DescribeReservedInstancesType">
        <xs:sequence>
          <xs:element name="reservedInstancesSet" type="tns:DescribeReservedInstancesSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeReservedInstancesSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesSetItemType">
        <xs:sequence>
          <xs:element name="reservedInstancesId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeReservedInstancesResponse" type="tns:DescribeReservedInstancesResponseType"/>
      <xs:complexType name="DescribeReservedInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="reservedInstancesSet" type="tns:DescribeReservedInstancesResponseSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesResponseSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribeReservedInstancesResponseSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeReservedInstancesResponseSetItemType">
        <xs:sequence>
          <xs:element name="reservedInstancesId" type="xs:string"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="start" type="xs:dateTime"/>
          <xs:element name="duration" type="xs:long"/>
          <xs:element name="fixedPrice" type="xs:double"/>
          <xs:element name="usagePrice" type="xs:double"/>
          <xs:element name="instanceCount" type="xs:integer"/>
          <xs:element name="productDescription" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="MonitorInstances" type="tns:MonitorInstancesType"/>
      <xs:element name="UnmonitorInstances" type="tns:MonitorInstancesType"/>
      <xs:complexType name="MonitorInstancesType">
        <xs:sequence>
          <xs:element name="instancesSet" type="tns:MonitorInstancesSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MonitorInstancesSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:MonitorInstancesSetItemType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MonitorInstancesSetItemType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="MonitorInstancesResponse" type="tns:MonitorInstancesResponseType"/>
      <xs:element name="UnmonitorInstancesResponse" type="tns:MonitorInstancesResponseType"/>
      <xs:complexType name="MonitorInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="instancesSet" type="tns:MonitorInstancesResponseSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MonitorInstancesResponseSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:MonitorInstancesResponseSetItemType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MonitorInstancesResponseSetItemType">
        <xs:sequence>
          <xs:element name="instanceId" type="xs:string"/>
          <xs:element name="monitoring" type="tns:InstanceMonitoringStateType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceMonitoringStateType">
        <xs:sequence>
          <xs:element name="state" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttachmentType">
        <xs:sequence>
          <xs:element name="vpcId" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttachmentSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:AttachmentType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnGatewayType">
        <xs:sequence>
          <xs:element name="vpnGatewayId" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="attachments" type="tns:AttachmentSetType"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CustomerGatewayType">
        <xs:sequence>
          <xs:element name="customerGatewayId" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="ipAddress" type="xs:string"/>
          <xs:element name="bgpAsn" type="xs:int"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnConnectionType">
        <xs:sequence>
          <xs:element name="vpnConnectionId" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="customerGatewayConfiguration" type="xs:string" minOccurs="0"/>
          <xs:element name="type" type="xs:string" minOccurs="0"/>
          <xs:element name="customerGatewayId" type="xs:string"/>
          <xs:element name="vpnGatewayId" type="xs:string"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpcType">
        <xs:sequence>
          <xs:element name="vpcId" type="xs:string"/>
          <xs:element name="state" type="xs:string" minOccurs="0"/>
          <xs:element name="cidrBlock" type="xs:string" minOccurs="0"/>
          <xs:element name="dhcpOptionsId" type="xs:string" minOccurs="0"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SubnetType">
        <xs:sequence>
          <xs:element name="subnetId" type="xs:string"/>
          <xs:element name="state" type="xs:string" minOccurs="0"/>
          <xs:element name="vpcId" type="xs:string" minOccurs="0"/>
          <xs:element name="cidrBlock" type="xs:string" minOccurs="0"/>
          <xs:element name="availableIpAddressCount" type="xs:int" minOccurs="0"/>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="0"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CustomerGatewaySetType">
        <xs:sequence>
          <xs:element name="item" type="tns:CustomerGatewayType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnGatewaySetType">
        <xs:sequence>
          <xs:element name="item" type="tns:VpnGatewayType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnConnectionSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:VpnConnectionType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpcSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:VpcType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SubnetSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:SubnetType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CustomerGatewayIdSetItemType">
        <xs:sequence>
          <xs:element name="customerGatewayId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CustomerGatewayIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:CustomerGatewayIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnGatewayIdSetItemType">
        <xs:sequence>
          <xs:element name="vpnGatewayId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnGatewayIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:VpnGatewayIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnConnectionIdSetItemType">
        <xs:sequence>
          <xs:element name="vpnConnectionId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpnConnectionIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:VpnConnectionIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpcIdSetItemType">
        <xs:sequence>
          <xs:element name="vpcId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="VpcIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:VpcIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SubnetIdSetItemType">
        <xs:sequence>
          <xs:element name="subnetId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SubnetIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:SubnetIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpOptionsIdSetItemType">
        <xs:sequence>
          <xs:element name="dhcpOptionsId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpOptionsIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DhcpOptionsIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpConfigurationItemSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DhcpConfigurationItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpOptionsSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DhcpOptionsType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpConfigurationItemType">
        <xs:sequence>
          <xs:element name="key" type="xs:string"/>
          <xs:element name="valueSet" type="tns:DhcpValueSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpOptionsType">
        <xs:sequence>
          <xs:element name="dhcpOptionsId" type="xs:string"/>
          <xs:element name="dhcpConfigurationSet" type="tns:DhcpConfigurationItemSetType"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DhcpValueSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DhcpValueType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="FilterType">
        <xs:sequence>
          <xs:element name="name" type="xs:string"/>
          <xs:element name="valueSet" type="tns:ValueSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="FilterSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:FilterType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ValueSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ValueType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateCustomerGateway" type="tns:CreateCustomerGatewayType"/>
      <xs:element name="CreateCustomerGatewayResponse" type="tns:CreateCustomerGatewayResponseType"/>
      <xs:element name="DeleteCustomerGateway" type="tns:DeleteCustomerGatewayType"/>
      <xs:element name="DeleteCustomerGatewayResponse" type="tns:DeleteCustomerGatewayResponseType"/>
      <xs:element name="DescribeCustomerGateways" type="tns:DescribeCustomerGatewaysType"/>
      <xs:element name="DescribeCustomerGatewaysResponse" type="tns:DescribeCustomerGatewaysResponseType"/>
      <xs:element name="CreateVpnGateway" type="tns:CreateVpnGatewayType"/>
      <xs:element name="CreateVpnGatewayResponse" type="tns:CreateVpnGatewayResponseType"/>
      <xs:element name="DeleteVpnGateway" type="tns:DeleteVpnGatewayType"/>
      <xs:element name="DeleteVpnGatewayResponse" type="tns:DeleteVpnGatewayResponseType"/>
      <xs:element name="DescribeVpnGateways" type="tns:DescribeVpnGatewaysType"/>
      <xs:element name="DescribeVpnGatewaysResponse" type="tns:DescribeVpnGatewaysResponseType"/>
      <xs:element name="CreateVpnConnection" type="tns:CreateVpnConnectionType"/>
      <xs:element name="CreateVpnConnectionResponse" type="tns:CreateVpnConnectionResponseType"/>
      <xs:element name="DeleteVpnConnection" type="tns:DeleteVpnConnectionType"/>
      <xs:element name="DeleteVpnConnectionResponse" type="tns:DeleteVpnConnectionResponseType"/>
      <xs:element name="DescribeVpnConnections" type="tns:DescribeVpnConnectionsType"/>
      <xs:element name="DescribeVpnConnectionsResponse" type="tns:DescribeVpnConnectionsResponseType"/>
      <xs:element name="AttachVpnGateway" type="tns:AttachVpnGatewayType"/>
      <xs:element name="AttachVpnGatewayResponse" type="tns:AttachVpnGatewayResponseType"/>
      <xs:element name="DetachVpnGateway" type="tns:DetachVpnGatewayType"/>
      <xs:element name="DetachVpnGatewayResponse" type="tns:DetachVpnGatewayResponseType"/>
      <xs:element name="CreateVpc" type="tns:CreateVpcType"/>
      <xs:element name="CreateVpcResponse" type="tns:CreateVpcResponseType"/>
      <xs:element name="DescribeVpcs" type="tns:DescribeVpcsType"/>
      <xs:element name="DescribeVpcsResponse" type="tns:DescribeVpcsResponseType"/>
      <xs:element name="DeleteVpc" type="tns:DeleteVpcType"/>
      <xs:element name="DeleteVpcResponse" type="tns:DeleteVpcResponseType"/>
      <xs:element name="CreateSubnet" type="tns:CreateSubnetType"/>
      <xs:element name="CreateSubnetResponse" type="tns:CreateSubnetResponseType"/>
      <xs:element name="DescribeSubnets" type="tns:DescribeSubnetsType"/>
      <xs:element name="DescribeSubnetsResponse" type="tns:DescribeSubnetsResponseType"/>
      <xs:element name="DeleteSubnet" type="tns:DeleteSubnetType"/>
      <xs:element name="DeleteSubnetResponse" type="tns:DeleteSubnetResponseType"/>
      <xs:element name="DeleteDhcpOptions" type="tns:DeleteDhcpOptionsType"/>
      <xs:element name="DeleteDhcpOptionsResponse" type="tns:DeleteDhcpOptionsResponseType"/>
      <xs:element name="DescribeDhcpOptions" type="tns:DescribeDhcpOptionsType"/>
      <xs:element name="DescribeDhcpOptionsResponse" type="tns:DescribeDhcpOptionsResponseType"/>
      <xs:element name="CreateDhcpOptions" type="tns:CreateDhcpOptionsType"/>
      <xs:element name="CreateDhcpOptionsResponse" type="tns:CreateDhcpOptionsResponseType"/>
      <xs:element name="AssociateDhcpOptions" type="tns:AssociateDhcpOptionsType"/>
      <xs:element name="AssociateDhcpOptionsResponse" type="tns:AssociateDhcpOptionsResponseType"/>
      <xs:complexType name="CreateCustomerGatewayType">
        <xs:sequence>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="ipAddress" type="xs:string"/>
          <xs:element name="bgpAsn" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateCustomerGatewayResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="customerGateway" type="tns:CustomerGatewayType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteCustomerGatewayType">
        <xs:sequence>
          <xs:element name="customerGatewayId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteCustomerGatewayResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeCustomerGatewaysType">
        <xs:sequence>
          <xs:element name="customerGatewaySet" type="tns:CustomerGatewayIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeCustomerGatewaysResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="customerGatewaySet" type="tns:CustomerGatewaySetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVpnGatewayType">
        <xs:sequence>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVpnGatewayResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="vpnGateway" type="tns:VpnGatewayType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteVpnGatewayType">
        <xs:sequence>
          <xs:element name="vpnGatewayId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteVpnGatewayResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVpnGatewaysType">
        <xs:sequence>
          <xs:element name="vpnGatewaySet" type="tns:VpnGatewayIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVpnGatewaysResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="vpnGatewaySet" type="tns:VpnGatewaySetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVpnConnectionType">
        <xs:sequence>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="customerGatewayId" type="xs:string"/>
          <xs:element name="vpnGatewayId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVpnConnectionResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="vpnConnection" type="tns:VpnConnectionType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteVpnConnectionType">
        <xs:sequence>
          <xs:element name="vpnConnectionId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteVpnConnectionResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVpnConnectionsType">
        <xs:sequence>
          <xs:element name="vpnConnectionSet" type="tns:VpnConnectionIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVpnConnectionsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="vpnConnectionSet" type="tns:VpnConnectionSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttachVpnGatewayType">
        <xs:sequence>
          <xs:element name="vpnGatewayId" type="xs:string"/>
          <xs:element name="vpcId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AttachVpnGatewayResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="attachment" type="tns:AttachmentType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DetachVpnGatewayType">
        <xs:sequence>
          <xs:element name="vpnGatewayId" type="xs:string"/>
          <xs:element name="vpcId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DetachVpnGatewayResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVpcType">
        <xs:sequence>
          <xs:element name="cidrBlock" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateVpcResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="vpc" type="tns:VpcType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVpcsType">
        <xs:sequence>
          <xs:element name="vpcSet" type="tns:VpcIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeVpcsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="vpcSet" type="tns:VpcSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteVpcType">
        <xs:sequence>
          <xs:element name="vpcId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteVpcResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateSubnetType">
        <xs:sequence>
          <xs:element name="vpcId" type="xs:string"/>
          <xs:element name="cidrBlock" type="xs:string"/>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateSubnetResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="subnet" type="tns:SubnetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSubnetsType">
        <xs:sequence>
          <xs:element name="subnetSet" type="tns:SubnetIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSubnetsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="subnetSet" type="tns:SubnetSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteSubnetType">
        <xs:sequence>
          <xs:element name="subnetId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteSubnetResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteDhcpOptionsType">
        <xs:sequence>
          <xs:element name="dhcpOptionsId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteDhcpOptionsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeDhcpOptionsType">
        <xs:sequence>
          <xs:element name="dhcpOptionsSet" type="tns:DhcpOptionsIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeDhcpOptionsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="dhcpOptionsSet" type="tns:DhcpOptionsSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateDhcpOptionsType">
        <xs:sequence>
          <xs:element name="dhcpConfigurationSet" type="tns:DhcpConfigurationItemSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateDhcpOptionsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="dhcpOptions" type="tns:DhcpOptionsType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AssociateDhcpOptionsType">
        <xs:sequence>
          <xs:element name="dhcpOptionsId" type="xs:string"/>
          <xs:element name="vpcId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AssociateDhcpOptionsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="RequestSpotInstances" type="tns:RequestSpotInstancesType"/>
      <xs:element name="RequestSpotInstancesResponse" type="tns:RequestSpotInstancesResponseType"/>
      <xs:element name="DescribeSpotInstanceRequests" type="tns:DescribeSpotInstanceRequestsType"/>
      <xs:element name="DescribeSpotInstanceRequestsResponse" type="tns:DescribeSpotInstanceRequestsResponseType"/>
      <xs:element name="CancelSpotInstanceRequests" type="tns:CancelSpotInstanceRequestsType"/>
      <xs:element name="CancelSpotInstanceRequestsResponse" type="tns:CancelSpotInstanceRequestsResponseType"/>
      <xs:element name="DescribeSpotPriceHistory" type="tns:DescribeSpotPriceHistoryType"/>
      <xs:element name="DescribeSpotPriceHistoryResponse" type="tns:DescribeSpotPriceHistoryResponseType"/>
      <xs:element name="CreateSpotDatafeedSubscription" type="tns:CreateSpotDatafeedSubscriptionType"/>
      <xs:element name="CreateSpotDatafeedSubscriptionResponse" type="tns:CreateSpotDatafeedSubscriptionResponseType"/>
      <xs:element name="DescribeSpotDatafeedSubscription" type="tns:DescribeSpotDatafeedSubscriptionType"/>
      <xs:element name="DescribeSpotDatafeedSubscriptionResponse" type="tns:DescribeSpotDatafeedSubscriptionResponseType"/>
      <xs:element name="DeleteSpotDatafeedSubscription" type="tns:DeleteSpotDatafeedSubscriptionType"/>
      <xs:element name="DeleteSpotDatafeedSubscriptionResponse" type="tns:DeleteSpotDatafeedSubscriptionResponseType"/>
      <xs:complexType name="RequestSpotInstancesType">
        <xs:sequence>
          <xs:element name="spotPrice" type="xs:string"/>
          <xs:element name="instanceCount" type="xs:integer" minOccurs="0"/>
          <xs:element name="type" type="xs:string" minOccurs="0"/>
          <xs:element name="validFrom" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="validUntil" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="launchGroup" type="xs:string" minOccurs="0"/>
          <xs:element name="availabilityZoneGroup" type="xs:string" minOccurs="0"/>
          <xs:element name="launchSpecification" type="tns:LaunchSpecificationRequestType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LaunchSpecificationRequestType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:element name="keyName" type="xs:string" minOccurs="0"/>
          <xs:element name="groupSet" type="tns:GroupSetType"/>
          <xs:element name="userData" type="tns:UserDataType" minOccurs="0"/>
          <xs:element name="addressingType" type="xs:string" minOccurs="0"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="placement" type="tns:PlacementRequestType" minOccurs="0"/>
          <xs:element name="kernelId" type="xs:string" minOccurs="0"/>
          <xs:element name="ramdiskId" type="xs:string" minOccurs="0"/>
          <xs:element name="blockDeviceMapping" type="tns:BlockDeviceMappingType" minOccurs="0"/>
          <xs:element name="monitoring" type="tns:MonitoringInstanceType" minOccurs="0"/>
          <xs:element name="subnetId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LaunchSpecificationResponseType">
        <xs:sequence>
          <xs:element name="imageId" type="xs:string"/>
          <xs:element name="keyName" type="xs:string" minOccurs="0"/>
          <xs:element name="groupSet" type="tns:GroupSetType"/>
          <xs:element name="addressingType" type="xs:string" minOccurs="0"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="placement" type="tns:PlacementRequestType" minOccurs="0"/>
          <xs:element name="kernelId" type="xs:string" minOccurs="0"/>
          <xs:element name="ramdiskId" type="xs:string" minOccurs="0"/>
          <xs:element name="blockDeviceMapping" type="tns:BlockDeviceMappingType" minOccurs="0"/>
          <xs:element name="monitoring" type="tns:MonitoringInstanceType" minOccurs="0"/>
          <xs:element name="subnetId" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotInstanceRequestSetItemType">
        <xs:sequence>
          <xs:element name="spotInstanceRequestId" type="xs:string"/>
          <xs:element name="spotPrice" type="xs:string"/>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="fault" type="tns:SpotInstanceStateFaultType" minOccurs="0"/>
          <xs:element name="validFrom" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="validUntil" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="launchGroup" type="xs:string" minOccurs="0"/>
          <xs:element name="availabilityZoneGroup" type="xs:string" minOccurs="0"/>
          <xs:element name="launchSpecification" type="tns:LaunchSpecificationResponseType" minOccurs="0"/>
          <xs:element name="instanceId" type="xs:string" minOccurs="0"/>
          <xs:element name="createTime" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="productDescription" type="xs:string" minOccurs="0"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotInstanceStateFaultType">
        <xs:sequence>
          <xs:element name="code" type="xs:string"/>
          <xs:element name="message" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotInstanceRequestSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:SpotInstanceRequestSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RequestSpotInstancesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="spotInstanceRequestSet" type="tns:SpotInstanceRequestSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSpotInstanceRequestsType">
        <xs:sequence>
          <xs:element name="spotInstanceRequestIdSet" type="tns:SpotInstanceRequestIdSetType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotInstanceRequestIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:SpotInstanceRequestIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotInstanceRequestIdSetItemType">
        <xs:sequence>
          <xs:element name="spotInstanceRequestId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSpotInstanceRequestsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="spotInstanceRequestSet" type="tns:SpotInstanceRequestSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CancelSpotInstanceRequestsType">
        <xs:sequence>
          <xs:element name="spotInstanceRequestIdSet" type="tns:SpotInstanceRequestIdSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CancelSpotInstanceRequestsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="spotInstanceRequestSet" type="tns:CancelSpotInstanceRequestsResponseSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CancelSpotInstanceRequestsResponseSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:CancelSpotInstanceRequestsResponseSetItemType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CancelSpotInstanceRequestsResponseSetItemType">
        <xs:sequence>
          <xs:element name="spotInstanceRequestId" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSpotPriceHistoryType">
        <xs:sequence>
          <xs:element name="startTime" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="endTime" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="instanceTypeSet" type="tns:InstanceTypeSetType" minOccurs="0"/>
          <xs:element name="productDescriptionSet" type="tns:ProductDescriptionSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceTypeSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:InstanceTypeSetItemType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceTypeSetItemType">
        <xs:sequence>
          <xs:element name="instanceType" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductDescriptionSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ProductDescriptionSetItemType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProductDescriptionSetItemType">
        <xs:sequence>
          <xs:element name="productDescription" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSpotPriceHistoryResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="spotPriceHistorySet" type="tns:SpotPriceHistorySetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotPriceHistorySetType">
        <xs:sequence>
          <xs:element name="item" type="tns:SpotPriceHistorySetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotPriceHistorySetItemType">
        <xs:sequence>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="productDescription" type="xs:string"/>
          <xs:element name="spotPrice" type="xs:string"/>
          <xs:element name="timestamp" type="xs:dateTime"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpotDatafeedSubscriptionType">
        <xs:sequence>
          <xs:element name="ownerId" type="xs:string"/>
          <xs:element name="bucket" type="xs:string"/>
          <xs:element name="prefix" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="fault" type="tns:SpotInstanceStateFaultType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateSpotDatafeedSubscriptionType">
        <xs:sequence>
          <xs:element name="bucket" type="xs:string"/>
          <xs:element name="prefix" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateSpotDatafeedSubscriptionResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="spotDatafeedSubscription" type="tns:SpotDatafeedSubscriptionType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeSpotDatafeedSubscriptionType"/>
      <xs:complexType name="DescribeSpotDatafeedSubscriptionResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="spotDatafeedSubscription" type="tns:SpotDatafeedSubscriptionType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteSpotDatafeedSubscriptionType"/>
      <xs:complexType name="DeleteSpotDatafeedSubscriptionResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeLicenses" type="tns:DescribeLicensesType"/>
      <xs:element name="DescribeLicensesResponse" type="tns:DescribeLicensesResponseType"/>
      <xs:element name="ActivateLicense" type="tns:ActivateLicenseType"/>
      <xs:element name="ActivateLicenseResponse" type="tns:ActivateLicenseResponseType"/>
      <xs:element name="DeactivateLicense" type="tns:DeactivateLicenseType"/>
      <xs:element name="DeactivateLicenseResponse" type="tns:DeactivateLicenseResponseType"/>
      <xs:complexType name="DescribeLicensesType">
        <xs:sequence>
          <xs:element name="licenseIdSet" type="tns:LicenseIdSetType" minOccurs="0"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LicenseIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:LicenseIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LicenseIdSetItemType">
        <xs:sequence>
          <xs:element name="licenseId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeLicensesResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="licenseSet" type="tns:LicenseSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LicenseSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:LicenseSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LicenseSetItemType">
        <xs:sequence>
          <xs:element name="licenseId" type="xs:string"/>
          <xs:element name="type" type="xs:string"/>
          <xs:element name="pool" type="xs:string"/>
          <xs:element name="capacitySet" type="tns:LicenseCapacitySetType"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LicenseCapacitySetType">
        <xs:sequence>
          <xs:element name="item" type="tns:LicenseCapacitySetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LicenseCapacitySetItemType">
        <xs:sequence>
          <xs:element name="capacity" type="xs:int"/>
          <xs:element name="instanceCapacity" type="xs:int"/>
          <xs:element name="state" type="xs:string"/>
          <xs:element name="earliestAllowedDeactivationTime" type="xs:dateTime" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ActivateLicenseType">
        <xs:sequence>
          <xs:element name="licenseId" type="xs:string"/>
          <xs:element name="capacity" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ActivateLicenseResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeactivateLicenseType">
        <xs:sequence>
          <xs:element name="licenseId" type="xs:string"/>
          <xs:element name="capacity" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeactivateLicenseResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreatePlacementGroup" type="tns:CreatePlacementGroupType"/>
      <xs:element name="CreatePlacementGroupResponse" type="tns:CreatePlacementGroupResponseType"/>
      <xs:complexType name="CreatePlacementGroupType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
          <xs:element name="strategy" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreatePlacementGroupResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DeletePlacementGroup" type="tns:DeletePlacementGroupType"/>
      <xs:element name="DeletePlacementGroupResponse" type="tns:DeletePlacementGroupResponseType"/>
      <xs:complexType name="DeletePlacementGroupType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeletePlacementGroupResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribePlacementGroups" type="tns:DescribePlacementGroupsType"/>
      <xs:element name="DescribePlacementGroupsResponse" type="tns:DescribePlacementGroupsResponseType"/>
      <xs:complexType name="DescribePlacementGroupItemType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribePlacementGroupsInfoType">
        <xs:sequence>
          <xs:element name="item" type="tns:DescribePlacementGroupItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribePlacementGroupsType">
        <xs:sequence>
          <xs:element name="placementGroupSet" type="tns:DescribePlacementGroupsInfoType"/>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="PlacementGroupInfoType">
        <xs:sequence>
          <xs:element name="groupName" type="xs:string"/>
          <xs:element name="strategy" type="xs:string"/>
          <xs:element name="state" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="PlacementGroupSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:PlacementGroupInfoType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribePlacementGroupsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="placementGroupSet" type="tns:PlacementGroupSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CreateTags" type="tns:CreateTagsType"/>
      <xs:element name="CreateTagsResponse" type="tns:CreateTagsResponseType"/>
      <xs:element name="DescribeTags" type="tns:DescribeTagsType"/>
      <xs:element name="DescribeTagsResponse" type="tns:DescribeTagsResponseType"/>
      <xs:element name="DeleteTags" type="tns:DeleteTagsType"/>
      <xs:element name="DeleteTagsResponse" type="tns:DeleteTagsResponseType"/>
      <xs:complexType name="ResourceIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ResourceIdSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ResourceIdSetItemType">
        <xs:sequence>
          <xs:element name="resourceId" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ResourceTagSetItemType">
        <xs:sequence>
          <xs:element name="key" type="xs:string"/>
          <xs:element name="value" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ResourceTagSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ResourceTagSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateTagsType">
        <xs:sequence>
          <xs:element name="resourcesSet" type="tns:ResourceIdSetType"/>
          <xs:element name="tagSet" type="tns:ResourceTagSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CreateTagsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TagSetItemType">
        <xs:sequence>
          <xs:element name="resourceId" type="xs:string" minOccurs="0"/>
          <xs:element name="resourceType" type="xs:string" minOccurs="0"/>
          <xs:element name="key" type="xs:string" minOccurs="0"/>
          <xs:element name="value" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TagSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:TagSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeTagsType">
        <xs:sequence>
          <xs:element name="filterSet" type="tns:FilterSetType" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeTagsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="tagSet" type="tns:TagSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteTagsSetItemType">
        <xs:sequence>
          <xs:element name="key" type="xs:string" minOccurs="0"/>
          <xs:element name="value" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteTagsSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DeleteTagsSetItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteTagsType">
        <xs:sequence>
          <xs:element name="resourcesSet" type="tns:ResourceIdSetType"/>
          <xs:element name="tagSet" type="tns:DeleteTagsSetType"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DeleteTagsResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ImportInstance" type="tns:ImportInstanceType"/>
      <xs:element name="ImportInstanceResponse" type="tns:ImportInstanceResponseType"/>
      <xs:complexType name="ImportInstanceType">
        <xs:sequence>
          <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="launchSpecification" type="tns:ImportInstanceLaunchSpecificationType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="diskImageSet" type="tns:DiskImageSetType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="platform" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportInstanceResponseType">
        <xs:sequence>
          <xs:element name="conversionTask" type="tns:ConversionTaskType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportInstanceLaunchSpecificationType">
        <xs:sequence>
          <xs:element name="architecture" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="groupSet" type="tns:GroupSetType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="userData" type="tns:UserDataType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="instanceType" type="xs:string"/>
          <xs:element name="placement" type="tns:InstancePlacementType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="monitoring" type="tns:MonitoringInstanceType" minOccurs="0" maxOccurs="1"/>
          <xs:element name="subnetId" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="instanceInitiatedShutdownBehavior" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="privateIpAddress" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DiskImageSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:DiskImageType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DiskImageType">
        <xs:sequence>
          <xs:element name="image" type="tns:DiskImageDetailType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="volume" type="tns:DiskImageVolumeType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DiskImageDetailType">
        <xs:sequence>
          <xs:element name="format" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="bytes" type="xs:long" minOccurs="1" maxOccurs="1"/>
          <xs:element name="importManifestUrl" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DiskImageVolumeType">
        <xs:sequence>
          <xs:element name="size" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ConversionTaskType">
        <xs:sequence>
          <xs:element name="conversionTaskId" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="expirationTime" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:choice>
            <xs:element name="importVolume" type="tns:ImportVolumeTaskDetailsType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="importInstance" type="tns:ImportInstanceTaskDetailsType" minOccurs="0" maxOccurs="1"/>
          </xs:choice>
          <xs:element name="state" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="statusMessage" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportInstanceTaskDetailsType">
        <xs:sequence>
          <xs:element name="volumes" type="tns:ImportInstanceVolumeDetailSetType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="instanceId" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="platform" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportVolumeTaskDetailsType">
        <xs:sequence>
          <xs:element name="bytesConverted" type="xs:long" minOccurs="1" maxOccurs="1"/>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="image" type="tns:DiskImageDescriptionType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="volume" type="tns:DiskImageVolumeDescriptionType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportInstanceVolumeDetailSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ImportInstanceVolumeDetailItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportInstanceVolumeDetailItemType">
        <xs:sequence>
          <xs:element name="bytesConverted" type="xs:long" minOccurs="1" maxOccurs="1"/>
          <xs:element name="availabilityZone" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="image" type="tns:DiskImageDescriptionType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="volume" type="tns:DiskImageVolumeDescriptionType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="status" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="statusMessage" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DiskImageVolumeDescriptionType">
        <xs:sequence>
          <xs:element name="size" type="xs:integer"/>
          <xs:element name="id" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DiskImageDescriptionType">
        <xs:sequence>
          <xs:element name="format" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="size" type="xs:long" minOccurs="1" maxOccurs="1"/>
          <xs:element name="importManifestUrl" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="checksum" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="ImportVolume" type="tns:ImportVolumeType"/>
      <xs:element name="ImportVolumeResponse" type="tns:ImportVolumeResponseType"/>
      <xs:complexType name="ImportVolumeType">
        <xs:sequence>
          <xs:element name="availabilityZone" type="xs:string"/>
          <xs:element name="image" type="tns:DiskImageDetailType"/>
          <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="volume" type="tns:DiskImageVolumeType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImportVolumeResponseType">
        <xs:sequence>
          <xs:element name="conversionTask" type="tns:ConversionTaskType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="DescribeConversionTasks" type="tns:DescribeConversionTasksType"/>
      <xs:element name="DescribeConversionTasksResponse" type="tns:DescribeConversionTasksResponseType"/>
      <xs:complexType name="DescribeConversionTasksType">
        <xs:sequence>
          <xs:element name="conversionTaskIdSet" type="tns:ConversionTaskIdSetType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="DescribeConversionTasksResponseType">
        <xs:sequence>
          <xs:element name="conversionTasks" type="tns:ConversionTaskSetType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ConversionTaskIdSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ConversionTaskIdItemType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ConversionTaskIdItemType">
        <xs:sequence>
          <xs:element name="conversionTaskId" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ConversionTaskSetType">
        <xs:sequence>
          <xs:element name="item" type="tns:ConversionTaskType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="CancelConversionTask" type="tns:CancelConversionTaskType"/>
      <xs:element name="CancelConversionTaskResponse" type="tns:CancelConversionTaskResponseType"/>
      <xs:complexType name="CancelConversionTaskType">
        <xs:sequence>
          <xs:element name="conversionTaskId" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CancelConversionTaskResponseType">
        <xs:sequence>
          <xs:element name="requestId" type="xs:string"/>
          <xs:element name="return" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
  </types>
  <message name="ActivateLicenseRequestMsg">
    <part name="ActivateLicenseRequestMsgReq" element="tns:ActivateLicense"/>
  </message>
  <message name="ActivateLicenseResponseMsg">
    <part name="ActivateLicenseResponseMsgResp" element="tns:ActivateLicenseResponse"/>
  </message>
  <message name="AllocateAddressRequestMsg">
    <part name="AllocateAddressRequestMsgReq" element="tns:AllocateAddress"/>
  </message>
  <message name="AllocateAddressResponseMsg">
    <part name="AllocateAddressResponseMsgResp" element="tns:AllocateAddressResponse"/>
  </message>
  <message name="AssociateAddressRequestMsg">
    <part name="AssociateAddressRequestMsgReq" element="tns:AssociateAddress"/>
  </message>
  <message name="AssociateAddressResponseMsg">
    <part name="AssociateAddressResponseMsgResp" element="tns:AssociateAddressResponse"/>
  </message>
  <message name="AssociateDhcpOptionsRequestMsg">
    <part name="AssociateDhcpOptionsRequestMsgReq" element="tns:AssociateDhcpOptions"/>
  </message>
  <message name="AssociateDhcpOptionsResponseMsg">
    <part name="AssociateDhcpOptionsResponseMsgResp" element="tns:AssociateDhcpOptionsResponse"/>
  </message>
  <message name="AttachVolumeRequestMsg">
    <part name="AttachVolumeRequestMsgReq" element="tns:AttachVolume"/>
  </message>
  <message name="AttachVolumeResponseMsg">
    <part name="AttachVolumeResponseMsgResp" element="tns:AttachVolumeResponse"/>
  </message>
  <message name="AttachVpnGatewayRequestMsg">
    <part name="AttachVpnGatewayRequestMsgReq" element="tns:AttachVpnGateway"/>
  </message>
  <message name="AttachVpnGatewayResponseMsg">
    <part name="AttachVpnGatewayResponseMsgResp" element="tns:AttachVpnGatewayResponse"/>
  </message>
  <message name="AuthorizeSecurityGroupIngressRequestMsg">
    <part name="AuthorizeSecurityGroupIngressRequestMsgReq" element="tns:AuthorizeSecurityGroupIngress"/>
  </message>
  <message name="AuthorizeSecurityGroupIngressResponseMsg">
    <part name="AuthorizeSecurityGroupIngressResponseMsgResp" element="tns:AuthorizeSecurityGroupIngressResponse"/>
  </message>
  <message name="BundleInstanceRequestMsg">
    <part name="BundleInstanceRequestMsgReq" element="tns:BundleInstance"/>
  </message>
  <message name="BundleInstanceResponseMsg">
    <part name="BundleInstanceResponseMsgResp" element="tns:BundleInstanceResponse"/>
  </message>
  <message name="CancelBundleTaskRequestMsg">
    <part name="CancelBundleTaskRequestMsgReq" element="tns:CancelBundleTask"/>
  </message>
  <message name="CancelBundleTaskResponseMsg">
    <part name="CancelBundleTaskResponseMsgResp" element="tns:CancelBundleTaskResponse"/>
  </message>
  <message name="CancelConversionTaskRequestMsg">
    <part name="CancelConversionTaskRequestMsgReq" element="tns:CancelConversionTask"/>
  </message>
  <message name="CancelConversionTaskResponseMsg">
    <part name="CancelConversionTaskResponseMsgResp" element="tns:CancelConversionTaskResponse"/>
  </message>
  <message name="CancelSpotInstanceRequestsRequestMsg">
    <part name="CancelSpotInstanceRequestsRequestMsgReq" element="tns:CancelSpotInstanceRequests"/>
  </message>
  <message name="CancelSpotInstanceRequestsResponseMsg">
    <part name="CancelSpotInstanceRequestsResponseMsgResp" element="tns:CancelSpotInstanceRequestsResponse"/>
  </message>
  <message name="ConfirmProductInstanceRequestMsg">
    <part name="ConfirmProductInstanceRequestMsgReq" element="tns:ConfirmProductInstance"/>
  </message>
  <message name="ConfirmProductInstanceResponseMsg">
    <part name="ConfirmProductInstanceResponseMsgResp" element="tns:ConfirmProductInstanceResponse"/>
  </message>
  <message name="CreateCustomerGatewayRequestMsg">
    <part name="CreateCustomerGatewayRequestMsgReq" element="tns:CreateCustomerGateway"/>
  </message>
  <message name="CreateCustomerGatewayResponseMsg">
    <part name="CreateCustomerGatewayResponseMsgResp" element="tns:CreateCustomerGatewayResponse"/>
  </message>
  <message name="CreateDhcpOptionsRequestMsg">
    <part name="CreateDhcpOptionsRequestMsgReq" element="tns:CreateDhcpOptions"/>
  </message>
  <message name="CreateDhcpOptionsResponseMsg">
    <part name="CreateDhcpOptionsResponseMsgResp" element="tns:CreateDhcpOptionsResponse"/>
  </message>
  <message name="CreateImageRequestMsg">
    <part name="CreateImageRequestMsgReq" element="tns:CreateImage"/>
  </message>
  <message name="CreateImageResponseMsg">
    <part name="CreateImageResponseMsgResp" element="tns:CreateImageResponse"/>
  </message>
  <message name="CreateKeyPairRequestMsg">
    <part name="CreateKeyPairRequestMsgReq" element="tns:CreateKeyPair"/>
  </message>
  <message name="CreateKeyPairResponseMsg">
    <part name="CreateKeyPairResponseMsgResp" element="tns:CreateKeyPairResponse"/>
  </message>
  <message name="CreatePlacementGroupRequestMsg">
    <part name="CreatePlacementGroupRequestMsgReq" element="tns:CreatePlacementGroup"/>
  </message>
  <message name="CreatePlacementGroupResponseMsg">
    <part name="CreatePlacementGroupResponseMsgResp" element="tns:CreatePlacementGroupResponse"/>
  </message>
  <message name="CreateSecurityGroupRequestMsg">
    <part name="CreateSecurityGroupRequestMsgReq" element="tns:CreateSecurityGroup"/>
  </message>
  <message name="CreateSecurityGroupResponseMsg">
    <part name="CreateSecurityGroupResponseMsgResp" element="tns:CreateSecurityGroupResponse"/>
  </message>
  <message name="CreateSnapshotRequestMsg">
    <part name="CreateSnapshotRequestMsgReq" element="tns:CreateSnapshot"/>
  </message>
  <message name="CreateSnapshotResponseMsg">
    <part name="CreateSnapshotResponseMsgResp" element="tns:CreateSnapshotResponse"/>
  </message>
  <message name="CreateSpotDatafeedSubscriptionRequestMsg">
    <part name="CreateSpotDatafeedSubscriptionRequestMsgReq" element="tns:CreateSpotDatafeedSubscription"/>
  </message>
  <message name="CreateSpotDatafeedSubscriptionResponseMsg">
    <part name="CreateSpotDatafeedSubscriptionResponseMsgResp" element="tns:CreateSpotDatafeedSubscriptionResponse"/>
  </message>
  <message name="CreateSubnetRequestMsg">
    <part name="CreateSubnetRequestMsgReq" element="tns:CreateSubnet"/>
  </message>
  <message name="CreateSubnetResponseMsg">
    <part name="CreateSubnetResponseMsgResp" element="tns:CreateSubnetResponse"/>
  </message>
  <message name="CreateTagsRequestMsg">
    <part name="CreateTagsRequestMsgReq" element="tns:CreateTags"/>
  </message>
  <message name="CreateTagsResponseMsg">
    <part name="CreateTagsResponseMsgResp" element="tns:CreateTagsResponse"/>
  </message>
  <message name="CreateVolumeRequestMsg">
    <part name="CreateVolumeRequestMsgReq" element="tns:CreateVolume"/>
  </message>
  <message name="CreateVolumeResponseMsg">
    <part name="CreateVolumeResponseMsgResp" element="tns:CreateVolumeResponse"/>
  </message>
  <message name="CreateVpcRequestMsg">
    <part name="CreateVpcRequestMsgReq" element="tns:CreateVpc"/>
  </message>
  <message name="CreateVpcResponseMsg">
    <part name="CreateVpcResponseMsgResp" element="tns:CreateVpcResponse"/>
  </message>
  <message name="CreateVpnConnectionRequestMsg">
    <part name="CreateVpnConnectionRequestMsgReq" element="tns:CreateVpnConnection"/>
  </message>
  <message name="CreateVpnConnectionResponseMsg">
    <part name="CreateVpnConnectionResponseMsgResp" element="tns:CreateVpnConnectionResponse"/>
  </message>
  <message name="CreateVpnGatewayRequestMsg">
    <part name="CreateVpnGatewayRequestMsgReq" element="tns:CreateVpnGateway"/>
  </message>
  <message name="CreateVpnGatewayResponseMsg">
    <part name="CreateVpnGatewayResponseMsgResp" element="tns:CreateVpnGatewayResponse"/>
  </message>
  <message name="DeactivateLicenseRequestMsg">
    <part name="DeactivateLicenseRequestMsgReq" element="tns:DeactivateLicense"/>
  </message>
  <message name="DeactivateLicenseResponseMsg">
    <part name="DeactivateLicenseResponseMsgResp" element="tns:DeactivateLicenseResponse"/>
  </message>
  <message name="DeleteCustomerGatewayRequestMsg">
    <part name="DeleteCustomerGatewayRequestMsgReq" element="tns:DeleteCustomerGateway"/>
  </message>
  <message name="DeleteCustomerGatewayResponseMsg">
    <part name="DeleteCustomerGatewayResponseMsgResp" element="tns:DeleteCustomerGatewayResponse"/>
  </message>
  <message name="DeleteDhcpOptionsRequestMsg">
    <part name="DeleteDhcpOptionsRequestMsgReq" element="tns:DeleteDhcpOptions"/>
  </message>
  <message name="DeleteDhcpOptionsResponseMsg">
    <part name="DeleteDhcpOptionsResponseMsgResp" element="tns:DeleteDhcpOptionsResponse"/>
  </message>
  <message name="DeleteKeyPairRequestMsg">
    <part name="DeleteKeyPairRequestMsgReq" element="tns:DeleteKeyPair"/>
  </message>
  <message name="DeleteKeyPairResponseMsg">
    <part name="DeleteKeyPairResponseMsgResp" element="tns:DeleteKeyPairResponse"/>
  </message>
  <message name="DeletePlacementGroupRequestMsg">
    <part name="DeletePlacementGroupRequestMsgReq" element="tns:DeletePlacementGroup"/>
  </message>
  <message name="DeletePlacementGroupResponseMsg">
    <part name="DeletePlacementGroupResponseMsgResp" element="tns:DeletePlacementGroupResponse"/>
  </message>
  <message name="DeleteSecurityGroupRequestMsg">
    <part name="DeleteSecurityGroupRequestMsgReq" element="tns:DeleteSecurityGroup"/>
  </message>
  <message name="DeleteSecurityGroupResponseMsg">
    <part name="DeleteSecurityGroupResponseMsgResp" element="tns:DeleteSecurityGroupResponse"/>
  </message>
  <message name="DeleteSnapshotRequestMsg">
    <part name="DeleteSnapshotRequestMsgReq" element="tns:DeleteSnapshot"/>
  </message>
  <message name="DeleteSnapshotResponseMsg">
    <part name="DeleteSnapshotResponseMsgResp" element="tns:DeleteSnapshotResponse"/>
  </message>
  <message name="DeleteSpotDatafeedSubscriptionRequestMsg">
    <part name="DeleteSpotDatafeedSubscriptionRequestMsgReq" element="tns:DeleteSpotDatafeedSubscription"/>
  </message>
  <message name="DeleteSpotDatafeedSubscriptionResponseMsg">
    <part name="DeleteSpotDatafeedSubscriptionResponseMsgResp" element="tns:DeleteSpotDatafeedSubscriptionResponse"/>
  </message>
  <message name="DeleteSubnetRequestMsg">
    <part name="DeleteSubnetRequestMsgReq" element="tns:DeleteSubnet"/>
  </message>
  <message name="DeleteSubnetResponseMsg">
    <part name="DeleteSubnetResponseMsgResp" element="tns:DeleteSubnetResponse"/>
  </message>
  <message name="DeleteTagsRequestMsg">
    <part name="DeleteTagsRequestMsgReq" element="tns:DeleteTags"/>
  </message>
  <message name="DeleteTagsResponseMsg">
    <part name="DeleteTagsResponseMsgResp" element="tns:DeleteTagsResponse"/>
  </message>
  <message name="DeleteVolumeRequestMsg">
    <part name="DeleteVolumeRequestMsgReq" element="tns:DeleteVolume"/>
  </message>
  <message name="DeleteVolumeResponseMsg">
    <part name="DeleteVolumeResponseMsgResp" element="tns:DeleteVolumeResponse"/>
  </message>
  <message name="DeleteVpcRequestMsg">
    <part name="DeleteVpcRequestMsgReq" element="tns:DeleteVpc"/>
  </message>
  <message name="DeleteVpcResponseMsg">
    <part name="DeleteVpcResponseMsgResp" element="tns:DeleteVpcResponse"/>
  </message>
  <message name="DeleteVpnConnectionRequestMsg">
    <part name="DeleteVpnConnectionRequestMsgReq" element="tns:DeleteVpnConnection"/>
  </message>
  <message name="DeleteVpnConnectionResponseMsg">
    <part name="DeleteVpnConnectionResponseMsgResp" element="tns:DeleteVpnConnectionResponse"/>
  </message>
  <message name="DeleteVpnGatewayRequestMsg">
    <part name="DeleteVpnGatewayRequestMsgReq" element="tns:DeleteVpnGateway"/>
  </message>
  <message name="DeleteVpnGatewayResponseMsg">
    <part name="DeleteVpnGatewayResponseMsgResp" element="tns:DeleteVpnGatewayResponse"/>
  </message>
  <message name="DeregisterImageRequestMsg">
    <part name="DeregisterImageRequestMsgReq" element="tns:DeregisterImage"/>
  </message>
  <message name="DeregisterImageResponseMsg">
    <part name="DeregisterImageResponseMsgResp" element="tns:DeregisterImageResponse"/>
  </message>
  <message name="DescribeAddressesRequestMsg">
    <part name="DescribeAddressesRequestMsgReq" element="tns:DescribeAddresses"/>
  </message>
  <message name="DescribeAddressesResponseMsg">
    <part name="DescribeAddressesResponseMsgResp" element="tns:DescribeAddressesResponse"/>
  </message>
  <message name="DescribeAvailabilityZonesRequestMsg">
    <part name="DescribeAvailabilityZonesRequestMsgReq" element="tns:DescribeAvailabilityZones"/>
  </message>
  <message name="DescribeAvailabilityZonesResponseMsg">
    <part name="DescribeAvailabilityZonesResponseMsgResp" element="tns:DescribeAvailabilityZonesResponse"/>
  </message>
  <message name="DescribeBundleTasksRequestMsg">
    <part name="DescribeBundleTasksRequestMsgReq" element="tns:DescribeBundleTasks"/>
  </message>
  <message name="DescribeBundleTasksResponseMsg">
    <part name="DescribeBundleTasksResponseMsgResp" element="tns:DescribeBundleTasksResponse"/>
  </message>
  <message name="DescribeConversionTasksRequestMsg">
    <part name="DescribeConversionTasksRequestMsgReq" element="tns:DescribeConversionTasks"/>
  </message>
  <message name="DescribeConversionTasksResponseMsg">
    <part name="DescribeConversionTasksResponseMsgResp" element="tns:DescribeConversionTasksResponse"/>
  </message>
  <message name="DescribeCustomerGatewaysRequestMsg">
    <part name="DescribeCustomerGatewaysRequestMsgReq" element="tns:DescribeCustomerGateways"/>
  </message>
  <message name="DescribeCustomerGatewaysResponseMsg">
    <part name="DescribeCustomerGatewaysResponseMsgResp" element="tns:DescribeCustomerGatewaysResponse"/>
  </message>
  <message name="DescribeDhcpOptionsRequestMsg">
    <part name="DescribeDhcpOptionsRequestMsgReq" element="tns:DescribeDhcpOptions"/>
  </message>
  <message name="DescribeDhcpOptionsResponseMsg">
    <part name="DescribeDhcpOptionsResponseMsgResp" element="tns:DescribeDhcpOptionsResponse"/>
  </message>
  <message name="DescribeImageAttributeRequestMsg">
    <part name="DescribeImageAttributeRequestMsgReq" element="tns:DescribeImageAttribute"/>
  </message>
  <message name="DescribeImageAttributeResponseMsg">
    <part name="DescribeImageAttributeResponseMsgResp" element="tns:DescribeImageAttributeResponse"/>
  </message>
  <message name="DescribeImagesRequestMsg">
    <part name="DescribeImagesRequestMsgReq" element="tns:DescribeImages"/>
  </message>
  <message name="DescribeImagesResponseMsg">
    <part name="DescribeImagesResponseMsgResp" element="tns:DescribeImagesResponse"/>
  </message>
  <message name="DescribeInstanceAttributeRequestMsg">
    <part name="DescribeInstanceAttributeRequestMsgReq" element="tns:DescribeInstanceAttribute"/>
  </message>
  <message name="DescribeInstanceAttributeResponseMsg">
    <part name="DescribeInstanceAttributeResponseMsgResp" element="tns:DescribeInstanceAttributeResponse"/>
  </message>
  <message name="DescribeInstancesRequestMsg">
    <part name="DescribeInstancesRequestMsgReq" element="tns:DescribeInstances"/>
  </message>
  <message name="DescribeInstancesResponseMsg">
    <part name="DescribeInstancesResponseMsgResp" element="tns:DescribeInstancesResponse"/>
  </message>
  <message name="DescribeKeyPairsRequestMsg">
    <part name="DescribeKeyPairsRequestMsgReq" element="tns:DescribeKeyPairs"/>
  </message>
  <message name="DescribeKeyPairsResponseMsg">
    <part name="DescribeKeyPairsResponseMsgResp" element="tns:DescribeKeyPairsResponse"/>
  </message>
  <message name="DescribeLicensesRequestMsg">
    <part name="DescribeLicensesRequestMsgReq" element="tns:DescribeLicenses"/>
  </message>
  <message name="DescribeLicensesResponseMsg">
    <part name="DescribeLicensesResponseMsgResp" element="tns:DescribeLicensesResponse"/>
  </message>
  <message name="DescribePlacementGroupsRequestMsg">
    <part name="DescribePlacementGroupsRequestMsgReq" element="tns:DescribePlacementGroups"/>
  </message>
  <message name="DescribePlacementGroupsResponseMsg">
    <part name="DescribePlacementGroupsResponseMsgResp" element="tns:DescribePlacementGroupsResponse"/>
  </message>
  <message name="DescribeRegionsRequestMsg">
    <part name="DescribeRegionsRequestMsgReq" element="tns:DescribeRegions"/>
  </message>
  <message name="DescribeRegionsResponseMsg">
    <part name="DescribeRegionsResponseMsgResp" element="tns:DescribeRegionsResponse"/>
  </message>
  <message name="DescribeReservedInstancesRequestMsg">
    <part name="DescribeReservedInstancesRequestMsgReq" element="tns:DescribeReservedInstances"/>
  </message>
  <message name="DescribeReservedInstancesResponseMsg">
    <part name="DescribeReservedInstancesResponseMsgResp" element="tns:DescribeReservedInstancesResponse"/>
  </message>
  <message name="DescribeReservedInstancesOfferingsRequestMsg">
    <part name="DescribeReservedInstancesOfferingsRequestMsgReq" element="tns:DescribeReservedInstancesOfferings"/>
  </message>
  <message name="DescribeReservedInstancesOfferingsResponseMsg">
    <part name="DescribeReservedInstancesOfferingsResponseMsgResp" element="tns:DescribeReservedInstancesOfferingsResponse"/>
  </message>
  <message name="DescribeSecurityGroupsRequestMsg">
    <part name="DescribeSecurityGroupsRequestMsgReq" element="tns:DescribeSecurityGroups"/>
  </message>
  <message name="DescribeSecurityGroupsResponseMsg">
    <part name="DescribeSecurityGroupsResponseMsgResp" element="tns:DescribeSecurityGroupsResponse"/>
  </message>
  <message name="DescribeSnapshotAttributeRequestMsg">
    <part name="DescribeSnapshotAttributeRequestMsgReq" element="tns:DescribeSnapshotAttribute"/>
  </message>
  <message name="DescribeSnapshotAttributeResponseMsg">
    <part name="DescribeSnapshotAttributeResponseMsgResp" element="tns:DescribeSnapshotAttributeResponse"/>
  </message>
  <message name="DescribeSnapshotsRequestMsg">
    <part name="DescribeSnapshotsRequestMsgReq" element="tns:DescribeSnapshots"/>
  </message>
  <message name="DescribeSnapshotsResponseMsg">
    <part name="DescribeSnapshotsResponseMsgResp" element="tns:DescribeSnapshotsResponse"/>
  </message>
  <message name="DescribeSpotDatafeedSubscriptionRequestMsg">
    <part name="DescribeSpotDatafeedSubscriptionRequestMsgReq" element="tns:DescribeSpotDatafeedSubscription"/>
  </message>
  <message name="DescribeSpotDatafeedSubscriptionResponseMsg">
    <part name="DescribeSpotDatafeedSubscriptionResponseMsgResp" element="tns:DescribeSpotDatafeedSubscriptionResponse"/>
  </message>
  <message name="DescribeSpotInstanceRequestsRequestMsg">
    <part name="DescribeSpotInstanceRequestsRequestMsgReq" element="tns:DescribeSpotInstanceRequests"/>
  </message>
  <message name="DescribeSpotInstanceRequestsResponseMsg">
    <part name="DescribeSpotInstanceRequestsResponseMsgResp" element="tns:DescribeSpotInstanceRequestsResponse"/>
  </message>
  <message name="DescribeSpotPriceHistoryRequestMsg">
    <part name="DescribeSpotPriceHistoryRequestMsgReq" element="tns:DescribeSpotPriceHistory"/>
  </message>
  <message name="DescribeSpotPriceHistoryResponseMsg">
    <part name="DescribeSpotPriceHistoryResponseMsgResp" element="tns:DescribeSpotPriceHistoryResponse"/>
  </message>
  <message name="DescribeSubnetsRequestMsg">
    <part name="DescribeSubnetsRequestMsgReq" element="tns:DescribeSubnets"/>
  </message>
  <message name="DescribeSubnetsResponseMsg">
    <part name="DescribeSubnetsResponseMsgResp" element="tns:DescribeSubnetsResponse"/>
  </message>
  <message name="DescribeTagsRequestMsg">
    <part name="DescribeTagsRequestMsgReq" element="tns:DescribeTags"/>
  </message>
  <message name="DescribeTagsResponseMsg">
    <part name="DescribeTagsResponseMsgResp" element="tns:DescribeTagsResponse"/>
  </message>
  <message name="DescribeVolumesRequestMsg">
    <part name="DescribeVolumesRequestMsgReq" element="tns:DescribeVolumes"/>
  </message>
  <message name="DescribeVolumesResponseMsg">
    <part name="DescribeVolumesResponseMsgResp" element="tns:DescribeVolumesResponse"/>
  </message>
  <message name="DescribeVpcsRequestMsg">
    <part name="DescribeVpcsRequestMsgReq" element="tns:DescribeVpcs"/>
  </message>
  <message name="DescribeVpcsResponseMsg">
    <part name="DescribeVpcsResponseMsgResp" element="tns:DescribeVpcsResponse"/>
  </message>
  <message name="DescribeVpnConnectionsRequestMsg">
    <part name="DescribeVpnConnectionsRequestMsgReq" element="tns:DescribeVpnConnections"/>
  </message>
  <message name="DescribeVpnConnectionsResponseMsg">
    <part name="DescribeVpnConnectionsResponseMsgResp" element="tns:DescribeVpnConnectionsResponse"/>
  </message>
  <message name="DescribeVpnGatewaysRequestMsg">
    <part name="DescribeVpnGatewaysRequestMsgReq" element="tns:DescribeVpnGateways"/>
  </message>
  <message name="DescribeVpnGatewaysResponseMsg">
    <part name="DescribeVpnGatewaysResponseMsgResp" element="tns:DescribeVpnGatewaysResponse"/>
  </message>
  <message name="DetachVolumeRequestMsg">
    <part name="DetachVolumeRequestMsgReq" element="tns:DetachVolume"/>
  </message>
  <message name="DetachVolumeResponseMsg">
    <part name="DetachVolumeResponseMsgResp" element="tns:DetachVolumeResponse"/>
  </message>
  <message name="DetachVpnGatewayRequestMsg">
    <part name="DetachVpnGatewayRequestMsgReq" element="tns:DetachVpnGateway"/>
  </message>
  <message name="DetachVpnGatewayResponseMsg">
    <part name="DetachVpnGatewayResponseMsgResp" element="tns:DetachVpnGatewayResponse"/>
  </message>
  <message name="DisassociateAddressRequestMsg">
    <part name="DisassociateAddressRequestMsgReq" element="tns:DisassociateAddress"/>
  </message>
  <message name="DisassociateAddressResponseMsg">
    <part name="DisassociateAddressResponseMsgResp" element="tns:DisassociateAddressResponse"/>
  </message>
  <message name="GetConsoleOutputRequestMsg">
    <part name="GetConsoleOutputRequestMsgReq" element="tns:GetConsoleOutput"/>
  </message>
  <message name="GetConsoleOutputResponseMsg">
    <part name="GetConsoleOutputResponseMsgResp" element="tns:GetConsoleOutputResponse"/>
  </message>
  <message name="GetPasswordDataRequestMsg">
    <part name="GetPasswordDataRequestMsgReq" element="tns:GetPasswordData"/>
  </message>
  <message name="GetPasswordDataResponseMsg">
    <part name="GetPasswordDataResponseMsgResp" element="tns:GetPasswordDataResponse"/>
  </message>
  <message name="ImportInstanceRequestMsg">
    <part name="ImportInstanceRequestMsgReq" element="tns:ImportInstance"/>
  </message>
  <message name="ImportInstanceResponseMsg">
    <part name="ImportInstanceResponseMsgResp" element="tns:ImportInstanceResponse"/>
  </message>
  <message name="ImportKeyPairRequestMsg">
    <part name="ImportKeyPairRequestMsgReq" element="tns:ImportKeyPair"/>
  </message>
  <message name="ImportKeyPairResponseMsg">
    <part name="ImportKeyPairResponseMsgResp" element="tns:ImportKeyPairResponse"/>
  </message>
  <message name="ImportVolumeRequestMsg">
    <part name="ImportVolumeRequestMsgReq" element="tns:ImportVolume"/>
  </message>
  <message name="ImportVolumeResponseMsg">
    <part name="ImportVolumeResponseMsgResp" element="tns:ImportVolumeResponse"/>
  </message>
  <message name="ModifyImageAttributeRequestMsg">
    <part name="ModifyImageAttributeRequestMsgReq" element="tns:ModifyImageAttribute"/>
  </message>
  <message name="ModifyImageAttributeResponseMsg">
    <part name="ModifyImageAttributeResponseMsgResp" element="tns:ModifyImageAttributeResponse"/>
  </message>
  <message name="ModifyInstanceAttributeRequestMsg">
    <part name="ModifyInstanceAttributeRequestMsgReq" element="tns:ModifyInstanceAttribute"/>
  </message>
  <message name="ModifyInstanceAttributeResponseMsg">
    <part name="ModifyInstanceAttributeResponseMsgResp" element="tns:ModifyInstanceAttributeResponse"/>
  </message>
  <message name="ModifySnapshotAttributeRequestMsg">
    <part name="ModifySnapshotAttributeRequestMsgReq" element="tns:ModifySnapshotAttribute"/>
  </message>
  <message name="ModifySnapshotAttributeResponseMsg">
    <part name="ModifySnapshotAttributeResponseMsgResp" element="tns:ModifySnapshotAttributeResponse"/>
  </message>
  <message name="MonitorInstancesRequestMsg">
    <part name="MonitorInstancesRequestMsgReq" element="tns:MonitorInstances"/>
  </message>
  <message name="MonitorInstancesResponseMsg">
    <part name="MonitorInstancesResponseMsgResp" element="tns:MonitorInstancesResponse"/>
  </message>
  <message name="PurchaseReservedInstancesOfferingRequestMsg">
    <part name="PurchaseReservedInstancesOfferingRequestMsgReq" element="tns:PurchaseReservedInstancesOffering"/>
  </message>
  <message name="PurchaseReservedInstancesOfferingResponseMsg">
    <part name="PurchaseReservedInstancesOfferingResponseMsgResp" element="tns:PurchaseReservedInstancesOfferingResponse"/>
  </message>
  <message name="RebootInstancesRequestMsg">
    <part name="RebootInstancesRequestMsgReq" element="tns:RebootInstances"/>
  </message>
  <message name="RebootInstancesResponseMsg">
    <part name="RebootInstancesResponseMsgResp" element="tns:RebootInstancesResponse"/>
  </message>
  <message name="RegisterImageRequestMsg">
    <part name="RegisterImageRequestMsgReq" element="tns:RegisterImage"/>
  </message>
  <message name="RegisterImageResponseMsg">
    <part name="RegisterImageResponseMsgResp" element="tns:RegisterImageResponse"/>
  </message>
  <message name="ReleaseAddressRequestMsg">
    <part name="ReleaseAddressRequestMsgReq" element="tns:ReleaseAddress"/>
  </message>
  <message name="ReleaseAddressResponseMsg">
    <part name="ReleaseAddressResponseMsgResp" element="tns:ReleaseAddressResponse"/>
  </message>
  <message name="RequestSpotInstancesRequestMsg">
    <part name="RequestSpotInstancesRequestMsgReq" element="tns:RequestSpotInstances"/>
  </message>
  <message name="RequestSpotInstancesResponseMsg">
    <part name="RequestSpotInstancesResponseMsgResp" element="tns:RequestSpotInstancesResponse"/>
  </message>
  <message name="ResetImageAttributeRequestMsg">
    <part name="ResetImageAttributeRequestMsgReq" element="tns:ResetImageAttribute"/>
  </message>
  <message name="ResetImageAttributeResponseMsg">
    <part name="ResetImageAttributeResponseMsgResp" element="tns:ResetImageAttributeResponse"/>
  </message>
  <message name="ResetInstanceAttributeRequestMsg">
    <part name="ResetInstanceAttributeRequestMsgReq" element="tns:ResetInstanceAttribute"/>
  </message>
  <message name="ResetInstanceAttributeResponseMsg">
    <part name="ResetInstanceAttributeResponseMsgResp" element="tns:ResetInstanceAttributeResponse"/>
  </message>
  <message name="ResetSnapshotAttributeRequestMsg">
    <part name="ResetSnapshotAttributeRequestMsgReq" element="tns:ResetSnapshotAttribute"/>
  </message>
  <message name="ResetSnapshotAttributeResponseMsg">
    <part name="ResetSnapshotAttributeResponseMsgResp" element="tns:ResetSnapshotAttributeResponse"/>
  </message>
  <message name="RevokeSecurityGroupIngressRequestMsg">
    <part name="RevokeSecurityGroupIngressRequestMsgReq" element="tns:RevokeSecurityGroupIngress"/>
  </message>
  <message name="RevokeSecurityGroupIngressResponseMsg">
    <part name="RevokeSecurityGroupIngressResponseMsgResp" element="tns:RevokeSecurityGroupIngressResponse"/>
  </message>
  <message name="RunInstancesRequestMsg">
    <part name="RunInstancesRequestMsgReq" element="tns:RunInstances"/>
  </message>
  <message name="RunInstancesResponseMsg">
    <part name="RunInstancesResponseMsgResp" element="tns:RunInstancesResponse"/>
  </message>
  <message name="StartInstancesRequestMsg">
    <part name="StartInstancesRequestMsgReq" element="tns:StartInstances"/>
  </message>
  <message name="StartInstancesResponseMsg">
    <part name="StartInstancesResponseMsgResp" element="tns:StartInstancesResponse"/>
  </message>
  <message name="StopInstancesRequestMsg">
    <part name="StopInstancesRequestMsgReq" element="tns:StopInstances"/>
  </message>
  <message name="StopInstancesResponseMsg">
    <part name="StopInstancesResponseMsgResp" element="tns:StopInstancesResponse"/>
  </message>
  <message name="TerminateInstancesRequestMsg">
    <part name="TerminateInstancesRequestMsgReq" element="tns:TerminateInstances"/>
  </message>
  <message name="TerminateInstancesResponseMsg">
    <part name="TerminateInstancesResponseMsgResp" element="tns:TerminateInstancesResponse"/>
  </message>
  <message name="UnmonitorInstancesRequestMsg">
    <part name="UnmonitorInstancesRequestMsgReq" element="tns:UnmonitorInstances"/>
  </message>
  <message name="UnmonitorInstancesResponseMsg">
    <part name="UnmonitorInstancesResponseMsgResp" element="tns:UnmonitorInstancesResponse"/>
  </message>
  <portType name="AmazonEC2PortType">
    <operation name="ActivateLicense">
      <input message="tns:ActivateLicenseRequestMsg"/>
      <output message="tns:ActivateLicenseResponseMsg"/>
    </operation>
    <operation name="AllocateAddress">
      <input message="tns:AllocateAddressRequestMsg"/>
      <output message="tns:AllocateAddressResponseMsg"/>
    </operation>
    <operation name="AssociateAddress">
      <input message="tns:AssociateAddressRequestMsg"/>
      <output message="tns:AssociateAddressResponseMsg"/>
    </operation>
    <operation name="AssociateDhcpOptions">
      <input message="tns:AssociateDhcpOptionsRequestMsg"/>
      <output message="tns:AssociateDhcpOptionsResponseMsg"/>
    </operation>
    <operation name="AttachVolume">
      <input message="tns:AttachVolumeRequestMsg"/>
      <output message="tns:AttachVolumeResponseMsg"/>
    </operation>
    <operation name="AttachVpnGateway">
      <input message="tns:AttachVpnGatewayRequestMsg"/>
      <output message="tns:AttachVpnGatewayResponseMsg"/>
    </operation>
    <operation name="AuthorizeSecurityGroupIngress">
      <input message="tns:AuthorizeSecurityGroupIngressRequestMsg"/>
      <output message="tns:AuthorizeSecurityGroupIngressResponseMsg"/>
    </operation>
    <operation name="BundleInstance">
      <input message="tns:BundleInstanceRequestMsg"/>
      <output message="tns:BundleInstanceResponseMsg"/>
    </operation>
    <operation name="CancelBundleTask">
      <input message="tns:CancelBundleTaskRequestMsg"/>
      <output message="tns:CancelBundleTaskResponseMsg"/>
    </operation>
    <operation name="CancelConversionTask">
      <input message="tns:CancelConversionTaskRequestMsg"/>
      <output message="tns:CancelConversionTaskResponseMsg"/>
    </operation>
    <operation name="CancelSpotInstanceRequests">
      <input message="tns:CancelSpotInstanceRequestsRequestMsg"/>
      <output message="tns:CancelSpotInstanceRequestsResponseMsg"/>
    </operation>
    <operation name="ConfirmProductInstance">
      <input message="tns:ConfirmProductInstanceRequestMsg"/>
      <output message="tns:ConfirmProductInstanceResponseMsg"/>
    </operation>
    <operation name="CreateCustomerGateway">
      <input message="tns:CreateCustomerGatewayRequestMsg"/>
      <output message="tns:CreateCustomerGatewayResponseMsg"/>
    </operation>
    <operation name="CreateDhcpOptions">
      <input message="tns:CreateDhcpOptionsRequestMsg"/>
      <output message="tns:CreateDhcpOptionsResponseMsg"/>
    </operation>
    <operation name="CreateImage">
      <input message="tns:CreateImageRequestMsg"/>
      <output message="tns:CreateImageResponseMsg"/>
    </operation>
    <operation name="CreateKeyPair">
      <input message="tns:CreateKeyPairRequestMsg"/>
      <output message="tns:CreateKeyPairResponseMsg"/>
    </operation>
    <operation name="CreatePlacementGroup">
      <input message="tns:CreatePlacementGroupRequestMsg"/>
      <output message="tns:CreatePlacementGroupResponseMsg"/>
    </operation>
    <operation name="CreateSecurityGroup">
      <input message="tns:CreateSecurityGroupRequestMsg"/>
      <output message="tns:CreateSecurityGroupResponseMsg"/>
    </operation>
    <operation name="CreateSnapshot">
      <input message="tns:CreateSnapshotRequestMsg"/>
      <output message="tns:CreateSnapshotResponseMsg"/>
    </operation>
    <operation name="CreateSpotDatafeedSubscription">
      <input message="tns:CreateSpotDatafeedSubscriptionRequestMsg"/>
      <output message="tns:CreateSpotDatafeedSubscriptionResponseMsg"/>
    </operation>
    <operation name="CreateSubnet">
      <input message="tns:CreateSubnetRequestMsg"/>
      <output message="tns:CreateSubnetResponseMsg"/>
    </operation>
    <operation name="CreateTags">
      <input message="tns:CreateTagsRequestMsg"/>
      <output message="tns:CreateTagsResponseMsg"/>
    </operation>
    <operation name="CreateVolume">
      <input message="tns:CreateVolumeRequestMsg"/>
      <output message="tns:CreateVolumeResponseMsg"/>
    </operation>
    <operation name="CreateVpc">
      <input message="tns:CreateVpcRequestMsg"/>
      <output message="tns:CreateVpcResponseMsg"/>
    </operation>
    <operation name="CreateVpnConnection">
      <input message="tns:CreateVpnConnectionRequestMsg"/>
      <output message="tns:CreateVpnConnectionResponseMsg"/>
    </operation>
    <operation name="CreateVpnGateway">
      <input message="tns:CreateVpnGatewayRequestMsg"/>
      <output message="tns:CreateVpnGatewayResponseMsg"/>
    </operation>
    <operation name="DeactivateLicense">
      <input message="tns:DeactivateLicenseRequestMsg"/>
      <output message="tns:DeactivateLicenseResponseMsg"/>
    </operation>
    <operation name="DeleteCustomerGateway">
      <input message="tns:DeleteCustomerGatewayRequestMsg"/>
      <output message="tns:DeleteCustomerGatewayResponseMsg"/>
    </operation>
    <operation name="DeleteDhcpOptions">
      <input message="tns:DeleteDhcpOptionsRequestMsg"/>
      <output message="tns:DeleteDhcpOptionsResponseMsg"/>
    </operation>
    <operation name="DeleteKeyPair">
      <input message="tns:DeleteKeyPairRequestMsg"/>
      <output message="tns:DeleteKeyPairResponseMsg"/>
    </operation>
    <operation name="DeletePlacementGroup">
      <input message="tns:DeletePlacementGroupRequestMsg"/>
      <output message="tns:DeletePlacementGroupResponseMsg"/>
    </operation>
    <operation name="DeleteSecurityGroup">
      <input message="tns:DeleteSecurityGroupRequestMsg"/>
      <output message="tns:DeleteSecurityGroupResponseMsg"/>
    </operation>
    <operation name="DeleteSnapshot">
      <input message="tns:DeleteSnapshotRequestMsg"/>
      <output message="tns:DeleteSnapshotResponseMsg"/>
    </operation>
    <operation name="DeleteSpotDatafeedSubscription">
      <input message="tns:DeleteSpotDatafeedSubscriptionRequestMsg"/>
      <output message="tns:DeleteSpotDatafeedSubscriptionResponseMsg"/>
    </operation>
    <operation name="DeleteSubnet">
      <input message="tns:DeleteSubnetRequestMsg"/>
      <output message="tns:DeleteSubnetResponseMsg"/>
    </operation>
    <operation name="DeleteTags">
      <input message="tns:DeleteTagsRequestMsg"/>
      <output message="tns:DeleteTagsResponseMsg"/>
    </operation>
    <operation name="DeleteVolume">
      <input message="tns:DeleteVolumeRequestMsg"/>
      <output message="tns:DeleteVolumeResponseMsg"/>
    </operation>
    <operation name="DeleteVpc">
      <input message="tns:DeleteVpcRequestMsg"/>
      <output message="tns:DeleteVpcResponseMsg"/>
    </operation>
    <operation name="DeleteVpnConnection">
      <input message="tns:DeleteVpnConnectionRequestMsg"/>
      <output message="tns:DeleteVpnConnectionResponseMsg"/>
    </operation>
    <operation name="DeleteVpnGateway">
      <input message="tns:DeleteVpnGatewayRequestMsg"/>
      <output message="tns:DeleteVpnGatewayResponseMsg"/>
    </operation>
    <operation name="DeregisterImage">
      <input message="tns:DeregisterImageRequestMsg"/>
      <output message="tns:DeregisterImageResponseMsg"/>
    </operation>
    <operation name="DescribeAddresses">
      <input message="tns:DescribeAddressesRequestMsg"/>
      <output message="tns:DescribeAddressesResponseMsg"/>
    </operation>
    <operation name="DescribeAvailabilityZones">
      <input message="tns:DescribeAvailabilityZonesRequestMsg"/>
      <output message="tns:DescribeAvailabilityZonesResponseMsg"/>
    </operation>
    <operation name="DescribeBundleTasks">
      <input message="tns:DescribeBundleTasksRequestMsg"/>
      <output message="tns:DescribeBundleTasksResponseMsg"/>
    </operation>
    <operation name="DescribeConversionTasks">
      <input message="tns:DescribeConversionTasksRequestMsg"/>
      <output message="tns:DescribeConversionTasksResponseMsg"/>
    </operation>
    <operation name="DescribeCustomerGateways">
      <input message="tns:DescribeCustomerGatewaysRequestMsg"/>
      <output message="tns:DescribeCustomerGatewaysResponseMsg"/>
    </operation>
    <operation name="DescribeDhcpOptions">
      <input message="tns:DescribeDhcpOptionsRequestMsg"/>
      <output message="tns:DescribeDhcpOptionsResponseMsg"/>
    </operation>
    <operation name="DescribeImageAttribute">
      <input message="tns:DescribeImageAttributeRequestMsg"/>
      <output message="tns:DescribeImageAttributeResponseMsg"/>
    </operation>
    <operation name="DescribeImages">
      <input message="tns:DescribeImagesRequestMsg"/>
      <output message="tns:DescribeImagesResponseMsg"/>
    </operation>
    <operation name="DescribeInstanceAttribute">
      <input message="tns:DescribeInstanceAttributeRequestMsg"/>
      <output message="tns:DescribeInstanceAttributeResponseMsg"/>
    </operation>
    <operation name="DescribeInstances">
      <input message="tns:DescribeInstancesRequestMsg"/>
      <output message="tns:DescribeInstancesResponseMsg"/>
    </operation>
    <operation name="DescribeKeyPairs">
      <input message="tns:DescribeKeyPairsRequestMsg"/>
      <output message="tns:DescribeKeyPairsResponseMsg"/>
    </operation>
    <operation name="DescribeLicenses">
      <input message="tns:DescribeLicensesRequestMsg"/>
      <output message="tns:DescribeLicensesResponseMsg"/>
    </operation>
    <operation name="DescribePlacementGroups">
      <input message="tns:DescribePlacementGroupsRequestMsg"/>
      <output message="tns:DescribePlacementGroupsResponseMsg"/>
    </operation>
    <operation name="DescribeRegions">
      <input message="tns:DescribeRegionsRequestMsg"/>
      <output message="tns:DescribeRegionsResponseMsg"/>
    </operation>
    <operation name="DescribeReservedInstances">
      <input message="tns:DescribeReservedInstancesRequestMsg"/>
      <output message="tns:DescribeReservedInstancesResponseMsg"/>
    </operation>
    <operation name="DescribeReservedInstancesOfferings">
      <input message="tns:DescribeReservedInstancesOfferingsRequestMsg"/>
      <output message="tns:DescribeReservedInstancesOfferingsResponseMsg"/>
    </operation>
    <operation name="DescribeSecurityGroups">
      <input message="tns:DescribeSecurityGroupsRequestMsg"/>
      <output message="tns:DescribeSecurityGroupsResponseMsg"/>
    </operation>
    <operation name="DescribeSnapshotAttribute">
      <input message="tns:DescribeSnapshotAttributeRequestMsg"/>
      <output message="tns:DescribeSnapshotAttributeResponseMsg"/>
    </operation>
    <operation name="DescribeSnapshots">
      <input message="tns:DescribeSnapshotsRequestMsg"/>
      <output message="tns:DescribeSnapshotsResponseMsg"/>
    </operation>
    <operation name="DescribeSpotDatafeedSubscription">
      <input message="tns:DescribeSpotDatafeedSubscriptionRequestMsg"/>
      <output message="tns:DescribeSpotDatafeedSubscriptionResponseMsg"/>
    </operation>
    <operation name="DescribeSpotInstanceRequests">
      <input message="tns:DescribeSpotInstanceRequestsRequestMsg"/>
      <output message="tns:DescribeSpotInstanceRequestsResponseMsg"/>
    </operation>
    <operation name="DescribeSpotPriceHistory">
      <input message="tns:DescribeSpotPriceHistoryRequestMsg"/>
      <output message="tns:DescribeSpotPriceHistoryResponseMsg"/>
    </operation>
    <operation name="DescribeSubnets">
      <input message="tns:DescribeSubnetsRequestMsg"/>
      <output message="tns:DescribeSubnetsResponseMsg"/>
    </operation>
    <operation name="DescribeTags">
      <input message="tns:DescribeTagsRequestMsg"/>
      <output message="tns:DescribeTagsResponseMsg"/>
    </operation>
    <operation name="DescribeVolumes">
      <input message="tns:DescribeVolumesRequestMsg"/>
      <output message="tns:DescribeVolumesResponseMsg"/>
    </operation>
    <operation name="DescribeVpcs">
      <input message="tns:DescribeVpcsRequestMsg"/>
      <output message="tns:DescribeVpcsResponseMsg"/>
    </operation>
    <operation name="DescribeVpnConnections">
      <input message="tns:DescribeVpnConnectionsRequestMsg"/>
      <output message="tns:DescribeVpnConnectionsResponseMsg"/>
    </operation>
    <operation name="DescribeVpnGateways">
      <input message="tns:DescribeVpnGatewaysRequestMsg"/>
      <output message="tns:DescribeVpnGatewaysResponseMsg"/>
    </operation>
    <operation name="DetachVolume">
      <input message="tns:DetachVolumeRequestMsg"/>
      <output message="tns:DetachVolumeResponseMsg"/>
    </operation>
    <operation name="DetachVpnGateway">
      <input message="tns:DetachVpnGatewayRequestMsg"/>
      <output message="tns:DetachVpnGatewayResponseMsg"/>
    </operation>
    <operation name="DisassociateAddress">
      <input message="tns:DisassociateAddressRequestMsg"/>
      <output message="tns:DisassociateAddressResponseMsg"/>
    </operation>
    <operation name="GetConsoleOutput">
      <input message="tns:GetConsoleOutputRequestMsg"/>
      <output message="tns:GetConsoleOutputResponseMsg"/>
    </operation>
    <operation name="GetPasswordData">
      <input message="tns:GetPasswordDataRequestMsg"/>
      <output message="tns:GetPasswordDataResponseMsg"/>
    </operation>
    <operation name="ImportInstance">
      <input message="tns:ImportInstanceRequestMsg"/>
      <output message="tns:ImportInstanceResponseMsg"/>
    </operation>
    <operation name="ImportKeyPair">
      <input message="tns:ImportKeyPairRequestMsg"/>
      <output message="tns:ImportKeyPairResponseMsg"/>
    </operation>
    <operation name="ImportVolume">
      <input message="tns:ImportVolumeRequestMsg"/>
      <output message="tns:ImportVolumeResponseMsg"/>
    </operation>
    <operation name="ModifyImageAttribute">
      <input message="tns:ModifyImageAttributeRequestMsg"/>
      <output message="tns:ModifyImageAttributeResponseMsg"/>
    </operation>
    <operation name="ModifyInstanceAttribute">
      <input message="tns:ModifyInstanceAttributeRequestMsg"/>
      <output message="tns:ModifyInstanceAttributeResponseMsg"/>
    </operation>
    <operation name="ModifySnapshotAttribute">
      <input message="tns:ModifySnapshotAttributeRequestMsg"/>
      <output message="tns:ModifySnapshotAttributeResponseMsg"/>
    </operation>
    <operation name="MonitorInstances">
      <input message="tns:MonitorInstancesRequestMsg"/>
      <output message="tns:MonitorInstancesResponseMsg"/>
    </operation>
    <operation name="PurchaseReservedInstancesOffering">
      <input message="tns:PurchaseReservedInstancesOfferingRequestMsg"/>
      <output message="tns:PurchaseReservedInstancesOfferingResponseMsg"/>
    </operation>
    <operation name="RebootInstances">
      <input message="tns:RebootInstancesRequestMsg"/>
      <output message="tns:RebootInstancesResponseMsg"/>
    </operation>
    <operation name="RegisterImage">
      <input message="tns:RegisterImageRequestMsg"/>
      <output message="tns:RegisterImageResponseMsg"/>
    </operation>
    <operation name="ReleaseAddress">
      <input message="tns:ReleaseAddressRequestMsg"/>
      <output message="tns:ReleaseAddressResponseMsg"/>
    </operation>
    <operation name="RequestSpotInstances">
      <input message="tns:RequestSpotInstancesRequestMsg"/>
      <output message="tns:RequestSpotInstancesResponseMsg"/>
    </operation>
    <operation name="ResetImageAttribute">
      <input message="tns:ResetImageAttributeRequestMsg"/>
      <output message="tns:ResetImageAttributeResponseMsg"/>
    </operation>
    <operation name="ResetInstanceAttribute">
      <input message="tns:ResetInstanceAttributeRequestMsg"/>
      <output message="tns:ResetInstanceAttributeResponseMsg"/>
    </operation>
    <operation name="ResetSnapshotAttribute">
      <input message="tns:ResetSnapshotAttributeRequestMsg"/>
      <output message="tns:ResetSnapshotAttributeResponseMsg"/>
    </operation>
    <operation name="RevokeSecurityGroupIngress">
      <input message="tns:RevokeSecurityGroupIngressRequestMsg"/>
      <output message="tns:RevokeSecurityGroupIngressResponseMsg"/>
    </operation>
    <operation name="RunInstances">
      <input message="tns:RunInstancesRequestMsg"/>
      <output message="tns:RunInstancesResponseMsg"/>
    </operation>
    <operation name="StartInstances">
      <input message="tns:StartInstancesRequestMsg"/>
      <output message="tns:StartInstancesResponseMsg"/>
    </operation>
    <operation name="StopInstances">
      <input message="tns:StopInstancesRequestMsg"/>
      <output message="tns:StopInstancesResponseMsg"/>
    </operation>
    <operation name="TerminateInstances">
      <input message="tns:TerminateInstancesRequestMsg"/>
      <output message="tns:TerminateInstancesResponseMsg"/>
    </operation>
    <operation name="UnmonitorInstances">
      <input message="tns:UnmonitorInstancesRequestMsg"/>
      <output message="tns:UnmonitorInstancesResponseMsg"/>
    </operation>
  </portType>
  <binding type="tns:AmazonEC2PortType" name="AmazonEC2Binding">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="ActivateLicense">
      <soap:operation soapAction="ActivateLicense"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="AllocateAddress">
      <soap:operation soapAction="AllocateAddress"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="AssociateAddress">
      <soap:operation soapAction="AssociateAddress"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="AssociateDhcpOptions">
      <soap:operation soapAction="AssociateDhcpOptions"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="AttachVolume">
      <soap:operation soapAction="AttachVolume"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="AttachVpnGateway">
      <soap:operation soapAction="AttachVpnGateway"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="AuthorizeSecurityGroupIngress">
      <soap:operation soapAction="AuthorizeSecurityGroupIngress"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="BundleInstance">
      <soap:operation soapAction="BundleInstance"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CancelBundleTask">
      <soap:operation soapAction="CancelBundleTask"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CancelConversionTask">
      <soap:operation soapAction="CancelConversionTask"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CancelSpotInstanceRequests">
      <soap:operation soapAction="CancelSpotInstanceRequests"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ConfirmProductInstance">
      <soap:operation soapAction="ConfirmProductInstance"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateCustomerGateway">
      <soap:operation soapAction="CreateCustomerGateway"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateDhcpOptions">
      <soap:operation soapAction="CreateDhcpOptions"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateImage">
      <soap:operation soapAction="CreateImage"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateKeyPair">
      <soap:operation soapAction="CreateKeyPair"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreatePlacementGroup">
      <soap:operation soapAction="CreatePlacementGroup"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateSecurityGroup">
      <soap:operation soapAction="CreateSecurityGroup"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateSnapshot">
      <soap:operation soapAction="CreateSnapshot"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateSpotDatafeedSubscription">
      <soap:operation soapAction="CreateSpotDatafeedSubscription"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateSubnet">
      <soap:operation soapAction="CreateSubnet"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateTags">
      <soap:operation soapAction="CreateTags"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateVolume">
      <soap:operation soapAction="CreateVolume"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateVpc">
      <soap:operation soapAction="CreateVpc"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateVpnConnection">
      <soap:operation soapAction="CreateVpnConnection"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateVpnGateway">
      <soap:operation soapAction="CreateVpnGateway"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeactivateLicense">
      <soap:operation soapAction="DeactivateLicense"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteCustomerGateway">
      <soap:operation soapAction="DeleteCustomerGateway"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteDhcpOptions">
      <soap:operation soapAction="DeleteDhcpOptions"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteKeyPair">
      <soap:operation soapAction="DeleteKeyPair"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeletePlacementGroup">
      <soap:operation soapAction="DeletePlacementGroup"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteSecurityGroup">
      <soap:operation soapAction="DeleteSecurityGroup"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteSnapshot">
      <soap:operation soapAction="DeleteSnapshot"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteSpotDatafeedSubscription">
      <soap:operation soapAction="DeleteSpotDatafeedSubscription"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteSubnet">
      <soap:operation soapAction="DeleteSubnet"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteTags">
      <soap:operation soapAction="DeleteTags"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteVolume">
      <soap:operation soapAction="DeleteVolume"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteVpc">
      <soap:operation soapAction="DeleteVpc"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteVpnConnection">
      <soap:operation soapAction="DeleteVpnConnection"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteVpnGateway">
      <soap:operation soapAction="DeleteVpnGateway"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeregisterImage">
      <soap:operation soapAction="DeregisterImage"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeAddresses">
      <soap:operation soapAction="DescribeAddresses"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeAvailabilityZones">
      <soap:operation soapAction="DescribeAvailabilityZones"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeBundleTasks">
      <soap:operation soapAction="DescribeBundleTasks"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeConversionTasks">
      <soap:operation soapAction="DescribeConversionTasks"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeCustomerGateways">
      <soap:operation soapAction="DescribeCustomerGateways"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeDhcpOptions">
      <soap:operation soapAction="DescribeDhcpOptions"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeImageAttribute">
      <soap:operation soapAction="DescribeImageAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeImages">
      <soap:operation soapAction="DescribeImages"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeInstanceAttribute">
      <soap:operation soapAction="DescribeInstanceAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeInstances">
      <soap:operation soapAction="DescribeInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeKeyPairs">
      <soap:operation soapAction="DescribeKeyPairs"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeLicenses">
      <soap:operation soapAction="DescribeLicenses"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribePlacementGroups">
      <soap:operation soapAction="DescribePlacementGroups"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeRegions">
      <soap:operation soapAction="DescribeRegions"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeReservedInstances">
      <soap:operation soapAction="DescribeReservedInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeReservedInstancesOfferings">
      <soap:operation soapAction="DescribeReservedInstancesOfferings"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSecurityGroups">
      <soap:operation soapAction="DescribeSecurityGroups"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSnapshotAttribute">
      <soap:operation soapAction="DescribeSnapshotAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSnapshots">
      <soap:operation soapAction="DescribeSnapshots"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSpotDatafeedSubscription">
      <soap:operation soapAction="DescribeSpotDatafeedSubscription"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSpotInstanceRequests">
      <soap:operation soapAction="DescribeSpotInstanceRequests"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSpotPriceHistory">
      <soap:operation soapAction="DescribeSpotPriceHistory"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeSubnets">
      <soap:operation soapAction="DescribeSubnets"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeTags">
      <soap:operation soapAction="DescribeTags"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeVolumes">
      <soap:operation soapAction="DescribeVolumes"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeVpcs">
      <soap:operation soapAction="DescribeVpcs"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeVpnConnections">
      <soap:operation soapAction="DescribeVpnConnections"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DescribeVpnGateways">
      <soap:operation soapAction="DescribeVpnGateways"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DetachVolume">
      <soap:operation soapAction="DetachVolume"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DetachVpnGateway">
      <soap:operation soapAction="DetachVpnGateway"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DisassociateAddress">
      <soap:operation soapAction="DisassociateAddress"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetConsoleOutput">
      <soap:operation soapAction="GetConsoleOutput"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPasswordData">
      <soap:operation soapAction="GetPasswordData"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ImportInstance">
      <soap:operation soapAction="ImportInstance"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ImportKeyPair">
      <soap:operation soapAction="ImportKeyPair"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ImportVolume">
      <soap:operation soapAction="ImportVolume"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ModifyImageAttribute">
      <soap:operation soapAction="ModifyImageAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ModifyInstanceAttribute">
      <soap:operation soapAction="ModifyInstanceAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ModifySnapshotAttribute">
      <soap:operation soapAction="ModifySnapshotAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="MonitorInstances">
      <soap:operation soapAction="MonitorInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="PurchaseReservedInstancesOffering">
      <soap:operation soapAction="PurchaseReservedInstancesOffering"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RebootInstances">
      <soap:operation soapAction="RebootInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RegisterImage">
      <soap:operation soapAction="RegisterImage"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ReleaseAddress">
      <soap:operation soapAction="ReleaseAddress"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RequestSpotInstances">
      <soap:operation soapAction="RequestSpotInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ResetImageAttribute">
      <soap:operation soapAction="ResetImageAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ResetInstanceAttribute">
      <soap:operation soapAction="ResetInstanceAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ResetSnapshotAttribute">
      <soap:operation soapAction="ResetSnapshotAttribute"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RevokeSecurityGroupIngress">
      <soap:operation soapAction="RevokeSecurityGroupIngress"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RunInstances">
      <soap:operation soapAction="RunInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="StartInstances">
      <soap:operation soapAction="StartInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="StopInstances">
      <soap:operation soapAction="StopInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="TerminateInstances">
      <soap:operation soapAction="TerminateInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="UnmonitorInstances">
      <soap:operation soapAction="UnmonitorInstances"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="AmazonEC2">
    <port binding="tns:AmazonEC2Binding" name="AmazonEC2Port">
      <soap:address location="https://ec2.amazonaws.com/"/>
    </port>
  </service>
</definitions>
