<?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="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="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: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="InstanceStateType">
        <xs:sequence>
          <xs:element name="code" type="xs:int"/>
          <xs:element name="name" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="InstanceMonitoringStateType">
        <xs:sequence>
          <xs:element name="state" 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="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: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: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="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: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="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: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="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:complexType name="AttributeValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
     
      <xs:element name="ModifyInstanceAttribute" type="tns:ModifyInstanceAttributeType"/>

      <xs:complexType name="AttributeBooleanValueType">
        <xs:sequence>
          <xs:element name="value" type="xs:boolean"/>
        </xs:sequence>
      </xs:complexType>

      <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="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="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="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="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="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:schema>
  </types>
  
  <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="CreateSpotDatafeedSubscriptionRequestMsg">
    <part name="CreateSpotDatafeedSubscriptionRequestMsgReq" element="tns:CreateSpotDatafeedSubscription"/>
  </message>
  <message name="CreateSpotDatafeedSubscriptionResponseMsg">
    <part name="CreateSpotDatafeedSubscriptionResponseMsgResp" element="tns:CreateSpotDatafeedSubscriptionResponse"/>
  </message>
  
  <message name="DeleteSpotDatafeedSubscriptionRequestMsg">
    <part name="DeleteSpotDatafeedSubscriptionRequestMsgReq" element="tns:DeleteSpotDatafeedSubscription"/>
  </message>
  <message name="DeleteSpotDatafeedSubscriptionResponseMsg">
    <part name="DeleteSpotDatafeedSubscriptionResponseMsgResp" element="tns:DeleteSpotDatafeedSubscriptionResponse"/>
  </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="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="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="GetConsoleOutputRequestMsg">
    <part name="GetConsoleOutputRequestMsgReq" element="tns:GetConsoleOutput"/>
  </message>
  <message name="GetConsoleOutputResponseMsg">
    <part name="GetConsoleOutputResponseMsgResp" element="tns:GetConsoleOutputResponse"/>
  </message>
  
  <message name="ModifyInstanceAttributeRequestMsg">
    <part name="ModifyInstanceAttributeRequestMsgReq" element="tns:ModifyInstanceAttribute"/>
  </message>
  <message name="ModifyInstanceAttributeResponseMsg">
    <part name="ModifyInstanceAttributeResponseMsgResp" element="tns:ModifyInstanceAttributeResponse"/>
  </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="RequestSpotInstancesRequestMsg">
    <part name="RequestSpotInstancesRequestMsgReq" element="tns:RequestSpotInstances"/>
  </message>
  <message name="RequestSpotInstancesResponseMsg">
    <part name="RequestSpotInstancesResponseMsgResp" element="tns:RequestSpotInstancesResponse"/>
  </message>
  
  <message name="ResetInstanceAttributeRequestMsg">
    <part name="ResetInstanceAttributeRequestMsgReq" element="tns:ResetInstanceAttribute"/>
  </message>
  <message name="ResetInstanceAttributeResponseMsg">
    <part name="ResetInstanceAttributeResponseMsgResp" element="tns:ResetInstanceAttributeResponse"/>
  </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>
  
  <portType name="AmazonEC2PortType">
    
    
    <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="CreateSpotDatafeedSubscription">
      <input message="tns:CreateSpotDatafeedSubscriptionRequestMsg"/>
      <output message="tns:CreateSpotDatafeedSubscriptionResponseMsg"/>
    </operation>
    
    
    <operation name="DeleteSpotDatafeedSubscription">
      <input message="tns:DeleteSpotDatafeedSubscriptionRequestMsg"/>
      <output message="tns:DeleteSpotDatafeedSubscriptionResponseMsg"/>
    </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="DescribeReservedInstances">
      <input message="tns:DescribeReservedInstancesRequestMsg"/>
      <output message="tns:DescribeReservedInstancesResponseMsg"/>
    </operation>
    <operation name="DescribeReservedInstancesOfferings">
      <input message="tns:DescribeReservedInstancesOfferingsRequestMsg"/>
      <output message="tns:DescribeReservedInstancesOfferingsResponseMsg"/>
    </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="GetConsoleOutput">
      <input message="tns:GetConsoleOutputRequestMsg"/>
      <output message="tns:GetConsoleOutputResponseMsg"/>
    </operation>
    
    <operation name="ModifyInstanceAttribute">
      <input message="tns:ModifyInstanceAttributeRequestMsg"/>
      <output message="tns:ModifyInstanceAttributeResponseMsg"/>
    </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="RequestSpotInstances">
      <input message="tns:RequestSpotInstancesRequestMsg"/>
      <output message="tns:RequestSpotInstancesResponseMsg"/>
    </operation>
   
    <operation name="ResetInstanceAttribute">
      <input message="tns:ResetInstanceAttributeRequestMsg"/>
      <output message="tns:ResetInstanceAttributeResponseMsg"/>
    </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>
    
  </portType>
  <binding type="tns:AmazonEC2PortType" name="AmazonEC2Binding">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    
    <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="CreateSpotDatafeedSubscription">
      <soap:operation soapAction="CreateSpotDatafeedSubscription"/>
      <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="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="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="GetConsoleOutput">
      <soap:operation soapAction="GetConsoleOutput"/>
      <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="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="RequestSpotInstances">
      <soap:operation soapAction="RequestSpotInstances"/>
      <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="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>    
  </binding>
  <service name="AmazonEC2">
    <port binding="tns:AmazonEC2Binding" name="AmazonEC2Port">
      <soap:address location="https://ec2.amazonaws.com/"/>
    </port>
  </service>
</definitions>
