{-# 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.StorageGateway.AddUploadBuffer
(
AddUploadBuffer (..),
newAddUploadBuffer,
addUploadBuffer_gatewayARN,
addUploadBuffer_diskIds,
AddUploadBufferResponse (..),
newAddUploadBufferResponse,
addUploadBufferResponse_gatewayARN,
addUploadBufferResponse_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.StorageGateway.Types
data AddUploadBuffer = AddUploadBuffer'
{ AddUploadBuffer -> Text
gatewayARN :: Prelude.Text,
AddUploadBuffer -> [Text]
diskIds :: [Prelude.Text]
}
deriving (AddUploadBuffer -> AddUploadBuffer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddUploadBuffer -> AddUploadBuffer -> Bool
$c/= :: AddUploadBuffer -> AddUploadBuffer -> Bool
== :: AddUploadBuffer -> AddUploadBuffer -> Bool
$c== :: AddUploadBuffer -> AddUploadBuffer -> Bool
Prelude.Eq, ReadPrec [AddUploadBuffer]
ReadPrec AddUploadBuffer
Int -> ReadS AddUploadBuffer
ReadS [AddUploadBuffer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddUploadBuffer]
$creadListPrec :: ReadPrec [AddUploadBuffer]
readPrec :: ReadPrec AddUploadBuffer
$creadPrec :: ReadPrec AddUploadBuffer
readList :: ReadS [AddUploadBuffer]
$creadList :: ReadS [AddUploadBuffer]
readsPrec :: Int -> ReadS AddUploadBuffer
$creadsPrec :: Int -> ReadS AddUploadBuffer
Prelude.Read, Int -> AddUploadBuffer -> ShowS
[AddUploadBuffer] -> ShowS
AddUploadBuffer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddUploadBuffer] -> ShowS
$cshowList :: [AddUploadBuffer] -> ShowS
show :: AddUploadBuffer -> String
$cshow :: AddUploadBuffer -> String
showsPrec :: Int -> AddUploadBuffer -> ShowS
$cshowsPrec :: Int -> AddUploadBuffer -> ShowS
Prelude.Show, forall x. Rep AddUploadBuffer x -> AddUploadBuffer
forall x. AddUploadBuffer -> Rep AddUploadBuffer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AddUploadBuffer x -> AddUploadBuffer
$cfrom :: forall x. AddUploadBuffer -> Rep AddUploadBuffer x
Prelude.Generic)
newAddUploadBuffer ::
Prelude.Text ->
AddUploadBuffer
newAddUploadBuffer :: Text -> AddUploadBuffer
newAddUploadBuffer Text
pGatewayARN_ =
AddUploadBuffer'
{ $sel:gatewayARN:AddUploadBuffer' :: Text
gatewayARN = Text
pGatewayARN_,
$sel:diskIds:AddUploadBuffer' :: [Text]
diskIds = forall a. Monoid a => a
Prelude.mempty
}
addUploadBuffer_gatewayARN :: Lens.Lens' AddUploadBuffer Prelude.Text
addUploadBuffer_gatewayARN :: Lens' AddUploadBuffer Text
addUploadBuffer_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddUploadBuffer' {Text
gatewayARN :: Text
$sel:gatewayARN:AddUploadBuffer' :: AddUploadBuffer -> Text
gatewayARN} -> Text
gatewayARN) (\s :: AddUploadBuffer
s@AddUploadBuffer' {} Text
a -> AddUploadBuffer
s {$sel:gatewayARN:AddUploadBuffer' :: Text
gatewayARN = Text
a} :: AddUploadBuffer)
addUploadBuffer_diskIds :: Lens.Lens' AddUploadBuffer [Prelude.Text]
addUploadBuffer_diskIds :: Lens' AddUploadBuffer [Text]
addUploadBuffer_diskIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddUploadBuffer' {[Text]
diskIds :: [Text]
$sel:diskIds:AddUploadBuffer' :: AddUploadBuffer -> [Text]
diskIds} -> [Text]
diskIds) (\s :: AddUploadBuffer
s@AddUploadBuffer' {} [Text]
a -> AddUploadBuffer
s {$sel:diskIds:AddUploadBuffer' :: [Text]
diskIds = [Text]
a} :: AddUploadBuffer) 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 AddUploadBuffer where
type
AWSResponse AddUploadBuffer =
AddUploadBufferResponse
request :: (Service -> Service) -> AddUploadBuffer -> Request AddUploadBuffer
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 AddUploadBuffer
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse AddUploadBuffer)))
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 -> Int -> AddUploadBufferResponse
AddUploadBufferResponse'
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
"GatewayARN")
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 AddUploadBuffer where
hashWithSalt :: Int -> AddUploadBuffer -> Int
hashWithSalt Int
_salt AddUploadBuffer' {[Text]
Text
diskIds :: [Text]
gatewayARN :: Text
$sel:diskIds:AddUploadBuffer' :: AddUploadBuffer -> [Text]
$sel:gatewayARN:AddUploadBuffer' :: AddUploadBuffer -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
gatewayARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
diskIds
instance Prelude.NFData AddUploadBuffer where
rnf :: AddUploadBuffer -> ()
rnf AddUploadBuffer' {[Text]
Text
diskIds :: [Text]
gatewayARN :: Text
$sel:diskIds:AddUploadBuffer' :: AddUploadBuffer -> [Text]
$sel:gatewayARN:AddUploadBuffer' :: AddUploadBuffer -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
gatewayARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
diskIds
instance Data.ToHeaders AddUploadBuffer where
toHeaders :: AddUploadBuffer -> 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
"StorageGateway_20130630.AddUploadBuffer" ::
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 AddUploadBuffer where
toJSON :: AddUploadBuffer -> Value
toJSON AddUploadBuffer' {[Text]
Text
diskIds :: [Text]
gatewayARN :: Text
$sel:diskIds:AddUploadBuffer' :: AddUploadBuffer -> [Text]
$sel:gatewayARN:AddUploadBuffer' :: AddUploadBuffer -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"GatewayARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
gatewayARN),
forall a. a -> Maybe a
Prelude.Just (Key
"DiskIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
diskIds)
]
)
instance Data.ToPath AddUploadBuffer where
toPath :: AddUploadBuffer -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AddUploadBuffer where
toQuery :: AddUploadBuffer -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AddUploadBufferResponse = AddUploadBufferResponse'
{ AddUploadBufferResponse -> Maybe Text
gatewayARN :: Prelude.Maybe Prelude.Text,
AddUploadBufferResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AddUploadBufferResponse -> AddUploadBufferResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddUploadBufferResponse -> AddUploadBufferResponse -> Bool
$c/= :: AddUploadBufferResponse -> AddUploadBufferResponse -> Bool
== :: AddUploadBufferResponse -> AddUploadBufferResponse -> Bool
$c== :: AddUploadBufferResponse -> AddUploadBufferResponse -> Bool
Prelude.Eq, ReadPrec [AddUploadBufferResponse]
ReadPrec AddUploadBufferResponse
Int -> ReadS AddUploadBufferResponse
ReadS [AddUploadBufferResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddUploadBufferResponse]
$creadListPrec :: ReadPrec [AddUploadBufferResponse]
readPrec :: ReadPrec AddUploadBufferResponse
$creadPrec :: ReadPrec AddUploadBufferResponse
readList :: ReadS [AddUploadBufferResponse]
$creadList :: ReadS [AddUploadBufferResponse]
readsPrec :: Int -> ReadS AddUploadBufferResponse
$creadsPrec :: Int -> ReadS AddUploadBufferResponse
Prelude.Read, Int -> AddUploadBufferResponse -> ShowS
[AddUploadBufferResponse] -> ShowS
AddUploadBufferResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddUploadBufferResponse] -> ShowS
$cshowList :: [AddUploadBufferResponse] -> ShowS
show :: AddUploadBufferResponse -> String
$cshow :: AddUploadBufferResponse -> String
showsPrec :: Int -> AddUploadBufferResponse -> ShowS
$cshowsPrec :: Int -> AddUploadBufferResponse -> ShowS
Prelude.Show, forall x. Rep AddUploadBufferResponse x -> AddUploadBufferResponse
forall x. AddUploadBufferResponse -> Rep AddUploadBufferResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AddUploadBufferResponse x -> AddUploadBufferResponse
$cfrom :: forall x. AddUploadBufferResponse -> Rep AddUploadBufferResponse x
Prelude.Generic)
newAddUploadBufferResponse ::
Prelude.Int ->
AddUploadBufferResponse
newAddUploadBufferResponse :: Int -> AddUploadBufferResponse
newAddUploadBufferResponse Int
pHttpStatus_ =
AddUploadBufferResponse'
{ $sel:gatewayARN:AddUploadBufferResponse' :: Maybe Text
gatewayARN =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:AddUploadBufferResponse' :: Int
httpStatus = Int
pHttpStatus_
}
addUploadBufferResponse_gatewayARN :: Lens.Lens' AddUploadBufferResponse (Prelude.Maybe Prelude.Text)
addUploadBufferResponse_gatewayARN :: Lens' AddUploadBufferResponse (Maybe Text)
addUploadBufferResponse_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddUploadBufferResponse' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:AddUploadBufferResponse' :: AddUploadBufferResponse -> Maybe Text
gatewayARN} -> Maybe Text
gatewayARN) (\s :: AddUploadBufferResponse
s@AddUploadBufferResponse' {} Maybe Text
a -> AddUploadBufferResponse
s {$sel:gatewayARN:AddUploadBufferResponse' :: Maybe Text
gatewayARN = Maybe Text
a} :: AddUploadBufferResponse)
addUploadBufferResponse_httpStatus :: Lens.Lens' AddUploadBufferResponse Prelude.Int
addUploadBufferResponse_httpStatus :: Lens' AddUploadBufferResponse Int
addUploadBufferResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddUploadBufferResponse' {Int
httpStatus :: Int
$sel:httpStatus:AddUploadBufferResponse' :: AddUploadBufferResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AddUploadBufferResponse
s@AddUploadBufferResponse' {} Int
a -> AddUploadBufferResponse
s {$sel:httpStatus:AddUploadBufferResponse' :: Int
httpStatus = Int
a} :: AddUploadBufferResponse)
instance Prelude.NFData AddUploadBufferResponse where
rnf :: AddUploadBufferResponse -> ()
rnf AddUploadBufferResponse' {Int
Maybe Text
httpStatus :: Int
gatewayARN :: Maybe Text
$sel:httpStatus:AddUploadBufferResponse' :: AddUploadBufferResponse -> Int
$sel:gatewayARN:AddUploadBufferResponse' :: AddUploadBufferResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gatewayARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus