amazonka-core-0.3.2: Core functionality and data types for Amazonka libraries.

Safe HaskellNone
LanguageHaskell2010

Network.AWS.Data

Contents

Description

Serialisation classes and primitives for the various formats used to communicate with AWS.

Synopsis

ByteString

Text

matchCI :: Text -> a -> Parser a Source

Numeric

Time

_Time :: Iso' (Time a) UTCTime Source

data UTCTime :: *

This is the simplest representation of UTC. It consists of the day number, and a time offset from midnight. Note that if a day has a leap second added to it, it will have 86401 seconds.

parseTime

Arguments

:: ParseTime t 
=> TimeLocale

Time locale.

-> String

Format string.

-> String

Input string.

-> Maybe t

The time value, or Nothing if the input could not be parsed using the given format.

Parses a time value given a format string. Supports the same %-codes as formatTime, including %-, %_ and %0 modifiers. Leading and trailing whitespace is accepted. Case is not significant. Some variations in the input are accepted:

%z
accepts any of -HHMM or -HH:MM.
%Z
accepts any string of letters, or any of the formats accepted by %z.
%0Y
accepts exactly four digits.
%0G
accepts exactly four digits.
%0C
accepts exactly two digits.
%0f
accepts exactly two digits.

iso8601DateFormat :: Maybe String -> String

Construct format string according to ISO-8601.

The Maybe String argument allows to supply an optional time specification. E.g.:

iso8601DateFormat Nothing            == "%Y-%m-%d"           -- i.e. YYYY-MM-DD
iso8601DateFormat (Just "%H:%M:%S")  == "%Y-%m-%dT%H:%M:%S"  -- i.e. YYYY-MM-DDTHH:MM:SS

Sensitive

newtype Sensitive a Source

read . show /= isomorphic

Constructors

Sensitive 

Fields

desensitise :: a
 

HTTP

Body

data RsBody Source

Constructors

RsBody (ResumableSource (ResourceT IO) ByteString) 

_RsBody :: Iso' RsBody (ResumableSource (ResourceT IO) ByteString) Source

connectBody :: MonadResource m => RsBody -> Sink ByteString m a -> m a Source

data RqBody Source

Constructors

RqBody 

Fields

_bdyHash :: Digest SHA256
 
_bdyBody :: RequestBody
 

bdyHash :: Lens' RqBody (Digest SHA256) Source

class ToBody a where Source

Minimal complete definition

Nothing

Methods

toBody :: a -> RqBody Source

Headers

(~:) :: FromText a => ResponseHeaders -> HeaderName -> Either String a Source

(~:?) :: FromText a => ResponseHeaders -> HeaderName -> Either String (Maybe a) Source

class ToHeaders a where Source

Minimal complete definition

Nothing

Methods

toHeaders :: a -> [Header] Source

(=:) :: ToHeader a => HeaderName -> a -> [Header] Source

hdr :: HeaderName -> ByteString -> [Header] -> [Header] Source

hdrs :: [Header] -> [Header] -> [Header] Source

toHeaderText :: ToText a => HeaderName -> a -> [Header] Source

class ToHeader a where Source

Minimal complete definition

Nothing

Methods

toHeader :: HeaderName -> a -> [Header] Source

hHost :: HeaderName Source

hAMZToken :: HeaderName Source

hAMZTarget :: HeaderName Source

hAMZAlgorithm :: HeaderName Source

hAMZCredential :: HeaderName Source

hAMZExpires :: HeaderName Source

hAMZAuth :: HeaderName Source

hAMZDate :: HeaderName Source

hMetaPrefix :: HeaderName Source

Path

class ToPath a where Source

Minimal complete definition

Nothing

Methods

toPath :: a -> Text Source

Instances

Query

URI

XML

FromXML

childNodes :: Text -> Node -> Maybe [Node] Source

findElement :: Text -> [Node] -> Either String [Node] Source

withElement :: Text -> ([Node] -> Either String a) -> [Node] -> Either String a Source

