Stability | experimental |
---|---|
Maintainer | Lars Kuhtz <lars@alephcloud.com> |
Safe Haskell | None |
API Version: 2013-03-31
http://docs.aws.amazon.com/sns/2010-03-31/APIReference/Welcome.html
- data SnsVersion = SnsVersion_2013_03_31
- data SnsConfiguration qt = SnsConfiguration {}
- data SnsMetadata = SnsMetadata {}
- data SnsErrorResponse
- = SnsErrorResponse {
- snsErrorStatusCode :: !Status
- snsErrorCode :: !Text
- snsErrorMessage :: !Text
- snsErrorResource :: !(Maybe Text)
- snsErrorHostId :: !(Maybe Text)
- snsErrorAccessKeyId :: !(Maybe Text)
- snsErrorStringToSign :: !(Maybe ByteString)
- | SnsResponseDecodeError Text
- = SnsErrorResponse {
- data SnsProtocol
- snsProtocolToText :: IsString a => SnsProtocol -> a
- parseSnsProtocol :: CharParsing m => m SnsProtocol
- type SnsEndpoint = Text
- data SnsAction
- = SnsActionAddPermission
- | SnsActionConfirmSubscription
- | SnsActionCreatePlatformApplication
- | SnsActionCreatePlatformEndpoint
- | SnsActionCreateTopic
- | SnsActionDeleteEndPoint
- | SnsActionDeletePlatformApplication
- | SnsActionDeleteTopic
- | SnsActionGetEndpointAttributes
- | SnsActionGetPlatformApplicationAttribute
- | SnsActionGetSubscriptionAttributes
- | SnsActionGetTopicAttributes
- | SnsActionListEndpointsByPlatformApplication
- | SnsActionListPlatformApplications
- | SnsActionListSubscriptions
- | SnsActionListSubscriptionsByTopic
- | SnsActionListTopics
- | SnsActionPublish
- | SnsActionRemovePermission
- | SnsActionSetEndpointAttributes
- | SnsActionSetPlatformApplicationAttributes
- | SnsActionSetSubscriptionAttributes
- | SnsActionSetTopicAttributes
- | SnsActionSubscribe
- | SnsActionUnsubscribe
- snsActionToText :: IsString a => SnsAction -> a
- parseSnsAction :: CharParsing m => m SnsAction
- snsServiceEndpoint :: Region -> ByteString
- data SnsQuery = SnsQuery {}
- snsSignQuery :: SnsQuery -> SnsConfiguration qt -> SignatureData -> SignedQuery
- snsResponseConsumer :: HTTPResponseConsumer a -> IORef SnsMetadata -> HTTPResponseConsumer a
- snsXmlResponseConsumer :: (Cursor -> Response SnsMetadata a) -> IORef SnsMetadata -> HTTPResponseConsumer a
- snsErrorResponseConsumer :: HTTPResponseConsumer a
- data SnsError a
- data SnsCommonParameters = SnsCommonParameters {}
- data SnsCommonError
- = ErrorIncompleteSignature
- | ErrorInternalFailure
- | ErrorInvalidAction
- | ErrorInvalidClientTokenId
- | ErrorInvalidParameterCombination
- | ErrorInvalidParameterValue
- | ErrorInvalidQueryParamter
- | ErrorMalformedQueryString
- | ErrorMissingAction
- | ErrorMissingAuthenticationToken
- | ErrorMissingParameter
- | ErrorOptInRequired
- | ErrorRequestExpired
- | ErrorServiceUnavailable
- | ErrorThrottling
- | ErrorValidationError
Documentation
SNS Client Configuration
data SnsConfiguration qt Source
Show (SnsConfiguration qt) |
SNS Client Metadata
data SnsMetadata Source
SNS Exceptions
data SnsErrorResponse Source
TODO use type SnsError for snsErrorCode.
SnsErrorResponse | |
| |
SnsResponseDecodeError Text |
SNS Subscription Protocols
data SnsProtocol Source
snsProtocolToText :: IsString a => SnsProtocol -> aSource
parseSnsProtocol :: CharParsing m => m SnsProtocolSource
SNS Subscription Endpoints
type SnsEndpoint = TextSource
Internal
SNS Actions
snsActionToText :: IsString a => SnsAction -> aSource
parseSnsAction :: CharParsing m => m SnsActionSource
SNS AWS Service Endpoints
snsServiceEndpoint :: Region -> ByteStringSource
SNS Endpoints as specified in AWS General API version 0.1
http://docs.aws.amazon.com/general/1.0/gr/rande.html#sns_region
This are the endpoints of the AWS SNS Service. This must not be
confused with an SNS endpoint that is a client that subscribes
to receive SNS notifications (see SnsEndpoint
).
SNS Queries
SnsQuery | |
|
snsSignQuery :: SnsQuery -> SnsConfiguration qt -> SignatureData -> SignedQuerySource
Creates a signed query.
Uses AWS Signature V4. All requests expect for publish are GET requests with the signature embedded into the URI.
FIXME eliminate usage of error
. Either statically elimintate
possibility of failures or change type to Either.
SNS Response Consumers
snsXmlResponseConsumer :: (Cursor -> Response SnsMetadata a) -> IORef SnsMetadata -> HTTPResponseConsumer aSource
Parse XML Responses
snsErrorResponseConsumer :: HTTPResponseConsumer aSource
Parse Error Responses
SNS Errors and Common Parameters
data SnsCommonParameters Source
Common SNS Parameters
http://docs.aws.amazon.com/sns/2010-03-31/APIReference/CommonParameters.html
The user of this API hardy needs to deal with the data type directly.
This API supports only signature version 4 with signature method AWS4-HMAC-SHA256
.
/This is not currently used for computing the requests, but serves as documentation and reference for the implementation of yet missing features./
SnsCommonParameters | |
|
data SnsCommonError Source
Common SNS Errors
http://docs.aws.amazon.com/sns/2010-03-31/APIReference/CommonErrors.html
TODO add function to provide info about the error (content of haddock comments)
ErrorIncompleteSignature | The request signature does not conform to AWS standards. Code 400 |
ErrorInternalFailure | The request processing has failed because of an unknown error, exception or failure. Code 500 |
ErrorInvalidAction | The action or operation requested is invalid. Verify that the action is typed correctly. Code 400 |
ErrorInvalidClientTokenId | The X.509 certificate or AWS access key ID provided does not exist in our records. Code 403 |
ErrorInvalidParameterCombination | Parameters that must not be used together were used together. Code 400 |
ErrorInvalidParameterValue | An invalid or out-of-range value was supplied for the input parameter. Code 400 |
ErrorInvalidQueryParamter | The AWS query string is malformed or does not adhere to AWS standards. Code 400 |
ErrorMalformedQueryString | The query string contains a syntax error. Code 404 |
ErrorMissingAction | The request is missing an action or a required parameter. Code 400 |
ErrorMissingAuthenticationToken | The request must contain either a valid (registered) AWS access key ID or X.509 certificate. Code 403 |
ErrorMissingParameter | A required parameter for the specified action is not supplied. Code 400 |
ErrorOptInRequired | The AWS access key ID needs a subscription for the service. Code 403 |
ErrorRequestExpired | The request reached the service more than 15 minutes after the date stamp on the request or more than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp on the request is more than 15 minutes in the future. Code 400 |
ErrorServiceUnavailable | The request has failed due to a temporary failure of the server. Code 503 |
ErrorThrottling | The request was denied due to request throttling. Code 400 |
ErrorValidationError | The input fails to satisfy the constraints specified by an AWS service. Code 400 |