module Network.AWS.StorageGateway.AddUploadBuffer
(
AddUploadBuffer
, addUploadBuffer
, aubDiskIds
, aubGatewayARN
, AddUploadBufferResponse
, addUploadBufferResponse
, aubrGatewayARN
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.StorageGateway.Types
import qualified GHC.Exts
data AddUploadBuffer = AddUploadBuffer
{ _aubDiskIds :: List "DiskIds" Text
, _aubGatewayARN :: Text
} deriving (Eq, Ord, Show)
addUploadBuffer :: Text
-> AddUploadBuffer
addUploadBuffer p1 = AddUploadBuffer
{ _aubGatewayARN = p1
, _aubDiskIds = mempty
}
aubDiskIds :: Lens' AddUploadBuffer [Text]
aubDiskIds = lens _aubDiskIds (\s a -> s { _aubDiskIds = a }) . _List
aubGatewayARN :: Lens' AddUploadBuffer Text
aubGatewayARN = lens _aubGatewayARN (\s a -> s { _aubGatewayARN = a })
newtype AddUploadBufferResponse = AddUploadBufferResponse
{ _aubrGatewayARN :: Maybe Text
} deriving (Eq, Ord, Show, Monoid)
addUploadBufferResponse :: AddUploadBufferResponse
addUploadBufferResponse = AddUploadBufferResponse
{ _aubrGatewayARN = Nothing
}
aubrGatewayARN :: Lens' AddUploadBufferResponse (Maybe Text)
aubrGatewayARN = lens _aubrGatewayARN (\s a -> s { _aubrGatewayARN = a })
instance ToPath AddUploadBuffer where
toPath = const "/"
instance ToQuery AddUploadBuffer where
toQuery = const mempty
instance ToHeaders AddUploadBuffer
instance ToJSON AddUploadBuffer where
toJSON AddUploadBuffer{..} = object
[ "GatewayARN" .= _aubGatewayARN
, "DiskIds" .= _aubDiskIds
]
instance AWSRequest AddUploadBuffer where
type Sv AddUploadBuffer = StorageGateway
type Rs AddUploadBuffer = AddUploadBufferResponse
request = post "AddUploadBuffer"
response = jsonResponse
instance FromJSON AddUploadBufferResponse where
parseJSON = withObject "AddUploadBufferResponse" $ \o -> AddUploadBufferResponse
<$> o .:? "GatewayARN"