(.@) :: FromXML a => [Node] -> Text -> Either String a Source

(.@?) :: FromXML a => [Node] -> Text -> Either String (Maybe a) Source

ToXML

class ToXML a where Source

Minimal complete definition

Nothing

Methods

toXML :: a -> [Node] Source

class ToXMLRoot a where Source

Methods

toXMLRoot :: a -> Maybe Element Source

toXMLText :: ToText a => a -> [Node] Source

namespaced :: Text -> Text -> [Node] -> Maybe Element Source

element :: Name -> [Node] -> Element Source

nodes :: Name -> [Node] -> [Node] Source

(=@) :: ToXML a => Name -> a -> Node Source

extractRoot :: Text -> [Node] -> Maybe Element Source

unsafeToXML :: (Show a, ToXML a) => a -> Node Source

Caution: This is for use with types which are flattened in AWS service model terminology.

It is applied by the generator/templating in safe contexts only.

JSON

FromJSON

class FromJSON a where

Minimal complete definition

Nothing

Methods

parseJSON :: Value -> Parser a

Instances

FromJSON Bool 
FromJSON Char 
FromJSON Double 
FromJSON Float 
FromJSON Int 
FromJSON Int8 
FromJSON Int16 
FromJSON Int32 
FromJSON Int64 
FromJSON Integer 
FromJSON Word 
FromJSON Word8 
FromJSON Word16 
FromJSON Word32 
FromJSON Word64 
FromJSON () 
FromJSON IntSet 
FromJSON ZonedTime 
FromJSON UTCTime 
FromJSON Text 
FromJSON Scientific 
FromJSON Number 
FromJSON Text 
FromJSON Value 
FromJSON DotNetTime 
FromJSON Base64 
FromJSON Nat 
FromJSON POSIX 
FromJSON AWSTime 
FromJSON BasicTime 
FromJSON ISO8601 
FromJSON RFC822 
FromJSON AuthEnv 
FromJSON ErrorCode 
FromJSON JSONError 
FromJSON [Char] 
FromJSON a => FromJSON [a] 
FromJSON (Ratio Integer) 
HasResolution a => FromJSON (Fixed a) 
FromJSON a => FromJSON (Dual a) 
FromJSON a => FromJSON (First a) 
FromJSON a => FromJSON (Last a) 
FromJSON a => FromJSON (Maybe a) 
FromJSON a => FromJSON (IntMap a) 
(Ord a, FromJSON a) => FromJSON (Set a) 
FromJSON v => FromJSON (Tree v) 
FromJSON a => FromJSON (Vector a) 
(Storable a, FromJSON a) => FromJSON (Vector a) 
(Prim a, FromJSON a) => FromJSON (Vector a) 
(Vector Vector a, FromJSON a) => FromJSON (Vector a) 
(Eq a, Hashable a, FromJSON a) => FromJSON (HashSet a) 
FromJSON a => FromJSON (Sensitive a) 
(FromJSON a, FromJSON b) => FromJSON (Either a b) 
(FromJSON a, FromJSON b) => FromJSON (a, b) 
FromJSON v => FromJSON (Map String v) 
FromJSON v => FromJSON (Map Text v) 
FromJSON v => FromJSON (Map Text v) 
FromJSON v => FromJSON (HashMap String v) 
FromJSON v => FromJSON (HashMap Text v) 
FromJSON v => FromJSON (HashMap Text v) 
FromJSON a => FromJSON (List1 e a) 
FromJSON a => FromJSON (List e a) 
(Eq k, Hashable k, FromText k, FromJSON v) => FromJSON (Map k v) 
(FromJSON a, FromJSON b, FromJSON c) => FromJSON (a, b, c) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d) => FromJSON (a, b, c, d) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e) => FromJSON (a, b, c, d, e) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f) => FromJSON (a, b, c, d, e, f) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g) => FromJSON (a, b, c, d, e, f, g) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h) => FromJSON (a, b, c, d, e, f, g, h) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i) => FromJSON (a, b, c, d, e, f, g, h, i) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j) => FromJSON (a, b, c, d, e, f, g, h, i, j) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k) => FromJSON (a, b, c, d, e, f, g, h, i, j, k) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m, FromJSON n) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) 
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m, FromJSON n, FromJSON o) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) 

parseJSONText :: FromText a => String -> Value -> Parser a Source

Parser a

withObject :: String -> (Object -> Parser a) -> Value -> Parser a

(.:) :: FromJSON a => Object -> Text -> Parser a

(.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a)

(.!=) :: Parser (Maybe a) -> a -> Parser a

Either String a

(.:>) :: FromJSON a => Object -> Text -> Either String a Source

(.:?>) :: FromJSON a => Object -> Text -> Either String (Maybe a) Source

ToJSON

class ToJSON a where

Minimal complete definition

Nothing

Methods

toJSON :: a -> Value

Instances

ToJSON Bool 
ToJSON Char 
ToJSON Double 
ToJSON Float 
ToJSON Int 
ToJSON Int8 
ToJSON Int16 
ToJSON Int32 
ToJSON Int64 
ToJSON Integer 
ToJSON Word 
ToJSON Word8 
ToJSON Word16 
ToJSON Word32 
ToJSON Word64 
ToJSON () 
ToJSON IntSet 
ToJSON ZonedTime 
ToJSON UTCTime 
ToJSON Text 
ToJSON Scientific 
ToJSON Number 
ToJSON Text 
ToJSON Value 
ToJSON DotNetTime 
ToJSON Base64 
ToJSON Nat 
ToJSON POSIX 
ToJSON AWSTime 
ToJSON BasicTime 
ToJSON ISO8601 
ToJSON RFC822 
ToJSON Empty 
ToJSON [Char] 
ToJSON a => ToJSON [a] 
ToJSON (Ratio Integer) 
HasResolution a => ToJSON (Fixed a) 
ToJSON a => ToJSON (Dual a) 
ToJSON a => ToJSON (First a) 
ToJSON a => ToJSON (Last a) 
ToJSON a => ToJSON (Maybe a) 
ToJSON a => ToJSON (IntMap a) 
ToJSON a => ToJSON (Set a) 
ToJSON v => ToJSON (Tree v) 
ToJSON a => ToJSON (Vector a) 
(Storable a, ToJSON a) => ToJSON (Vector a) 
(Prim a, ToJSON a) => ToJSON (Vector a) 
(Vector Vector a, ToJSON a) => ToJSON (Vector a) 
ToJSON a => ToJSON (HashSet a) 
ToJSON a => ToJSON (Sensitive a) 
(ToJSON a, ToJSON b) => ToJSON (Either a b) 
(ToJSON a, ToJSON b) => ToJSON (a, b) 
ToJSON v => ToJSON (Map String v) 
ToJSON v => ToJSON (Map Text v) 
ToJSON v => ToJSON (Map Text v) 
ToJSON v => ToJSON (HashMap String v) 
ToJSON v => ToJSON (HashMap Text v) 
ToJSON v => ToJSON (HashMap Text v) 
ToJSON a => ToJSON (List1 e a) 
ToJSON a => ToJSON (List e a) 
(Eq k, Hashable k, ToText k, ToJSON v) => ToJSON (Map k v) 
(ToJSON a, ToJSON b, ToJSON c) => ToJSON (a, b, c) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d) => ToJSON (a, b, c, d) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e) => ToJSON (a, b, c, d, e) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f) => ToJSON (a, b, c, d, e, f) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g) => ToJSON (a, b, c, d, e, f, g) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h) => ToJSON (a, b, c, d, e, f, g, h) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i) => ToJSON (a, b, c, d, e, f, g, h, i) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j) => ToJSON (a, b, c, d, e, f, g, h, i, j) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k) => ToJSON (a, b, c, d, e, f, g, h, i, j, k) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) 
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n, ToJSON o) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) 

toJSONText :: ToText a => a -> Value Source

