amazonka-efs-1.4.3: gen/Network/AWS/EFS/DeleteFileSystem.hs
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.EFS.DeleteFileSystem
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Deletes a file system, permanently severing access to its contents. Upon return, the file system no longer exists and you will not be able to access any contents of the deleted file system.
--
-- You cannot delete a file system that is in use. That is, if the file system has any mount targets, you must first delete them. For more information, see < DescribeMountTargets> and < DeleteMountTarget>.
--
-- The 'DeleteFileSystem' call returns while the file system state is still \"deleting\". You can check the file system deletion status by calling the < DescribeFileSystems> API, which returns a list of file systems in your account. If you pass file system ID or creation token for the deleted file system, the < DescribeFileSystems> will return a 404 \"FileSystemNotFound\" error.
--
-- This operation requires permission for the 'elasticfilesystem:DeleteFileSystem' action.
module Network.AWS.EFS.DeleteFileSystem
(
-- * Creating a Request
deleteFileSystem
, DeleteFileSystem
-- * Request Lenses
, delFileSystemId
-- * Destructuring the Response
, deleteFileSystemResponse
, DeleteFileSystemResponse
) where
import Network.AWS.EFS.Types
import Network.AWS.EFS.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | /See:/ 'deleteFileSystem' smart constructor.
newtype DeleteFileSystem = DeleteFileSystem'
{ _delFileSystemId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'DeleteFileSystem' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'delFileSystemId'
deleteFileSystem
:: Text -- ^ 'delFileSystemId'
-> DeleteFileSystem
deleteFileSystem pFileSystemId_ =
DeleteFileSystem'
{ _delFileSystemId = pFileSystemId_
}
-- | The ID of the file system you want to delete.
delFileSystemId :: Lens' DeleteFileSystem Text
delFileSystemId = lens _delFileSystemId (\ s a -> s{_delFileSystemId = a});
instance AWSRequest DeleteFileSystem where
type Rs DeleteFileSystem = DeleteFileSystemResponse
request = delete efs
response = receiveNull DeleteFileSystemResponse'
instance Hashable DeleteFileSystem
instance NFData DeleteFileSystem
instance ToHeaders DeleteFileSystem where
toHeaders = const mempty
instance ToPath DeleteFileSystem where
toPath DeleteFileSystem'{..}
= mconcat
["/2015-02-01/file-systems/", toBS _delFileSystemId]
instance ToQuery DeleteFileSystem where
toQuery = const mempty
-- | /See:/ 'deleteFileSystemResponse' smart constructor.
data DeleteFileSystemResponse =
DeleteFileSystemResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'DeleteFileSystemResponse' with the minimum fields required to make a request.
--
deleteFileSystemResponse
:: DeleteFileSystemResponse
deleteFileSystemResponse = DeleteFileSystemResponse'
instance NFData DeleteFileSystemResponse