amazonka-sns-1.4.2: Amazon Simple Notification Service SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.SNS

Contents

Description

Amazon Simple Notification Service

Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see http://aws.amazon.com/sns. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

Synopsis

Service Configuration

sns :: Service Source #

API version '2010-03-31' of the Amazon Simple Notification Service SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by SNS.

EndpointDisabledException

_EndpointDisabledException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Exception error indicating endpoint disabled.

AuthorizationErrorException

_AuthorizationErrorException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates that the user has been denied access to the requested resource.

InvalidParameterException

_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates that a request parameter does not comply with the associated constraints.

SubscriptionLimitExceededException

_SubscriptionLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates that the customer already owns the maximum allowed number of subscriptions.

PlatformApplicationDisabledException

_PlatformApplicationDisabledException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Exception error indicating platform application disabled.

InternalErrorException

_InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates an internal service error.

InvalidParameterValueException

_InvalidParameterValueException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates that a request parameter does not comply with the associated constraints.

NotFoundException

_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates that the requested resource does not exist.

TopicLimitExceededException

_TopicLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source #

Indicates that the customer already owns the maximum allowed number of topics.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

DeleteEndpoint

RemovePermission

DeleteTopic

ListTopics (Paginated)

CreatePlatformEndpoint

SetPlatformApplicationAttributes

ListSubscriptionsByTopic (Paginated)

GetTopicAttributes

CreatePlatformApplication

GetPlatformApplicationAttributes

ListEndpointsByPlatformApplication (Paginated)

SetTopicAttributes

DeletePlatformApplication

ListPlatformApplications (Paginated)

AddPermission

GetEndpointAttributes

ListSubscriptions (Paginated)

GetSubscriptionAttributes

CreateTopic

Subscribe

Unsubscribe

SetEndpointAttributes

SetSubscriptionAttributes

ConfirmSubscription

Publish

Types

Endpoint

data Endpoint Source #

Endpoint for mobile app and device.

See: endpoint smart constructor.

Instances

Eq Endpoint Source # 
Data Endpoint Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Endpoint -> c Endpoint #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Endpoint #

toConstr :: Endpoint -> Constr #

dataTypeOf :: Endpoint -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Endpoint) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Endpoint) #

gmapT :: (forall b. Data b => b -> b) -> Endpoint -> Endpoint #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Endpoint -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Endpoint -> r #

gmapQ :: (forall d. Data d => d -> u) -> Endpoint -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Endpoint -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Endpoint -> m Endpoint #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Endpoint -> m Endpoint #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Endpoint -> m Endpoint #

Read Endpoint Source # 
Show Endpoint Source # 
Generic Endpoint Source # 

Associated Types

type Rep Endpoint :: * -> * #

Methods

from :: Endpoint -> Rep Endpoint x #

to :: Rep Endpoint x -> Endpoint #

Hashable Endpoint Source # 

Methods

hashWithSalt :: Int -> Endpoint -> Int #

hash :: Endpoint -> Int #

NFData Endpoint Source # 

Methods

rnf :: Endpoint -> () #

FromXML Endpoint Source # 
type Rep Endpoint Source # 
type Rep Endpoint = D1 (MetaData "Endpoint" "Network.AWS.SNS.Types.Product" "amazonka-sns-1.4.2-A3Nk9Q4F36AEpOtIgXp4xy" False) (C1 (MetaCons "Endpoint'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_eAttributes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (Map Text Text)))) (S1 (MetaSel (Just Symbol "_eEndpointARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))

endpoint :: Endpoint Source #

Creates a value of Endpoint with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

eAttributes :: Lens' Endpoint (HashMap Text Text) Source #

Attributes for endpoint.

eEndpointARN :: Lens' Endpoint (Maybe Text) Source #

EndpointArn for mobile app and device.

MessageAttributeValue

data MessageAttributeValue Source #

