{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Support.AddAttachmentsToSet
(
AddAttachmentsToSet (..),
newAddAttachmentsToSet,
addAttachmentsToSet_attachmentSetId,
addAttachmentsToSet_attachments,
AddAttachmentsToSetResponse (..),
newAddAttachmentsToSetResponse,
addAttachmentsToSetResponse_attachmentSetId,
addAttachmentsToSetResponse_expiryTime,
addAttachmentsToSetResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Support.Types
data AddAttachmentsToSet = AddAttachmentsToSet'
{
AddAttachmentsToSet -> Maybe Text
attachmentSetId :: Prelude.Maybe Prelude.Text,
AddAttachmentsToSet -> [Attachment]
attachments :: [Attachment]
}
deriving (AddAttachmentsToSet -> AddAttachmentsToSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddAttachmentsToSet -> AddAttachmentsToSet -> Bool
$c/= :: AddAttachmentsToSet -> AddAttachmentsToSet -> Bool
== :: AddAttachmentsToSet -> AddAttachmentsToSet -> Bool
$c== :: AddAttachmentsToSet -> AddAttachmentsToSet -> Bool
Prelude.Eq, ReadPrec [AddAttachmentsToSet]
ReadPrec AddAttachmentsToSet
Int -> ReadS AddAttachmentsToSet
ReadS [AddAttachmentsToSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddAttachmentsToSet]
$creadListPrec :: ReadPrec [AddAttachmentsToSet]
readPrec :: ReadPrec AddAttachmentsToSet
$creadPrec :: ReadPrec AddAttachmentsToSet
readList :: ReadS [AddAttachmentsToSet]
$creadList :: ReadS [AddAttachmentsToSet]
readsPrec :: Int -> ReadS AddAttachmentsToSet
$creadsPrec :: Int -> ReadS AddAttachmentsToSet
Prelude.Read, Int -> AddAttachmentsToSet -> ShowS
[AddAttachmentsToSet] -> ShowS
AddAttachmentsToSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddAttachmentsToSet] -> ShowS
$cshowList :: [AddAttachmentsToSet] -> ShowS
show :: AddAttachmentsToSet -> String
$cshow :: AddAttachmentsToSet -> String
showsPrec :: Int -> AddAttachmentsToSet -> ShowS
$cshowsPrec :: Int -> AddAttachmentsToSet -> ShowS
Prelude.Show, forall x. Rep AddAttachmentsToSet x -> AddAttachmentsToSet
forall x. AddAttachmentsToSet -> Rep AddAttachmentsToSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AddAttachmentsToSet x -> AddAttachmentsToSet
$cfrom :: forall x. AddAttachmentsToSet -> Rep AddAttachmentsToSet x
Prelude.Generic)
newAddAttachmentsToSet ::
AddAttachmentsToSet
newAddAttachmentsToSet :: AddAttachmentsToSet
newAddAttachmentsToSet =
AddAttachmentsToSet'
{ $sel:attachmentSetId:AddAttachmentsToSet' :: Maybe Text
attachmentSetId =
forall a. Maybe a
Prelude.Nothing,
$sel:attachments:AddAttachmentsToSet' :: [Attachment]
attachments = forall a. Monoid a => a
Prelude.mempty
}
addAttachmentsToSet_attachmentSetId :: Lens.Lens' AddAttachmentsToSet (Prelude.Maybe Prelude.Text)
addAttachmentsToSet_attachmentSetId :: Lens' AddAttachmentsToSet (Maybe Text)
addAttachmentsToSet_attachmentSetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddAttachmentsToSet' {Maybe Text
attachmentSetId :: Maybe Text
$sel:attachmentSetId:AddAttachmentsToSet' :: AddAttachmentsToSet -> Maybe Text
attachmentSetId} -> Maybe Text
attachmentSetId) (\s :: AddAttachmentsToSet
s@AddAttachmentsToSet' {} Maybe Text
a -> AddAttachmentsToSet
s {$sel:attachmentSetId:AddAttachmentsToSet' :: Maybe Text
attachmentSetId = Maybe Text
a} :: AddAttachmentsToSet)
addAttachmentsToSet_attachments :: Lens.Lens' AddAttachmentsToSet [Attachment]
addAttachmentsToSet_attachments :: Lens' AddAttachmentsToSet [Attachment]
addAttachmentsToSet_attachments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddAttachmentsToSet' {[Attachment]
attachments :: [Attachment]
$sel:attachments:AddAttachmentsToSet' :: AddAttachmentsToSet -> [Attachment]
attachments} -> [Attachment]
attachments) (\s :: AddAttachmentsToSet
s@AddAttachmentsToSet' {} [Attachment]
a -> AddAttachmentsToSet
s {$sel:attachments:AddAttachmentsToSet' :: [Attachment]
attachments = [Attachment]
a} :: AddAttachmentsToSet) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest AddAttachmentsToSet where
type
AWSResponse AddAttachmentsToSet =
AddAttachmentsToSetResponse
request :: (Service -> Service)
-> AddAttachmentsToSet -> Request AddAttachmentsToSet
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy AddAttachmentsToSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AddAttachmentsToSet)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text -> Maybe Text -> Int -> AddAttachmentsToSetResponse
AddAttachmentsToSetResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"attachmentSetId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"expiryTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable AddAttachmentsToSet where
hashWithSalt :: Int -> AddAttachmentsToSet -> Int
hashWithSalt Int
_salt AddAttachmentsToSet' {[Attachment]
Maybe Text
attachments :: [Attachment]
attachmentSetId :: Maybe Text
$sel:attachments:AddAttachmentsToSet' :: AddAttachmentsToSet -> [Attachment]
$sel:attachmentSetId:AddAttachmentsToSet' :: AddAttachmentsToSet -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
attachmentSetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Attachment]
attachments
instance Prelude.NFData AddAttachmentsToSet where
rnf :: AddAttachmentsToSet -> ()
rnf AddAttachmentsToSet' {[Attachment]
Maybe Text
attachments :: [Attachment]
attachmentSetId :: Maybe Text
$sel:attachments:AddAttachmentsToSet' :: AddAttachmentsToSet -> [Attachment]
$sel:attachmentSetId:AddAttachmentsToSet' :: AddAttachmentsToSet -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
attachmentSetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Attachment]
attachments
instance Data.ToHeaders AddAttachmentsToSet where
toHeaders :: AddAttachmentsToSet -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSSupport_20130415.AddAttachmentsToSet" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON AddAttachmentsToSet where
toJSON :: AddAttachmentsToSet -> Value
toJSON AddAttachmentsToSet' {[Attachment]
Maybe Text
attachments :: [Attachment]
attachmentSetId :: Maybe Text
$sel:attachments:AddAttachmentsToSet' :: AddAttachmentsToSet -> [Attachment]
$sel:attachmentSetId:AddAttachmentsToSet' :: AddAttachmentsToSet -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"attachmentSetId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
attachmentSetId,
forall a. a -> Maybe a
Prelude.Just (Key
"attachments" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Attachment]
attachments)
]
)
instance Data.ToPath AddAttachmentsToSet where
toPath :: AddAttachmentsToSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AddAttachmentsToSet where
toQuery :: AddAttachmentsToSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AddAttachmentsToSetResponse = AddAttachmentsToSetResponse'
{
AddAttachmentsToSetResponse -> Maybe Text
attachmentSetId :: Prelude.Maybe Prelude.Text,
AddAttachmentsToSetResponse -> Maybe Text
expiryTime :: Prelude.Maybe Prelude.Text,
AddAttachmentsToSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AddAttachmentsToSetResponse -> AddAttachmentsToSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddAttachmentsToSetResponse -> AddAttachmentsToSetResponse -> Bool
$c/= :: AddAttachmentsToSetResponse -> AddAttachmentsToSetResponse -> Bool
== :: AddAttachmentsToSetResponse -> AddAttachmentsToSetResponse -> Bool
$c== :: AddAttachmentsToSetResponse -> AddAttachmentsToSetResponse -> Bool
Prelude.Eq, ReadPrec [AddAttachmentsToSetResponse]
ReadPrec AddAttachmentsToSetResponse
Int -> ReadS AddAttachmentsToSetResponse
ReadS [AddAttachmentsToSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddAttachmentsToSetResponse]
$creadListPrec :: ReadPrec [AddAttachmentsToSetResponse]
readPrec :: ReadPrec AddAttachmentsToSetResponse
$creadPrec :: ReadPrec AddAttachmentsToSetResponse
readList :: ReadS [AddAttachmentsToSetResponse]
$creadList :: ReadS [AddAttachmentsToSetResponse]
readsPrec :: Int -> ReadS AddAttachmentsToSetResponse
$creadsPrec :: Int -> ReadS AddAttachmentsToSetResponse
Prelude.Read, Int -> AddAttachmentsToSetResponse -> ShowS
[AddAttachmentsToSetResponse] -> ShowS
AddAttachmentsToSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddAttachmentsToSetResponse] -> ShowS
$cshowList :: [AddAttachmentsToSetResponse] -> ShowS
show :: AddAttachmentsToSetResponse -> String
$cshow :: AddAttachmentsToSetResponse -> String
showsPrec :: Int -> AddAttachmentsToSetResponse -> ShowS
$cshowsPrec :: Int -> AddAttachmentsToSetResponse -> ShowS
Prelude.Show, forall x.
Rep AddAttachmentsToSetResponse x -> AddAttachmentsToSetResponse
forall x.
AddAttachmentsToSetResponse -> Rep AddAttachmentsToSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AddAttachmentsToSetResponse x -> AddAttachmentsToSetResponse
$cfrom :: forall x.
AddAttachmentsToSetResponse -> Rep AddAttachmentsToSetResponse x
Prelude.Generic)
newAddAttachmentsToSetResponse ::
Prelude.Int ->
AddAttachmentsToSetResponse
newAddAttachmentsToSetResponse :: Int -> AddAttachmentsToSetResponse
newAddAttachmentsToSetResponse Int
pHttpStatus_ =
AddAttachmentsToSetResponse'
{ $sel:attachmentSetId:AddAttachmentsToSetResponse' :: Maybe Text
attachmentSetId =
forall a. Maybe a
Prelude.Nothing,
$sel:expiryTime:AddAttachmentsToSetResponse' :: Maybe Text
expiryTime = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:AddAttachmentsToSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
addAttachmentsToSetResponse_attachmentSetId :: Lens.Lens' AddAttachmentsToSetResponse (Prelude.Maybe Prelude.Text)
addAttachmentsToSetResponse_attachmentSetId :: Lens' AddAttachmentsToSetResponse (Maybe Text)
addAttachmentsToSetResponse_attachmentSetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddAttachmentsToSetResponse' {Maybe Text
attachmentSetId :: Maybe Text
$sel:attachmentSetId:AddAttachmentsToSetResponse' :: AddAttachmentsToSetResponse -> Maybe Text
attachmentSetId} -> Maybe Text
attachmentSetId) (\s :: AddAttachmentsToSetResponse
s@AddAttachmentsToSetResponse' {} Maybe Text
a -> AddAttachmentsToSetResponse
s {$sel:attachmentSetId:AddAttachmentsToSetResponse' :: Maybe Text
attachmentSetId = Maybe Text
a} :: AddAttachmentsToSetResponse)
addAttachmentsToSetResponse_expiryTime :: Lens.Lens' AddAttachmentsToSetResponse (Prelude.Maybe Prelude.Text)
addAttachmentsToSetResponse_expiryTime :: Lens' AddAttachmentsToSetResponse (Maybe Text)
addAttachmentsToSetResponse_expiryTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddAttachmentsToSetResponse' {Maybe Text
expiryTime :: Maybe Text
$sel:expiryTime:AddAttachmentsToSetResponse' :: AddAttachmentsToSetResponse -> Maybe Text
expiryTime} -> Maybe Text
expiryTime) (\s :: AddAttachmentsToSetResponse
s@AddAttachmentsToSetResponse' {} Maybe Text
a -> AddAttachmentsToSetResponse
s {$sel:expiryTime:AddAttachmentsToSetResponse' :: Maybe Text
expiryTime = Maybe Text
a} :: AddAttachmentsToSetResponse)
addAttachmentsToSetResponse_httpStatus :: Lens.Lens' AddAttachmentsToSetResponse Prelude.Int
addAttachmentsToSetResponse_httpStatus :: Lens' AddAttachmentsToSetResponse Int
addAttachmentsToSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddAttachmentsToSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:AddAttachmentsToSetResponse' :: AddAttachmentsToSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AddAttachmentsToSetResponse
s@AddAttachmentsToSetResponse' {} Int
a -> AddAttachmentsToSetResponse
s {$sel:httpStatus:AddAttachmentsToSetResponse' :: Int
httpStatus = Int
a} :: AddAttachmentsToSetResponse)
instance Prelude.NFData AddAttachmentsToSetResponse where
rnf :: AddAttachmentsToSetResponse -> ()
rnf AddAttachmentsToSetResponse' {Int
Maybe Text
httpStatus :: Int
expiryTime :: Maybe Text
attachmentSetId :: Maybe Text
$sel:httpStatus:AddAttachmentsToSetResponse' :: AddAttachmentsToSetResponse -> Int
$sel:expiryTime:AddAttachmentsToSetResponse' :: AddAttachmentsToSetResponse -> Maybe Text
$sel:attachmentSetId:AddAttachmentsToSetResponse' :: AddAttachmentsToSetResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
attachmentSetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
expiryTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus