module Network.AWS.StorageGateway.DescribeUploadBuffer
(
DescribeUploadBuffer
, describeUploadBuffer
, dubGatewayARN
, DescribeUploadBufferResponse
, describeUploadBufferResponse
, dubrDiskIds
, dubrGatewayARN
, dubrUploadBufferAllocatedInBytes
, dubrUploadBufferUsedInBytes
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.StorageGateway.Types
import qualified GHC.Exts
newtype DescribeUploadBuffer = DescribeUploadBuffer
{ _dubGatewayARN :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
describeUploadBuffer :: Text
-> DescribeUploadBuffer
describeUploadBuffer p1 = DescribeUploadBuffer
{ _dubGatewayARN = p1
}
dubGatewayARN :: Lens' DescribeUploadBuffer Text
dubGatewayARN = lens _dubGatewayARN (\s a -> s { _dubGatewayARN = a })
data DescribeUploadBufferResponse = DescribeUploadBufferResponse
{ _dubrDiskIds :: List "DiskIds" Text
, _dubrGatewayARN :: Maybe Text
, _dubrUploadBufferAllocatedInBytes :: Maybe Integer
, _dubrUploadBufferUsedInBytes :: Maybe Integer
} deriving (Eq, Ord, Read, Show)
describeUploadBufferResponse :: DescribeUploadBufferResponse
describeUploadBufferResponse = DescribeUploadBufferResponse
{ _dubrGatewayARN = Nothing
, _dubrDiskIds = mempty
, _dubrUploadBufferUsedInBytes = Nothing
, _dubrUploadBufferAllocatedInBytes = Nothing
}
dubrDiskIds :: Lens' DescribeUploadBufferResponse [Text]
dubrDiskIds = lens _dubrDiskIds (\s a -> s { _dubrDiskIds = a }) . _List
dubrGatewayARN :: Lens' DescribeUploadBufferResponse (Maybe Text)
dubrGatewayARN = lens _dubrGatewayARN (\s a -> s { _dubrGatewayARN = a })
dubrUploadBufferAllocatedInBytes :: Lens' DescribeUploadBufferResponse (Maybe Integer)
dubrUploadBufferAllocatedInBytes =
lens _dubrUploadBufferAllocatedInBytes
(\s a -> s { _dubrUploadBufferAllocatedInBytes = a })
dubrUploadBufferUsedInBytes :: Lens' DescribeUploadBufferResponse (Maybe Integer)
dubrUploadBufferUsedInBytes =
lens _dubrUploadBufferUsedInBytes
(\s a -> s { _dubrUploadBufferUsedInBytes = a })
instance ToPath DescribeUploadBuffer where
toPath = const "/"
instance ToQuery DescribeUploadBuffer where
toQuery = const mempty
instance ToHeaders DescribeUploadBuffer
instance ToJSON DescribeUploadBuffer where
toJSON DescribeUploadBuffer{..} = object
[ "GatewayARN" .= _dubGatewayARN
]
instance AWSRequest DescribeUploadBuffer where
type Sv DescribeUploadBuffer = StorageGateway
type Rs DescribeUploadBuffer = DescribeUploadBufferResponse
request = post "DescribeUploadBuffer"
response = jsonResponse
instance FromJSON DescribeUploadBufferResponse where
parseJSON = withObject "DescribeUploadBufferResponse" $ \o -> DescribeUploadBufferResponse
<$> o .:? "DiskIds" .!= mempty
<*> o .:? "GatewayARN"
<*> o .:? "UploadBufferAllocatedInBytes"
<*> o .:? "UploadBufferUsedInBytes"