ExAws v0.5.0 ExAws.SQS.Client behaviour
The purpose of this module is to surface the ExAws.SQS API tied to a single configuration chose, such that it does not need passed in with every request
Usage:
defmodule MyApp.SQS do
  use ExAws.SQS.Client, otp_app: :my_otp_app
end
In your config
config :my_otp_app, ExAws,
  sqs: [], #SQS config goes here
        Summary
Callbacks
Adds a permission with the provided label to the Queue for a specific action for a specific account
Extends the read lock timeout for the specified message from the specified queue to the specified value
Extends the read lock timeout for a batch of 1..10 messages
Create queue
Delete a message from a SQS Queue
Deletes a list of messages from a SQS Queue in a single request
Delete a queue
Gets attributes of a SQS Queue
Get queue URL
Retrieves the dead letter source queues for a given SQS Queue
Retrieves a list of all the SQS Queues
Purge all messages in a SQS Queue
Read messages from a SQS Queue
Removes permission with the given label from the Queue
Send a message to a SQS Queue
Send up to 10 messages to a SQS Queue in a single request
Set attributes of a SQS Queue
Types
delete_message_batch_item :: %{id: binary, receipt_handle: binary}
  
message_visibility_batch_item :: %{id: binary, receipt_handle: binary, visibility_timeout: visibility_timeout}
  
queue_attributes :: [policy: binary, visibility_timeout: visibility_timeout, maximum_message_size: 1024..262144, message_retention_period: 60..1209600, approximate_number_of_messages: binary, approximate_number_of_messages_not_visible: binary, created_timestamp: binary, last_modified_timestamp: binary, queue_arn: binary, approximate_number_of_messages_delayed: binary, delay_seconds: 0..900, receive_message_wait_time_seconds: 0..20, redrive_policy: binary]
  
receive_message_opts :: [attribute_names: :all | [sqs_message_attribute_name, ...], max_number_of_messages: 1..10, visibility_timeout: 0..43200, wait_time_seconds: 0..20]
  
sqs_acl :: %{optional(binary) => :all | [sqs_permission, ...]}
  
sqs_batch_message ::
  binary |
  [id: binary, message_body: binary, delay_seconds: 0..900, message_attributes: sqs_message_attribute | [sqs_message_attribute, ...]]
  
sqs_message_attribute :: %{name: binary, data_type: :string | :binary | :number, custom_type: binary | none, value: binary | number}
  
sqs_message_attribute_name ::
  :sender_id |
  :sent_timestamp |
  :approximate_receive_count |
  :approximate_first_receive_timestamp |
  :wait_time_seconds |
  :receive_message_wait_time_seconds
  
sqs_message_opts :: [delay_seconds: 0..900, message_attributes: sqs_message_attribute | [sqs_message_attribute, ...]]
  
sqs_permission ::
  :send_message |
  :receive_message |
  :delete_message |
  :change_message_visibility |
  :get_queue_attributes
  
sqs_queue_attribute_name ::
  :policy |
  :visibility_timeout |
  :maximum_message_size |
  :message_retention_period |
  :approximate_number_of_messages |
  :approximate_number_of_messages_not_visible |
  :created_timestamp |
  :last_modified_timestamp |
  :queue_arn |
  :approximate_number_of_messages_delayed |
  :delay_seconds |
  :receive_message_wait_time_seconds |
  :redrive_policy
  
visibility_timeout :: 0..43200
  
Callbacks
Specs
add_permission(queue_url :: binary, label :: binary, permissions :: sqs_acl) :: SQS.Request.response_t
        
      Adds a permission with the provided label to the Queue for a specific action for a specific account.
Specs
change_message_visibility(queue_url :: binary, receipt_handle :: binary, visibility_timeout :: visibility_timeout) :: SQS.Request.response_t
        
      Extends the read lock timeout for the specified message from the specified queue to the specified value
Specs
change_message_visibility_batch(queue_url :: binary, opts :: [message_visibility_batch_item, ...]) :: SQS.Request.response_t
        
      Extends the read lock timeout for a batch of 1..10 messages
Specs
create_queue(queue_name :: binary) :: SQS.Request.response_t
        
      Create queue
Specs
create_queue(queue_name :: binary, queue_attributes :: queue_attributes) :: SQS.Request.response_t
        
      Specs
delete_message(queue_url :: binary, receipt_handle :: binary) :: SQS.Request.response_t
        
      Delete a message from a SQS Queue
Specs
delete_message_batch(queue_url :: binary, message_receipts :: [delete_message_batch_item, ...]) :: SQS.Request.response_t
        
      Deletes a list of messages from a SQS Queue in a single request
Specs
delete_queue(queue_url :: binary) :: SQS.Request.response_t
        
      Delete a queue
Specs
get_queue_attributes(queue_url :: binary) :: SQS.Request.response_t
        
      Gets attributes of a SQS Queue
Specs
get_queue_attributes(queue_url :: binary, attribute_names :: :all | [sqs_queue_attribute_name, ...]) :: SQS.Request.response_t
        
      Specs
get_queue_url(queue_name :: binary) :: SQS.Request.response_t
        
      Get queue URL
Specs
get_queue_url(queue_name :: binary, opts :: [{:queue_owner_aws_account_id, binary}]) :: SQS.Request.response_t
        
      Specs
list_dead_letter_source_queues(queue_url :: binary) :: SQS.Request.response_t
        
      Retrieves the dead letter source queues for a given SQS Queue
Specs
list_queues(opts :: [{:queue_name_prefix, binary}]) :: SQS.Request.response_t
        
      Specs
purge_queue(queue_url :: binary) :: SQS.Request.response_t
        
      Purge all messages in a SQS Queue
Specs
receive_message(queue_name :: binary) :: SQS.Request.response_t
        
      Read messages from a SQS Queue
Specs
receive_message(queue_name :: binary, opts :: receive_message_opts) :: SQS.Request.response_t
        
      Specs
remove_permission(queue_name :: binary, label :: binary) :: SQS.Request.response_t
        
      Removes permission with the given label from the Queue
Specs
send_message(queue_name :: binary, message_body :: binary) :: SQS.Request.response_t
        
      Send a message to a SQS Queue
Specs
send_message(queue_name :: binary, message_body :: binary, opts :: sqs_message_opts) :: SQS.Request.response_t
        
      Specs
send_message_batch(queue_name :: binary, messages :: [sqs_batch_message, ...]) :: SQS.Request.response_t
        
      Send up to 10 messages to a SQS Queue in a single request
Specs
set_queue_attributes(queue_name :: binary, attributes :: queue_attributes) :: SQS.Request.response_t
        
      Set attributes of a SQS Queue