{-# 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.DescribeUploadBuffer
(
DescribeUploadBuffer (..),
newDescribeUploadBuffer,
describeUploadBuffer_gatewayARN,
DescribeUploadBufferResponse (..),
newDescribeUploadBufferResponse,
describeUploadBufferResponse_diskIds,
describeUploadBufferResponse_gatewayARN,
describeUploadBufferResponse_uploadBufferAllocatedInBytes,
describeUploadBufferResponse_uploadBufferUsedInBytes,
describeUploadBufferResponse_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 DescribeUploadBuffer = DescribeUploadBuffer'
{ DescribeUploadBuffer -> Text
gatewayARN :: Prelude.Text
}
deriving (DescribeUploadBuffer -> DescribeUploadBuffer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeUploadBuffer -> DescribeUploadBuffer -> Bool
$c/= :: DescribeUploadBuffer -> DescribeUploadBuffer -> Bool
== :: DescribeUploadBuffer -> DescribeUploadBuffer -> Bool
$c== :: DescribeUploadBuffer -> DescribeUploadBuffer -> Bool
Prelude.Eq, ReadPrec [DescribeUploadBuffer]
ReadPrec DescribeUploadBuffer
Int -> ReadS DescribeUploadBuffer
ReadS [DescribeUploadBuffer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeUploadBuffer]
$creadListPrec :: ReadPrec [DescribeUploadBuffer]
readPrec :: ReadPrec DescribeUploadBuffer
$creadPrec :: ReadPrec DescribeUploadBuffer
readList :: ReadS [DescribeUploadBuffer]
$creadList :: ReadS [DescribeUploadBuffer]
readsPrec :: Int -> ReadS DescribeUploadBuffer
$creadsPrec :: Int -> ReadS DescribeUploadBuffer
Prelude.Read, Int -> DescribeUploadBuffer -> ShowS
[DescribeUploadBuffer] -> ShowS
DescribeUploadBuffer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeUploadBuffer] -> ShowS
$cshowList :: [DescribeUploadBuffer] -> ShowS
show :: DescribeUploadBuffer -> String
$cshow :: DescribeUploadBuffer -> String
showsPrec :: Int -> DescribeUploadBuffer -> ShowS
$cshowsPrec :: Int -> DescribeUploadBuffer -> ShowS
Prelude.Show, forall x. Rep DescribeUploadBuffer x -> DescribeUploadBuffer
forall x. DescribeUploadBuffer -> Rep DescribeUploadBuffer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeUploadBuffer x -> DescribeUploadBuffer
$cfrom :: forall x. DescribeUploadBuffer -> Rep DescribeUploadBuffer x
Prelude.Generic)
newDescribeUploadBuffer ::
Prelude.Text ->
DescribeUploadBuffer
newDescribeUploadBuffer :: Text -> DescribeUploadBuffer
newDescribeUploadBuffer Text
pGatewayARN_ =
DescribeUploadBuffer' {$sel:gatewayARN:DescribeUploadBuffer' :: Text
gatewayARN = Text
pGatewayARN_}
describeUploadBuffer_gatewayARN :: Lens.Lens' DescribeUploadBuffer Prelude.Text
describeUploadBuffer_gatewayARN :: Lens' DescribeUploadBuffer Text
describeUploadBuffer_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUploadBuffer' {Text
gatewayARN :: Text
$sel:gatewayARN:DescribeUploadBuffer' :: DescribeUploadBuffer -> Text
gatewayARN} -> Text
gatewayARN) (\s :: DescribeUploadBuffer
s@DescribeUploadBuffer' {} Text
a -> DescribeUploadBuffer
s {$sel:gatewayARN:DescribeUploadBuffer' :: Text
gatewayARN = Text
a} :: DescribeUploadBuffer)
instance Core.AWSRequest DescribeUploadBuffer where
type
AWSResponse DescribeUploadBuffer =
DescribeUploadBufferResponse
request :: (Service -> Service)
-> DescribeUploadBuffer -> Request DescribeUploadBuffer
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 DescribeUploadBuffer
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeUploadBuffer)))
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
-> Maybe Integer
-> Maybe Integer
-> Int
-> DescribeUploadBufferResponse
DescribeUploadBufferResponse'
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
"DiskIds" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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
"GatewayARN")
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
"UploadBufferAllocatedInBytes")
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
"UploadBufferUsedInBytes")
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 DescribeUploadBuffer where
hashWithSalt :: Int -> DescribeUploadBuffer -> Int
hashWithSalt Int
_salt DescribeUploadBuffer' {Text
gatewayARN :: Text
$sel:gatewayARN:DescribeUploadBuffer' :: DescribeUploadBuffer -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
gatewayARN
instance Prelude.NFData DescribeUploadBuffer where
rnf :: DescribeUploadBuffer -> ()
rnf DescribeUploadBuffer' {Text
gatewayARN :: Text
$sel:gatewayARN:DescribeUploadBuffer' :: DescribeUploadBuffer -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
gatewayARN
instance Data.ToHeaders DescribeUploadBuffer where
toHeaders :: DescribeUploadBuffer -> 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.DescribeUploadBuffer" ::
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 DescribeUploadBuffer where
toJSON :: DescribeUploadBuffer -> Value
toJSON DescribeUploadBuffer' {Text
gatewayARN :: Text
$sel:gatewayARN:DescribeUploadBuffer' :: DescribeUploadBuffer -> 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)]
)
instance Data.ToPath DescribeUploadBuffer where
toPath :: DescribeUploadBuffer -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeUploadBuffer where
toQuery :: DescribeUploadBuffer -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeUploadBufferResponse = DescribeUploadBufferResponse'
{
DescribeUploadBufferResponse -> Maybe [Text]
diskIds :: Prelude.Maybe [Prelude.Text],
DescribeUploadBufferResponse -> Maybe Text
gatewayARN :: Prelude.Maybe Prelude.Text,
DescribeUploadBufferResponse -> Maybe Integer
uploadBufferAllocatedInBytes :: Prelude.Maybe Prelude.Integer,
DescribeUploadBufferResponse -> Maybe Integer
uploadBufferUsedInBytes :: Prelude.Maybe Prelude.Integer,
DescribeUploadBufferResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeUploadBufferResponse
-> DescribeUploadBufferResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeUploadBufferResponse
-> DescribeUploadBufferResponse -> Bool
$c/= :: DescribeUploadBufferResponse
-> DescribeUploadBufferResponse -> Bool
== :: DescribeUploadBufferResponse
-> DescribeUploadBufferResponse -> Bool
$c== :: DescribeUploadBufferResponse
-> DescribeUploadBufferResponse -> Bool
Prelude.Eq, ReadPrec [DescribeUploadBufferResponse]
ReadPrec DescribeUploadBufferResponse
Int -> ReadS DescribeUploadBufferResponse
ReadS [DescribeUploadBufferResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeUploadBufferResponse]
$creadListPrec :: ReadPrec [DescribeUploadBufferResponse]
readPrec :: ReadPrec DescribeUploadBufferResponse
$creadPrec :: ReadPrec DescribeUploadBufferResponse
readList :: ReadS [DescribeUploadBufferResponse]
$creadList :: ReadS [DescribeUploadBufferResponse]
readsPrec :: Int -> ReadS DescribeUploadBufferResponse
$creadsPrec :: Int -> ReadS DescribeUploadBufferResponse
Prelude.Read, Int -> DescribeUploadBufferResponse -> ShowS
[DescribeUploadBufferResponse] -> ShowS
DescribeUploadBufferResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeUploadBufferResponse] -> ShowS
$cshowList :: [DescribeUploadBufferResponse] -> ShowS
show :: DescribeUploadBufferResponse -> String
$cshow :: DescribeUploadBufferResponse -> String
showsPrec :: Int -> DescribeUploadBufferResponse -> ShowS
$cshowsPrec :: Int -> DescribeUploadBufferResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeUploadBufferResponse x -> DescribeUploadBufferResponse
forall x.
DescribeUploadBufferResponse -> Rep DescribeUploadBufferResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeUploadBufferResponse x -> DescribeUploadBufferResponse
$cfrom :: forall x.
DescribeUploadBufferResponse -> Rep DescribeUploadBufferResponse x
Prelude.Generic)
newDescribeUploadBufferResponse ::
Prelude.Int ->
DescribeUploadBufferResponse
newDescribeUploadBufferResponse :: Int -> DescribeUploadBufferResponse
newDescribeUploadBufferResponse Int
pHttpStatus_ =
DescribeUploadBufferResponse'
{ $sel:diskIds:DescribeUploadBufferResponse' :: Maybe [Text]
diskIds =
forall a. Maybe a
Prelude.Nothing,
$sel:gatewayARN:DescribeUploadBufferResponse' :: Maybe Text
gatewayARN = forall a. Maybe a
Prelude.Nothing,
$sel:uploadBufferAllocatedInBytes:DescribeUploadBufferResponse' :: Maybe Integer
uploadBufferAllocatedInBytes =
forall a. Maybe a
Prelude.Nothing,
$sel:uploadBufferUsedInBytes:DescribeUploadBufferResponse' :: Maybe Integer
uploadBufferUsedInBytes = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeUploadBufferResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeUploadBufferResponse_diskIds :: Lens.Lens' DescribeUploadBufferResponse (Prelude.Maybe [Prelude.Text])
describeUploadBufferResponse_diskIds :: Lens' DescribeUploadBufferResponse (Maybe [Text])
describeUploadBufferResponse_diskIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUploadBufferResponse' {Maybe [Text]
diskIds :: Maybe [Text]
$sel:diskIds:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe [Text]
diskIds} -> Maybe [Text]
diskIds) (\s :: DescribeUploadBufferResponse
s@DescribeUploadBufferResponse' {} Maybe [Text]
a -> DescribeUploadBufferResponse
s {$sel:diskIds:DescribeUploadBufferResponse' :: Maybe [Text]
diskIds = Maybe [Text]
a} :: DescribeUploadBufferResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeUploadBufferResponse_gatewayARN :: Lens.Lens' DescribeUploadBufferResponse (Prelude.Maybe Prelude.Text)
describeUploadBufferResponse_gatewayARN :: Lens' DescribeUploadBufferResponse (Maybe Text)
describeUploadBufferResponse_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUploadBufferResponse' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe Text
gatewayARN} -> Maybe Text
gatewayARN) (\s :: DescribeUploadBufferResponse
s@DescribeUploadBufferResponse' {} Maybe Text
a -> DescribeUploadBufferResponse
s {$sel:gatewayARN:DescribeUploadBufferResponse' :: Maybe Text
gatewayARN = Maybe Text
a} :: DescribeUploadBufferResponse)
describeUploadBufferResponse_uploadBufferAllocatedInBytes :: Lens.Lens' DescribeUploadBufferResponse (Prelude.Maybe Prelude.Integer)
describeUploadBufferResponse_uploadBufferAllocatedInBytes :: Lens' DescribeUploadBufferResponse (Maybe Integer)
describeUploadBufferResponse_uploadBufferAllocatedInBytes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUploadBufferResponse' {Maybe Integer
uploadBufferAllocatedInBytes :: Maybe Integer
$sel:uploadBufferAllocatedInBytes:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe Integer
uploadBufferAllocatedInBytes} -> Maybe Integer
uploadBufferAllocatedInBytes) (\s :: DescribeUploadBufferResponse
s@DescribeUploadBufferResponse' {} Maybe Integer
a -> DescribeUploadBufferResponse
s {$sel:uploadBufferAllocatedInBytes:DescribeUploadBufferResponse' :: Maybe Integer
uploadBufferAllocatedInBytes = Maybe Integer
a} :: DescribeUploadBufferResponse)
describeUploadBufferResponse_uploadBufferUsedInBytes :: Lens.Lens' DescribeUploadBufferResponse (Prelude.Maybe Prelude.Integer)
describeUploadBufferResponse_uploadBufferUsedInBytes :: Lens' DescribeUploadBufferResponse (Maybe Integer)
describeUploadBufferResponse_uploadBufferUsedInBytes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUploadBufferResponse' {Maybe Integer
uploadBufferUsedInBytes :: Maybe Integer
$sel:uploadBufferUsedInBytes:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe Integer
uploadBufferUsedInBytes} -> Maybe Integer
uploadBufferUsedInBytes) (\s :: DescribeUploadBufferResponse
s@DescribeUploadBufferResponse' {} Maybe Integer
a -> DescribeUploadBufferResponse
s {$sel:uploadBufferUsedInBytes:DescribeUploadBufferResponse' :: Maybe Integer
uploadBufferUsedInBytes = Maybe Integer
a} :: DescribeUploadBufferResponse)
describeUploadBufferResponse_httpStatus :: Lens.Lens' DescribeUploadBufferResponse Prelude.Int
describeUploadBufferResponse_httpStatus :: Lens' DescribeUploadBufferResponse Int
describeUploadBufferResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUploadBufferResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeUploadBufferResponse
s@DescribeUploadBufferResponse' {} Int
a -> DescribeUploadBufferResponse
s {$sel:httpStatus:DescribeUploadBufferResponse' :: Int
httpStatus = Int
a} :: DescribeUploadBufferResponse)
instance Prelude.NFData DescribeUploadBufferResponse where
rnf :: DescribeUploadBufferResponse -> ()
rnf DescribeUploadBufferResponse' {Int
Maybe Integer
Maybe [Text]
Maybe Text
httpStatus :: Int
uploadBufferUsedInBytes :: Maybe Integer
uploadBufferAllocatedInBytes :: Maybe Integer
gatewayARN :: Maybe Text
diskIds :: Maybe [Text]
$sel:httpStatus:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Int
$sel:uploadBufferUsedInBytes:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe Integer
$sel:uploadBufferAllocatedInBytes:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe Integer
$sel:gatewayARN:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe Text
$sel:diskIds:DescribeUploadBufferResponse' :: DescribeUploadBufferResponse -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
diskIds
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Maybe Integer
uploadBufferAllocatedInBytes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
uploadBufferUsedInBytes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus