ExAws v1.1.1 ExAws.SNS

Operations on AWS SNS

http://docs.aws.amazon.com/sns/latest/APIReference/API_Operations.html

Summary

Functions

Get endpoint attributes

Get subscription attributes

Get topic attributes

List platform applications

List Subscriptions

Publish message to a target/topic ARN

Verify message signature

Types

endpoint_arn()
endpoint_arn() :: binary
endpoint_attributes()
endpoint_attributes() :: [token: binary, enabled: boolean, custom_user_data: binary]
list_subscriptions_by_topic_opt()
list_subscriptions_by_topic_opt() :: {:next_token, binary}
message_attribute()
message_attribute() :: %{name: binary, data_type: :string | :number | :binary, value: {:string, binary} | {:binary, binary}}
platform_application_arn()
platform_application_arn() :: binary
publish_opts()
publish_opts() :: [message_attributes: [message_attribute], message_structure: :json, subject: binary, phone_number: binary, target_arn: binary, topic_arn: binary]
subscription_attribute_name()
subscription_attribute_name ::
  :delivery_policy |
  :raw_message_delivery
topic_arn()
topic_arn() :: binary
topic_attribute_name()
topic_attribute_name() :: :policy | :display_name | :delivery_policy
topic_name()
topic_name() :: binary

Functions

build_message_attribute(arg, params)
confirm_subscription(topic_arn, token, authenticate_on_unsubscribe \\ false)
confirm_subscription(topic_arn :: binary, token :: binary, authenticate_on_unsubscribe :: boolean) :: ExAws.Operation.Query.t

Confirm Subscription

create_platform_application(name, platform, attributes)
create_platform_application(name :: binary, platform :: binary, attributes :: %{optional(String.t) => String.t}) :: ExAws.Operation.Query.t

Create plaform application

create_platform_endpoint(platform_application_arn, token, custom_user_data \\ nil)
create_platform_endpoint(platform_application_arn :: platform_application_arn, token :: binary, custom_user_data :: binary) :: ExAws.Operation.Query.t

Create platform endpoint

create_topic(topic_name)
create_topic(topic_name :: topic_name) :: ExAws.Operation.Query.t

Create topic

delete_endpoint(endpoint_arn)
delete_endpoint(endpoint_arn :: endpoint_arn) :: ExAws.Operation.Query.t

Delete endpoint

delete_platform_application(platform_application_arn)
delete_platform_application(platform_application_arn :: platform_application_arn) :: ExAws.Operation.Query.t

Delete platform application

delete_topic(topic_arn)
delete_topic(topic_arn :: topic_arn) :: ExAws.Operation.Query.t

Delete topic

get_endpoint_attributes(endpoint_arn)
get_endpoint_attributes(endpoint_arn :: endpoint_arn) :: ExAws.Operation.Query.t

Get endpoint attributes

get_platform_application_attributes(platform_application_arn)
get_platform_application_attributes(platform_application_arn :: platform_application_arn) :: ExAws.Operation.Query.t

Get platform application attributes

get_subscription_attributes(subscription_arn)
get_subscription_attributes(subscription_arn :: binary) :: ExAws.Operation.Query.t

Get subscription attributes

get_topic_attributes(topic_arn)
get_topic_attributes(topic_arn :: topic_arn) :: ExAws.Operation.Query.t

Get topic attributes

list_platform_applications()
list_platform_applications() :: ExAws.Operation.Query.t

List platform applications

list_platform_applications(next_token)
list_platform_applications(next_token :: binary) :: ExAws.Operation.Query.t
list_subscriptions()
list_subscriptions() :: ExAws.Operation.Query.t

List Subscriptions

list_subscriptions(next_token)
list_subscriptions(next_token :: binary) :: ExAws.Operation.Query.t
list_subscriptions_by_topic(topic_arn, opts \\ [])
list_subscriptions_by_topic(topic_arn :: topic_arn, [list_subscriptions_by_topic_opt]) :: ExAws.Operation.Query.t

List Subscriptions by Topic

list_topics(opts \\ [])
list_topics(opts :: [{:next_token, binary}]) :: ExAws.Operation.Query.t

List topics

publish(message, opts)
publish(message :: binary, opts :: publish_opts) :: ExAws.Operation.Query.t

Publish message to a target/topic ARN

You must set either :phone_number, :target_arn or :topic_arn but only one, via the options argument.

Do NOT assume that because your message is a JSON blob that you should set message_structure: to :json. This has a very specific meaning, please see http://docs.aws.amazon.com/sns/latest/api/API_Publish.html for details.

set_endpoint_attributes(endpoint_arn, attributes)
set_endpoint_attributes(endpoint_arn :: endpoint_arn, attributes :: endpoint_attributes) :: ExAws.Operation.Query.t

Set endpoint attributes

set_subscription_attributes(attribute_name, attribute_value, subscription_arn)
set_subscription_attributes(attribute_name :: subscription_attribute_name, attribute_value :: binary, subscription_arn :: binary) :: ExAws.Operation.Query.t

Set subscription attributes

set_topic_attributes(attribute_name, attribute_value, topic_arn)
set_topic_attributes(attribute_name :: topic_attribute_name, attribute_value :: binary, topic_arn :: topic_arn) :: ExAws.Operation.Query.t

Set topic attributes

subscribe(topic_arn, protocol, endpoint)
subscribe(topic_arn :: binary, protocol :: binary, endpoint :: binary) :: ExAws.Operation.Query.t

Create Subscription

unsubscribe(subscription_arn)
unsubscribe(subscription_arn :: binary) :: ExAws.Operation.Query.t

Unsubscribe

verify_message(message_params)
verify_message(message_params :: %{optional(String.t) => String.t}) :: [:ok | {:error, String.t}]

Verify message signature