<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/sqs">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/devkit/current/mule-devkit.xsd" namespace="http://www.mulesoft.org/schema/mule/devkit"></xs:import>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:complexType name="XmlType">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
    </xs:sequence>
    <xs:attribute name="ref" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation>The reference object for this parameter</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element xmlns:devkit="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config" substitutionGroup="mule:abstract-extension" devkit:javaClass="org.mule.modules.amazon.adapters.SQSConnectorConnectionManager">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>Amazon Simple Queue Service (Amazon SQS) is a distributed queue messaging service introduced by Amazon.com in
April of 2006. It supports programmatic sending of messages via web service applications as a way to communicate
over the internet. The intent of SQS is to provide a highly scalable hosted message queue that resolves issues
arising from the common producer-consumer problem or connectivity between producer and consumer.
&lt;p/&gt;
This connector does not provide a method for creating a queue. The reason being that it will automatically
create it when its needed instead of having to manually specify so.</xs:documentation>
          </xs:annotation>
          <xs:sequence>
            <xs:element name="connection-pooling-profile" minOccurs="0" type="mule:poolingProfileType">
              <xs:annotation>
                <xs:documentation>Characteristics of the connection pool.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="accessKey" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>AWS access id</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="secretAccessKey" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>AWS secret access id</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="queueName" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>The name of the queue to connect to</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="send-message" substitutionGroup="mule:abstract-message-processor" type="SendMessageType">
    <xs:annotation>
      <xs:documentation>Sends a message to a specified queue. The message must be between 1 and 256K bytes long.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="SendMessageType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="message" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the message to send. Defaults to the payload of the Mule message.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-url" substitutionGroup="mule:abstract-message-processor" type="GetUrlType">
    <xs:annotation>
      <xs:documentation>This method provides the URL for the message queue represented by this object.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetUrlType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-message" substitutionGroup="mule:abstract-message-processor" type="DeleteMessageType">
    <xs:annotation>
      <xs:documentation>Deletes the message identified by message object on the queue this object represents.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteMessageType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="receiptHandle" default="#[header:inbound:sqs.message.receipt.handle]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Receipt handle of the message to be deleted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-queue" substitutionGroup="mule:abstract-message-processor" type="DeleteQueueType">
    <xs:annotation>
      <xs:documentation>Deletes the message queue represented by this object. Will delete non-empty queue.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteQueueType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-queue-attributes" substitutionGroup="mule:abstract-message-processor" type="GetQueueAttributesType">
    <xs:annotation>
      <xs:documentation>Gets queue attributes. This is provided to expose the underlying functionality.
Currently supported attributes are;
ApproximateNumberOfMessages
CreatedTimestamp
LastModifiedTimestamp
VisibilityTimeout
RequestPayer
Policy
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetQueueAttributesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sqs" name="attribute" use="required" type="QueueAttributeEnumType">
          <xs:annotation>
            <xs:documentation>Attribute to get</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="set-queue-attribute" substitutionGroup="mule:abstract-message-processor" type="SetQueueAttributeType">
    <xs:annotation>
      <xs:documentation>Sets a queue attribute. This is provided to expose the underlying functionality, although
the only attribute at this time is visibility timeout.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="SetQueueAttributeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sqs" name="attribute" use="required" type="QueueAttributeEnumType">
          <xs:annotation>
            <xs:documentation>name of the attribute being set</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="value" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the value being set for this attribute</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-permission" substitutionGroup="mule:abstract-message-processor" type="AddPermissionType">
    <xs:annotation>
      <xs:documentation>Adds a permission to this message queue.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddPermissionType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="label" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>a name for this permission</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accountId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the AWS account ID for the account to share this queue with</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="action" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>a value to indicate how much to share (SendMessage, ReceiveMessage, ChangeMessageVisibility, DeleteMessage, GetQueueAttributes)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="remove-permission" substitutionGroup="mule:abstract-message-processor" type="RemovePermissionType">
    <xs:annotation>
      <xs:documentation>Removes a permission from this message queue.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="RemovePermissionType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="label" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>a name for the permission to be removed</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-approximate-number-of-messages" substitutionGroup="mule:abstract-message-processor" type="GetApproximateNumberOfMessagesType">
    <xs:annotation>
      <xs:documentation>Gets the visibility timeout for the queue.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetApproximateNumberOfMessagesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sqs" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="receive-messages" substitutionGroup="mule:abstract-inbound-endpoint" type="ReceiveMessagesType">
    <xs:annotation>
      <xs:documentation>Attempts to receive a message from the queue. Every attribute of the incoming
message will be added as an inbound property. Also the following properties
will also be added:
&lt;p/&gt;
sqs.message.id = containing the message identification
sqs.message.receipt.handle = containing the message identification
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ReceiveMessagesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractInboundEndpointType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sqs" name="visibilityTimeout" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the duration (in seconds) the retrieved message is hidden from subsequent calls to retrieve.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sqs" name="preserveMessages" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Flag that indicates if you want to preserve the messages in the queue. False by default, so the messages are going to be deleted.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sqs" name="pollPeriod" default="1000" use="optional" type="longType">
          <xs:annotation>
            <xs:documentation>time in milliseconds to wait between polls (when no messages were retrieved). Default period is 1000 ms.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sqs" name="numberOfMessages" default="1" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the number of messages to be retrieved on each call (10 messages max). By default, 1 message will be retrieved.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queueName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the queue to connect to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="QueueAttributeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ALL"></xs:enumeration>
          <xs:enumeration value="APPROXIMATE_NUMBER_OF_MESSAGES"></xs:enumeration>
          <xs:enumeration value="APPROXIMATE_NUMBER_OF_MESSAGES_NOT_VISIBLE"></xs:enumeration>
          <xs:enumeration value="CREATED_TIMESTAMP"></xs:enumeration>
          <xs:enumeration value="LAST_MODIFIED_TIMESTAMP"></xs:enumeration>
          <xs:enumeration value="VISIBILITY_TIMEOUT"></xs:enumeration>
          <xs:enumeration value="REQUEST_PAYER"></xs:enumeration>
          <xs:enumeration value="MAXIUMUM_MESSAGE_SIZE"></xs:enumeration>
          <xs:enumeration value="MESSAGE_RETENTION_PERIOD"></xs:enumeration>
          <xs:enumeration value="POLICY"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
</xs:schema>