The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see Publish.

Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes). For more information, see Using Amazon SNS Message Attributes.

See: messageAttributeValue smart constructor.

Instances

Eq MessageAttributeValue Source # 
Data MessageAttributeValue Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MessageAttributeValue -> c MessageAttributeValue #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MessageAttributeValue #

toConstr :: MessageAttributeValue -> Constr #

dataTypeOf :: MessageAttributeValue -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c MessageAttributeValue) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MessageAttributeValue) #

gmapT :: (forall b. Data b => b -> b) -> MessageAttributeValue -> MessageAttributeValue #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MessageAttributeValue -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MessageAttributeValue -> r #

gmapQ :: (forall d. Data d => d -> u) -> MessageAttributeValue -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MessageAttributeValue -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MessageAttributeValue -> m MessageAttributeValue #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MessageAttributeValue -> m MessageAttributeValue #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MessageAttributeValue -> m MessageAttributeValue #

Read MessageAttributeValue Source # 
Show MessageAttributeValue Source # 
Generic MessageAttributeValue Source # 
Hashable MessageAttributeValue Source # 
NFData MessageAttributeValue Source # 

Methods

rnf :: MessageAttributeValue -> () #

ToQuery MessageAttributeValue Source # 
type Rep MessageAttributeValue Source # 
type Rep MessageAttributeValue = D1 (MetaData "MessageAttributeValue" "Network.AWS.SNS.Types.Product" "amazonka-sns-1.4.2-A3Nk9Q4F36AEpOtIgXp4xy" False) (C1 (MetaCons "MessageAttributeValue'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_mavBinaryValue") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Base64))) ((:*:) (S1 (MetaSel (Just Symbol "_mavStringValue") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_mavDataType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))))

messageAttributeValue Source #

Creates a value of MessageAttributeValue with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

mavBinaryValue :: Lens' MessageAttributeValue (Maybe ByteString) Source #

Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.

Note: This Lens automatically encodes and decodes Base64 data, despite what the AWS documentation might say. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.

mavStringValue :: Lens' MessageAttributeValue (Maybe Text) Source #

Strings are Unicode with UTF8 binary encoding. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

mavDataType :: Lens' MessageAttributeValue Text Source #

Amazon SNS supports the following logical data types: String, Number, and Binary. For more information, see Message Attribute Data Types.

PlatformApplication

data PlatformApplication Source #

Platform application object.

See: platformApplication smart constructor.

Instances

Eq PlatformApplication Source # 
Data PlatformApplication Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlatformApplication -> c PlatformApplication #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlatformApplication #

toConstr :: PlatformApplication -> Constr #

dataTypeOf :: PlatformApplication -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c PlatformApplication) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlatformApplication) #

gmapT :: (forall b. Data b => b -> b) -> PlatformApplication -> PlatformApplication #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlatformApplication -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlatformApplication -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlatformApplication -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlatformApplication -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlatformApplication -> m PlatformApplication #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlatformApplication -> m PlatformApplication #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlatformApplication -> m PlatformApplication #

Read PlatformApplication Source # 
Show PlatformApplication Source # 
Generic PlatformApplication Source # 
Hashable PlatformApplication Source # 
NFData PlatformApplication Source # 

Methods

rnf :: PlatformApplication -> () #

FromXML PlatformApplication Source # 
type Rep PlatformApplication Source # 
type Rep PlatformApplication = D1 (MetaData "PlatformApplication" "Network.AWS.SNS.Types.Product" "amazonka-sns-1.4.2-A3Nk9Q4F36AEpOtIgXp4xy" False) (C1 (MetaCons "PlatformApplication'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_paPlatformApplicationARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_paAttributes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (Map Text Text))))))

platformApplication :: PlatformApplication Source #

Creates a value of PlatformApplication with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

paPlatformApplicationARN :: Lens' PlatformApplication (Maybe Text) Source #

PlatformApplicationArn for platform application object.

paAttributes :: Lens' PlatformApplication (HashMap Text Text) Source #

Attributes for platform application object.

Subscription

data Subscription Source #

A wrapper type for the attributes of an Amazon SNS subscription.

See: subscription smart constructor.

Instances

Eq Subscription Source # 
Data Subscription Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Subscription -> c Subscription #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Subscription #

toConstr :: Subscription -> Constr #

dataTypeOf :: Subscription -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Subscription) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Subscription) #

