module Network.AWS.StorageGateway.AddUploadBuffer
(
addUploadBuffer
, AddUploadBuffer
, aubGatewayARN
, aubDiskIds
, addUploadBufferResponse
, AddUploadBufferResponse
, aubrsGatewayARN
, aubrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.StorageGateway.Types
import Network.AWS.StorageGateway.Types.Product
data AddUploadBuffer = AddUploadBuffer'
{ _aubGatewayARN :: !Text
, _aubDiskIds :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
addUploadBuffer
:: Text
-> AddUploadBuffer
addUploadBuffer pGatewayARN_ =
AddUploadBuffer'
{ _aubGatewayARN = pGatewayARN_
, _aubDiskIds = mempty
}
aubGatewayARN :: Lens' AddUploadBuffer Text
aubGatewayARN = lens _aubGatewayARN (\ s a -> s{_aubGatewayARN = a});
aubDiskIds :: Lens' AddUploadBuffer [Text]
aubDiskIds = lens _aubDiskIds (\ s a -> s{_aubDiskIds = a}) . _Coerce;
instance AWSRequest AddUploadBuffer where
type Rs AddUploadBuffer = AddUploadBufferResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
AddUploadBufferResponse' <$>
(x .?> "GatewayARN") <*> (pure (fromEnum s)))
instance Hashable AddUploadBuffer
instance NFData AddUploadBuffer
instance ToHeaders AddUploadBuffer where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.AddUploadBuffer" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AddUploadBuffer where
toJSON AddUploadBuffer'{..}
= object
(catMaybes
[Just ("GatewayARN" .= _aubGatewayARN),
Just ("DiskIds" .= _aubDiskIds)])
instance ToPath AddUploadBuffer where
toPath = const "/"
instance ToQuery AddUploadBuffer where
toQuery = const mempty
data AddUploadBufferResponse = AddUploadBufferResponse'
{ _aubrsGatewayARN :: !(Maybe Text)
, _aubrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
addUploadBufferResponse
:: Int
-> AddUploadBufferResponse
addUploadBufferResponse pResponseStatus_ =
AddUploadBufferResponse'
{ _aubrsGatewayARN = Nothing
, _aubrsResponseStatus = pResponseStatus_
}
aubrsGatewayARN :: Lens' AddUploadBufferResponse (Maybe Text)
aubrsGatewayARN = lens _aubrsGatewayARN (\ s a -> s{_aubrsGatewayARN = a});
aubrsResponseStatus :: Lens' AddUploadBufferResponse Int
aubrsResponseStatus = lens _aubrsResponseStatus (\ s a -> s{_aubrsResponseStatus = a});
instance NFData AddUploadBufferResponse