{-# 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.RestoreDBClusterFromSnapshot
(
restoreDBClusterFromSnapshot
, RestoreDBClusterFromSnapshot
, rdbcfsEngineVersion
, rdbcfsDBSubnetGroupName
, rdbcfsAvailabilityZones
, rdbcfsKMSKeyId
, rdbcfsVPCSecurityGroupIds
, rdbcfsDatabaseName
, rdbcfsOptionGroupName
, rdbcfsTags
, rdbcfsPort
, rdbcfsDBClusterIdentifier
, rdbcfsSnapshotIdentifier
, rdbcfsEngine
, restoreDBClusterFromSnapshotResponse
, RestoreDBClusterFromSnapshotResponse
, rdbcfsrsDBCluster
, rdbcfsrsResponseStatus
) 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 RestoreDBClusterFromSnapshot = RestoreDBClusterFromSnapshot'
{ _rdbcfsEngineVersion :: !(Maybe Text)
, _rdbcfsDBSubnetGroupName :: !(Maybe Text)
, _rdbcfsAvailabilityZones :: !(Maybe [Text])
, _rdbcfsKMSKeyId :: !(Maybe Text)
, _rdbcfsVPCSecurityGroupIds :: !(Maybe [Text])
, _rdbcfsDatabaseName :: !(Maybe Text)
, _rdbcfsOptionGroupName :: !(Maybe Text)
, _rdbcfsTags :: !(Maybe [Tag])
, _rdbcfsPort :: !(Maybe Int)
, _rdbcfsDBClusterIdentifier :: !Text
, _rdbcfsSnapshotIdentifier :: !Text
, _rdbcfsEngine :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreDBClusterFromSnapshot
:: Text
-> Text
-> Text
-> RestoreDBClusterFromSnapshot
restoreDBClusterFromSnapshot pDBClusterIdentifier_ pSnapshotIdentifier_ pEngine_ =
RestoreDBClusterFromSnapshot'
{ _rdbcfsEngineVersion = Nothing
, _rdbcfsDBSubnetGroupName = Nothing
, _rdbcfsAvailabilityZones = Nothing
, _rdbcfsKMSKeyId = Nothing
, _rdbcfsVPCSecurityGroupIds = Nothing
, _rdbcfsDatabaseName = Nothing
, _rdbcfsOptionGroupName = Nothing
, _rdbcfsTags = Nothing
, _rdbcfsPort = Nothing
, _rdbcfsDBClusterIdentifier = pDBClusterIdentifier_
, _rdbcfsSnapshotIdentifier = pSnapshotIdentifier_
, _rdbcfsEngine = pEngine_
}
rdbcfsEngineVersion :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
rdbcfsEngineVersion = lens _rdbcfsEngineVersion (\ s a -> s{_rdbcfsEngineVersion = a});
rdbcfsDBSubnetGroupName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
rdbcfsDBSubnetGroupName = lens _rdbcfsDBSubnetGroupName (\ s a -> s{_rdbcfsDBSubnetGroupName = a});
rdbcfsAvailabilityZones :: Lens' RestoreDBClusterFromSnapshot [Text]
rdbcfsAvailabilityZones = lens _rdbcfsAvailabilityZones (\ s a -> s{_rdbcfsAvailabilityZones = a}) . _Default . _Coerce;
rdbcfsKMSKeyId :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
rdbcfsKMSKeyId = lens _rdbcfsKMSKeyId (\ s a -> s{_rdbcfsKMSKeyId = a});
rdbcfsVPCSecurityGroupIds :: Lens' RestoreDBClusterFromSnapshot [Text]
rdbcfsVPCSecurityGroupIds = lens _rdbcfsVPCSecurityGroupIds (\ s a -> s{_rdbcfsVPCSecurityGroupIds = a}) . _Default . _Coerce;
rdbcfsDatabaseName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
rdbcfsDatabaseName = lens _rdbcfsDatabaseName (\ s a -> s{_rdbcfsDatabaseName = a});
rdbcfsOptionGroupName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
rdbcfsOptionGroupName = lens _rdbcfsOptionGroupName (\ s a -> s{_rdbcfsOptionGroupName = a});
rdbcfsTags :: Lens' RestoreDBClusterFromSnapshot [Tag]
rdbcfsTags = lens _rdbcfsTags (\ s a -> s{_rdbcfsTags = a}) . _Default . _Coerce;
rdbcfsPort :: Lens' RestoreDBClusterFromSnapshot (Maybe Int)
rdbcfsPort = lens _rdbcfsPort (\ s a -> s{_rdbcfsPort = a});
rdbcfsDBClusterIdentifier :: Lens' RestoreDBClusterFromSnapshot Text
rdbcfsDBClusterIdentifier = lens _rdbcfsDBClusterIdentifier (\ s a -> s{_rdbcfsDBClusterIdentifier = a});
rdbcfsSnapshotIdentifier :: Lens' RestoreDBClusterFromSnapshot Text
rdbcfsSnapshotIdentifier = lens _rdbcfsSnapshotIdentifier (\ s a -> s{_rdbcfsSnapshotIdentifier = a});
rdbcfsEngine :: Lens' RestoreDBClusterFromSnapshot Text
rdbcfsEngine = lens _rdbcfsEngine (\ s a -> s{_rdbcfsEngine = a});
instance AWSRequest RestoreDBClusterFromSnapshot
where
type Rs RestoreDBClusterFromSnapshot =
RestoreDBClusterFromSnapshotResponse
request = postQuery rds
response
= receiveXMLWrapper
"RestoreDBClusterFromSnapshotResult"
(\ s h x ->
RestoreDBClusterFromSnapshotResponse' <$>
(x .@? "DBCluster") <*> (pure (fromEnum s)))
instance Hashable RestoreDBClusterFromSnapshot
instance NFData RestoreDBClusterFromSnapshot
instance ToHeaders RestoreDBClusterFromSnapshot where
toHeaders = const mempty
instance ToPath RestoreDBClusterFromSnapshot where
toPath = const "/"
instance ToQuery RestoreDBClusterFromSnapshot where
toQuery RestoreDBClusterFromSnapshot'{..}
= mconcat
["Action" =:
("RestoreDBClusterFromSnapshot" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"EngineVersion" =: _rdbcfsEngineVersion,
"DBSubnetGroupName" =: _rdbcfsDBSubnetGroupName,
"AvailabilityZones" =:
toQuery
(toQueryList "AvailabilityZone" <$>
_rdbcfsAvailabilityZones),
"KmsKeyId" =: _rdbcfsKMSKeyId,
"VpcSecurityGroupIds" =:
toQuery
(toQueryList "VpcSecurityGroupId" <$>
_rdbcfsVPCSecurityGroupIds),
"DatabaseName" =: _rdbcfsDatabaseName,
"OptionGroupName" =: _rdbcfsOptionGroupName,
"Tags" =:
toQuery (toQueryList "Tag" <$> _rdbcfsTags),
"Port" =: _rdbcfsPort,
"DBClusterIdentifier" =: _rdbcfsDBClusterIdentifier,
"SnapshotIdentifier" =: _rdbcfsSnapshotIdentifier,
"Engine" =: _rdbcfsEngine]
data RestoreDBClusterFromSnapshotResponse = RestoreDBClusterFromSnapshotResponse'
{ _rdbcfsrsDBCluster :: !(Maybe DBCluster)
, _rdbcfsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreDBClusterFromSnapshotResponse
:: Int
-> RestoreDBClusterFromSnapshotResponse
restoreDBClusterFromSnapshotResponse pResponseStatus_ =
RestoreDBClusterFromSnapshotResponse'
{ _rdbcfsrsDBCluster = Nothing
, _rdbcfsrsResponseStatus = pResponseStatus_
}
rdbcfsrsDBCluster :: Lens' RestoreDBClusterFromSnapshotResponse (Maybe DBCluster)
rdbcfsrsDBCluster = lens _rdbcfsrsDBCluster (\ s a -> s{_rdbcfsrsDBCluster = a});
rdbcfsrsResponseStatus :: Lens' RestoreDBClusterFromSnapshotResponse Int
rdbcfsrsResponseStatus = lens _rdbcfsrsResponseStatus (\ s a -> s{_rdbcfsrsResponseStatus = a});
instance NFData RestoreDBClusterFromSnapshotResponse