gmapT :: (forall b. Data b => b -> b) -> Subscription -> Subscription #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Subscription -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Subscription -> r #

gmapQ :: (forall d. Data d => d -> u) -> Subscription -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Subscription -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Subscription -> m Subscription #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Subscription -> m Subscription #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Subscription -> m Subscription #

Read Subscription Source # 
Show Subscription Source # 
Generic Subscription Source # 

Associated Types

type Rep Subscription :: * -> * #

Hashable Subscription Source # 
NFData Subscription Source # 

Methods

rnf :: Subscription -> () #

FromXML Subscription Source # 
type Rep Subscription Source # 
type Rep Subscription = D1 (MetaData "Subscription" "Network.AWS.SNS.Types.Product" "amazonka-sns-1.4.2-A3Nk9Q4F36AEpOtIgXp4xy" False) (C1 (MetaCons "Subscription'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_sProtocol") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_sOwner") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_sTopicARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_sEndpoint") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_sSubscriptionARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))))

subscription :: Subscription Source #

Creates a value of Subscription with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

sProtocol :: Lens' Subscription (Maybe Text) Source #

The subscription's protocol.

sOwner :: Lens' Subscription (Maybe Text) Source #

The subscription's owner.

sTopicARN :: Lens' Subscription (Maybe Text) Source #

The ARN of the subscription's topic.

sEndpoint :: Lens' Subscription (Maybe Text) Source #

The subscription's endpoint (format depends on the protocol).

sSubscriptionARN :: Lens' Subscription (Maybe Text) Source #

The subscription's ARN.

Topic

data Topic Source #

A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a topic's attributes, use GetTopicAttributes.

See: topic smart constructor.

Instances

Eq Topic Source # 

Methods

(==) :: Topic -> Topic -> Bool #

(/=) :: Topic -> Topic -> Bool #

Data Topic Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Topic -> c Topic #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Topic #

toConstr :: Topic -> Constr #

dataTypeOf :: Topic -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Topic) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Topic) #

gmapT :: (forall b. Data b => b -> b) -> Topic -> Topic #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Topic -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Topic -> r #

gmapQ :: (forall d. Data d => d -> u) -> Topic -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Topic -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Topic -> m Topic #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Topic -> m Topic #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Topic -> m Topic #

Read Topic Source # 
Show Topic Source # 

Methods

showsPrec :: Int -> Topic -> ShowS #

show :: Topic -> String #

showList :: [Topic] -> ShowS #

Generic Topic Source # 

Associated Types

type Rep Topic :: * -> * #

Methods

from :: Topic -> Rep Topic x #

to :: Rep Topic x -> Topic #

Hashable Topic Source # 

Methods

hashWithSalt :: Int -> Topic -> Int #

hash :: Topic -> Int #

NFData Topic Source # 

Methods

rnf :: Topic -> () #

FromXML Topic Source # 

Methods

parseXML :: [Node] -> Either String Topic #

type Rep Topic Source # 
type Rep Topic = D1 (MetaData "Topic" "Network.AWS.SNS.Types.Product" "amazonka-sns-1.4.2-A3Nk9Q4F36AEpOtIgXp4xy" True) (C1 (MetaCons "Topic'" PrefixI True) (S1 (MetaSel (Just Symbol "_tTopicARN") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))

topic :: Topic Source #

Creates a value of Topic with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

tTopicARN :: Lens' Topic (Maybe Text) Source #

The topic's ARN.