{-# 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 #-}
module Network.AWS.RDS.DeleteDBCluster
(
deleteDBCluster
, DeleteDBCluster
, ddbcFinalDBSnapshotIdentifier
, ddbcSkipFinalSnapshot
, ddbcDBClusterIdentifier
, deleteDBClusterResponse
, DeleteDBClusterResponse
, ddbcrsDBCluster
, ddbcrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.RDS.Types
import Network.AWS.RDS.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data DeleteDBCluster = DeleteDBCluster'
{ _ddbcFinalDBSnapshotIdentifier :: !(Maybe Text)
, _ddbcSkipFinalSnapshot :: !(Maybe Bool)
, _ddbcDBClusterIdentifier :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteDBCluster
:: Text
-> DeleteDBCluster
deleteDBCluster pDBClusterIdentifier_ =
DeleteDBCluster'
{ _ddbcFinalDBSnapshotIdentifier = Nothing
, _ddbcSkipFinalSnapshot = Nothing
, _ddbcDBClusterIdentifier = pDBClusterIdentifier_
}
ddbcFinalDBSnapshotIdentifier :: Lens' DeleteDBCluster (Maybe Text)
ddbcFinalDBSnapshotIdentifier = lens _ddbcFinalDBSnapshotIdentifier (\ s a -> s{_ddbcFinalDBSnapshotIdentifier = a})
ddbcSkipFinalSnapshot :: Lens' DeleteDBCluster (Maybe Bool)
ddbcSkipFinalSnapshot = lens _ddbcSkipFinalSnapshot (\ s a -> s{_ddbcSkipFinalSnapshot = a})
ddbcDBClusterIdentifier :: Lens' DeleteDBCluster Text
ddbcDBClusterIdentifier = lens _ddbcDBClusterIdentifier (\ s a -> s{_ddbcDBClusterIdentifier = a})
instance AWSRequest DeleteDBCluster where
type Rs DeleteDBCluster = DeleteDBClusterResponse
request = postQuery rds
response
= receiveXMLWrapper "DeleteDBClusterResult"
(\ s h x ->
DeleteDBClusterResponse' <$>
(x .@? "DBCluster") <*> (pure (fromEnum s)))
instance Hashable DeleteDBCluster where
instance NFData DeleteDBCluster where
instance ToHeaders DeleteDBCluster where
toHeaders = const mempty
instance ToPath DeleteDBCluster where
toPath = const "/"
instance ToQuery DeleteDBCluster where
toQuery DeleteDBCluster'{..}
= mconcat
["Action" =: ("DeleteDBCluster" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"FinalDBSnapshotIdentifier" =:
_ddbcFinalDBSnapshotIdentifier,
"SkipFinalSnapshot" =: _ddbcSkipFinalSnapshot,
"DBClusterIdentifier" =: _ddbcDBClusterIdentifier]
data DeleteDBClusterResponse = DeleteDBClusterResponse'
{ _ddbcrsDBCluster :: !(Maybe DBCluster)
, _ddbcrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteDBClusterResponse
:: Int
-> DeleteDBClusterResponse
deleteDBClusterResponse pResponseStatus_ =
DeleteDBClusterResponse'
{_ddbcrsDBCluster = Nothing, _ddbcrsResponseStatus = pResponseStatus_}
ddbcrsDBCluster :: Lens' DeleteDBClusterResponse (Maybe DBCluster)
ddbcrsDBCluster = lens _ddbcrsDBCluster (\ s a -> s{_ddbcrsDBCluster = a})
ddbcrsResponseStatus :: Lens' DeleteDBClusterResponse Int
ddbcrsResponseStatus = lens _ddbcrsResponseStatus (\ s a -> s{_ddbcrsResponseStatus = a})
instance NFData DeleteDBClusterResponse where