module Network.AWS.StorageGateway.DeleteFileShare
(
deleteFileShare
, DeleteFileShare
, dfsForceDelete
, dfsFileShareARN
, deleteFileShareResponse
, DeleteFileShareResponse
, dfsrsFileShareARN
, dfsrsResponseStatus
) 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 DeleteFileShare = DeleteFileShare'
{ _dfsForceDelete :: !(Maybe Bool)
, _dfsFileShareARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteFileShare
:: Text
-> DeleteFileShare
deleteFileShare pFileShareARN_ =
DeleteFileShare'
{_dfsForceDelete = Nothing, _dfsFileShareARN = pFileShareARN_}
dfsForceDelete :: Lens' DeleteFileShare (Maybe Bool)
dfsForceDelete = lens _dfsForceDelete (\ s a -> s{_dfsForceDelete = a});
dfsFileShareARN :: Lens' DeleteFileShare Text
dfsFileShareARN = lens _dfsFileShareARN (\ s a -> s{_dfsFileShareARN = a});
instance AWSRequest DeleteFileShare where
type Rs DeleteFileShare = DeleteFileShareResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
DeleteFileShareResponse' <$>
(x .?> "FileShareARN") <*> (pure (fromEnum s)))
instance Hashable DeleteFileShare where
instance NFData DeleteFileShare where
instance ToHeaders DeleteFileShare where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.DeleteFileShare" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteFileShare where
toJSON DeleteFileShare'{..}
= object
(catMaybes
[("ForceDelete" .=) <$> _dfsForceDelete,
Just ("FileShareARN" .= _dfsFileShareARN)])
instance ToPath DeleteFileShare where
toPath = const "/"
instance ToQuery DeleteFileShare where
toQuery = const mempty
data DeleteFileShareResponse = DeleteFileShareResponse'
{ _dfsrsFileShareARN :: !(Maybe Text)
, _dfsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteFileShareResponse
:: Int
-> DeleteFileShareResponse
deleteFileShareResponse pResponseStatus_ =
DeleteFileShareResponse'
{_dfsrsFileShareARN = Nothing, _dfsrsResponseStatus = pResponseStatus_}
dfsrsFileShareARN :: Lens' DeleteFileShareResponse (Maybe Text)
dfsrsFileShareARN = lens _dfsrsFileShareARN (\ s a -> s{_dfsrsFileShareARN = a});
dfsrsResponseStatus :: Lens' DeleteFileShareResponse Int
dfsrsResponseStatus = lens _dfsrsResponseStatus (\ s a -> s{_dfsrsResponseStatus = a});
instance NFData DeleteFileShareResponse where