aws-general-0.2.1: Bindings for Amazon Web Services (AWS) General Reference

CopyrightCopyright © 2014 AlephCloud Systems, Inc.
LicenseBSD3
MaintainerLars Kuhtz <lars@alephcloud.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Aws.General

Contents

Description

Bindings for AWS General Reference

API Version: 1.0

http://docs.aws.amazon.com/general/latest/gr/

Synopsis

Documentation

AWS General Version

SignatureVersion

SignatureMethod

AWS Region

data Region Source

Region

http://docs.aws.amazon.com/general/1.0/gr/rande.html

The relation between regions and service endpoints is not bijective for all AWS services. Not all AWS services support all regions. Some services don't use the concept of region at all.

Constructors

ApNortheast1 
ApSoutheast1 
ApSoutheast2 
EuWest1 
SaEast1 
UsEast1 
UsWest1 
UsWest2 
CustomEndpoint !Text !Int

To override the region settings with a custom service endpoint, e.g. for testing purpose

parseRegion :: CharParsing m => m Region Source

Regions are parsed as follows:

ApNortheast1   ::= "ap-northeast-1"
ApSoutheast1   ::= "ap-southeast-1"
ApSoutheast2   ::= "ap-southeast-2"
EuWest1        ::= "eu-west-1"
SaEast1        ::= "sa-east-1"
UsEast1        ::= "us-east-1"
UsWest1        ::= "us-west-1"
UsWest2        ::= "us-west-2"
CustomEndpoint ::= "custom:" Text ":" Int

AWS Account ID

AWS Canonical User ID

AWS Service Namespace

AWS ARN

data Arn Source

Amazon Resource Names

http://docs.aws.amazon.com/general/1.0/gr/aws-arns-and-namespaces.html

From the specification it is not clear if elements of arnResource can be empty. Though examples given in the specification do not inlcude such a case, our parser allows it.

Constructors

Arn 

Fields

arnService :: ServiceNamespace
 
arnRegion :: Maybe Region
 
arnAccount :: Maybe AccountId
 
arnResource :: [Text]

expected to be non-empty. Elements are separated by only :. / is not treated specially.

Instances

Eq Arn 
Ord Arn 
Read Arn 
Show Arn 
Arbitrary Arn

This instance if for general testing of the syntax of ARNs. For service specific ARNs you should use a newtype wrapper and define an Arbitrary instance the satisfies the constraints of that particular services.

ToJSON Arn 
FromJSON Arn 
AwsType Arn 
Typeable * Arn 

arnToText :: (IsString a, Monoid a) => Arn -> a Source