object :: [Pair] -> Value

(.=) :: ToJSON a => Text -> a -> Pair

Collections

newtype List e a Source

Constructors

List 

Fields

list :: [a]
 

Instances

IsList (List e a) 
Eq a => Eq (List e a) 
Ord a => Ord (List e a) 
Read a => Read (List e a) 
Show a => Show (List e a) 
Monoid (List e a) 
ToJSON a => ToJSON (List e a) 
FromJSON a => FromJSON (List e a) 
Semigroup (List e a) 
(KnownSymbol e, ToQuery a) => ToQuery (List e a) 
(KnownSymbol e, ToXML a) => ToXML (List e a) 
(KnownSymbol e, FromXML a) => FromXML (List e a) 
type Item (List e a) = a 

newtype List1 e a Source

Constructors

List1 

Fields

list1 :: NonEmpty a
 

Instances

Functor (List1 e) 
Foldable (List1 e) 
Traversable (List1 e) 
Eq a => Eq (List1 e a) 
Ord a => Ord (List1 e a) 
Read a => Read (List1 e a) 
Show a => Show (List1 e a) 
ToJSON a => ToJSON (List1 e a) 
FromJSON a => FromJSON (List1 e a) 
Semigroup (List1 e a) 
(KnownSymbol e, ToQuery a) => ToQuery (List1 e a) 
(KnownSymbol e, ToXML a) => ToXML (List1 e a) 
(KnownSymbol e, FromXML a) => FromXML (List1 e a) 

_List :: (Coercible a b, Coercible b a) => Iso' (List e a) [b] Source

_List1 :: (Coercible a b, Coercible b a) => Iso' (List1 e a) (NonEmpty b) Source

fromList1 :: List1 e a -> List e a Source

newtype Map k v Source

Constructors

Map 

Fields

fromMap :: HashMap k v
 

Instances

(Eq k, Hashable k) => IsList (Map k v) 
(Eq k, Eq v) => Eq (Map k v) 
(Eq k, Read k, Read v, Hashable k) => Read (Map k v) 
(Show k, Show v) => Show (Map k v) 
(Eq k, Hashable k) => Monoid (Map k v) 
(Eq k, Hashable k, ToText k, ToJSON v) => ToJSON (Map k v) 
(Eq k, Hashable k, FromText k, FromJSON v) => FromJSON (Map k v) 
(Eq k, Hashable k) => Semigroup (Map k v) 
ToHeader (Map (CI Text) Text) 
type Item (Map k v) = (k, v) 

_Map :: (Coercible a b, Coercible b a) => Iso' (Map k a) (HashMap k b) Source

(~::) :: ResponseHeaders -> CI Text -> Either String (Map (CI Text) Text) Source

newtype EMap e i j k v Source

Constructors

EMap 

Fields

fromEMap :: HashMap k v
 

Instances

(Eq k, Hashable k) => IsList (EMap e i j k v) 
(Eq k, Eq v) => Eq (EMap e i j k v) 
(Eq k, Read k, Read v, Hashable k) => Read (EMap e i j k v) 
(Show k, Show v) => Show (EMap e i j k v) 
(Eq k, Hashable k) => Monoid (EMap e i j k v) 
(Eq k, Hashable k) => Semigroup (EMap e i j k v) 
(KnownSymbol e, KnownSymbol i, KnownSymbol j, Eq k, Hashable k, ToQuery k, ToQuery v) => ToQuery (EMap e i j k v) 
(KnownSymbol e, KnownSymbol i, KnownSymbol j, Eq k, Hashable k, ToXML k, ToXML v) => ToXML (EMap e i j k v) 
(KnownSymbol e, KnownSymbol i, KnownSymbol j, Eq k, Hashable k, FromXML k, FromXML v) => FromXML (EMap e i j k v) 
type Item (EMap e i j k v) = (k, v) 

_EMap :: (Coercible a b, Coercible b a) => Iso' (EMap e i j k a) (HashMap k b) Source