stratosphere-0.2.2: EDSL for AWS CloudFormation

Safe HaskellNone
LanguageHaskell2010

Stratosphere.Values

Synopsis

Documentation

data Val a Source #

This type is a wrapper around any values in a template. A value can be a Literal, a Ref, or an intrinsic function. See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html

Constructors

Literal a 
Ref Text 
If Text (Val a) (Val a) 
And (Val Bool') (Val Bool') 
Equals (Val Bool') (Val Bool') 
Or (Val Bool') (Val Bool') 
GetAtt Text Text 
Base64 (Val a) 
Join Text [Val a] 
Select Integer' (Val a) 
GetAZs (Val a) 
FindInMap (Val a) (Val a) (Val a)

Map name, top level key, and second level key

ImportValue Text

The account-and-region-unique exported name of the value to import

Instances

Show a => Show (Val a) Source # 

Methods

showsPrec :: Int -> Val a -> ShowS #

show :: Val a -> String #

showList :: [Val a] -> ShowS #

IsString a => IsString (Val a) Source # 

Methods

fromString :: String -> Val a #

ToJSON a => ToJSON (Val a) Source # 

Methods

toJSON :: Val a -> Value #

toEncoding :: Val a -> Encoding #

toJSONList :: [Val a] -> Value #

toEncodingList :: [Val a] -> Encoding #

FromJSON a => FromJSON (Val a) Source # 

Methods

parseJSON :: Value -> Parser (Val a) #

parseJSONList :: Value -> Parser [Val a] #

newtype Integer' Source #

We need to wrap integers so we can override the Aeson type-classes. This is necessary because CloudFront made the silly decision to represent numbers as JSON strings.

Constructors

Integer' 

Fields

data Bool' Source #

We need to wrap Bools for the same reason we need to wrap Ints.

Constructors

False' 
True' 

class ToRef a b where Source #

Class used to create a Ref from another type.

Minimal complete definition

toRef

Methods

toRef :: a -> Val b Source #

Instances