{-# 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.RestoreDBClusterFromS3
(
restoreDBClusterFromS3
, RestoreDBClusterFromS3
, rdcfsEngineVersion
, rdcfsStorageEncrypted
, rdcfsDBSubnetGroupName
, rdcfsPreferredMaintenanceWindow
, rdcfsAvailabilityZones
, rdcfsCharacterSetName
, rdcfsKMSKeyId
, rdcfsPreferredBackupWindow
, rdcfsBackupRetentionPeriod
, rdcfsVPCSecurityGroupIds
, rdcfsDatabaseName
, rdcfsDBClusterParameterGroupName
, rdcfsS3Prefix
, rdcfsOptionGroupName
, rdcfsTags
, rdcfsPort
, rdcfsDBClusterIdentifier
, rdcfsEngine
, rdcfsMasterUsername
, rdcfsMasterUserPassword
, rdcfsSourceEngine
, rdcfsSourceEngineVersion
, rdcfsS3BucketName
, rdcfsS3IngestionRoleARN
, restoreDBClusterFromS3Response
, RestoreDBClusterFromS3Response
, rdcfsrsDBCluster
, rdcfsrsResponseStatus
) 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 RestoreDBClusterFromS3 = RestoreDBClusterFromS3'
{ _rdcfsEngineVersion :: !(Maybe Text)
, _rdcfsStorageEncrypted :: !(Maybe Bool)
, _rdcfsDBSubnetGroupName :: !(Maybe Text)
, _rdcfsPreferredMaintenanceWindow :: !(Maybe Text)
, _rdcfsAvailabilityZones :: !(Maybe [Text])
, _rdcfsCharacterSetName :: !(Maybe Text)
, _rdcfsKMSKeyId :: !(Maybe Text)
, _rdcfsPreferredBackupWindow :: !(Maybe Text)
, _rdcfsBackupRetentionPeriod :: !(Maybe Int)
, _rdcfsVPCSecurityGroupIds :: !(Maybe [Text])
, _rdcfsDatabaseName :: !(Maybe Text)
, _rdcfsDBClusterParameterGroupName :: !(Maybe Text)
, _rdcfsS3Prefix :: !(Maybe Text)
, _rdcfsOptionGroupName :: !(Maybe Text)
, _rdcfsTags :: !(Maybe [Tag])
, _rdcfsPort :: !(Maybe Int)
, _rdcfsDBClusterIdentifier :: !Text
, _rdcfsEngine :: !Text
, _rdcfsMasterUsername :: !Text
, _rdcfsMasterUserPassword :: !Text
, _rdcfsSourceEngine :: !Text
, _rdcfsSourceEngineVersion :: !Text
, _rdcfsS3BucketName :: !Text
, _rdcfsS3IngestionRoleARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreDBClusterFromS3
:: Text
-> Text
-> Text
-> Text
-> Text
-> Text
-> Text
-> Text
-> RestoreDBClusterFromS3
restoreDBClusterFromS3 pDBClusterIdentifier_ pEngine_ pMasterUsername_ pMasterUserPassword_ pSourceEngine_ pSourceEngineVersion_ pS3BucketName_ pS3IngestionRoleARN_ =
RestoreDBClusterFromS3'
{ _rdcfsEngineVersion = Nothing
, _rdcfsStorageEncrypted = Nothing
, _rdcfsDBSubnetGroupName = Nothing
, _rdcfsPreferredMaintenanceWindow = Nothing
, _rdcfsAvailabilityZones = Nothing
, _rdcfsCharacterSetName = Nothing
, _rdcfsKMSKeyId = Nothing
, _rdcfsPreferredBackupWindow = Nothing
, _rdcfsBackupRetentionPeriod = Nothing
, _rdcfsVPCSecurityGroupIds = Nothing
, _rdcfsDatabaseName = Nothing
, _rdcfsDBClusterParameterGroupName = Nothing
, _rdcfsS3Prefix = Nothing
, _rdcfsOptionGroupName = Nothing
, _rdcfsTags = Nothing
, _rdcfsPort = Nothing
, _rdcfsDBClusterIdentifier = pDBClusterIdentifier_
, _rdcfsEngine = pEngine_
, _rdcfsMasterUsername = pMasterUsername_
, _rdcfsMasterUserPassword = pMasterUserPassword_
, _rdcfsSourceEngine = pSourceEngine_
, _rdcfsSourceEngineVersion = pSourceEngineVersion_
, _rdcfsS3BucketName = pS3BucketName_
, _rdcfsS3IngestionRoleARN = pS3IngestionRoleARN_
}
rdcfsEngineVersion :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsEngineVersion = lens _rdcfsEngineVersion (\ s a -> s{_rdcfsEngineVersion = a});
rdcfsStorageEncrypted :: Lens' RestoreDBClusterFromS3 (Maybe Bool)
rdcfsStorageEncrypted = lens _rdcfsStorageEncrypted (\ s a -> s{_rdcfsStorageEncrypted = a});
rdcfsDBSubnetGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsDBSubnetGroupName = lens _rdcfsDBSubnetGroupName (\ s a -> s{_rdcfsDBSubnetGroupName = a});
rdcfsPreferredMaintenanceWindow :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsPreferredMaintenanceWindow = lens _rdcfsPreferredMaintenanceWindow (\ s a -> s{_rdcfsPreferredMaintenanceWindow = a});
rdcfsAvailabilityZones :: Lens' RestoreDBClusterFromS3 [Text]
rdcfsAvailabilityZones = lens _rdcfsAvailabilityZones (\ s a -> s{_rdcfsAvailabilityZones = a}) . _Default . _Coerce;
rdcfsCharacterSetName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsCharacterSetName = lens _rdcfsCharacterSetName (\ s a -> s{_rdcfsCharacterSetName = a});
rdcfsKMSKeyId :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsKMSKeyId = lens _rdcfsKMSKeyId (\ s a -> s{_rdcfsKMSKeyId = a});
rdcfsPreferredBackupWindow :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsPreferredBackupWindow = lens _rdcfsPreferredBackupWindow (\ s a -> s{_rdcfsPreferredBackupWindow = a});
rdcfsBackupRetentionPeriod :: Lens' RestoreDBClusterFromS3 (Maybe Int)
rdcfsBackupRetentionPeriod = lens _rdcfsBackupRetentionPeriod (\ s a -> s{_rdcfsBackupRetentionPeriod = a});
rdcfsVPCSecurityGroupIds :: Lens' RestoreDBClusterFromS3 [Text]
rdcfsVPCSecurityGroupIds = lens _rdcfsVPCSecurityGroupIds (\ s a -> s{_rdcfsVPCSecurityGroupIds = a}) . _Default . _Coerce;
rdcfsDatabaseName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsDatabaseName = lens _rdcfsDatabaseName (\ s a -> s{_rdcfsDatabaseName = a});
rdcfsDBClusterParameterGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsDBClusterParameterGroupName = lens _rdcfsDBClusterParameterGroupName (\ s a -> s{_rdcfsDBClusterParameterGroupName = a});
rdcfsS3Prefix :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsS3Prefix = lens _rdcfsS3Prefix (\ s a -> s{_rdcfsS3Prefix = a});
rdcfsOptionGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
rdcfsOptionGroupName = lens _rdcfsOptionGroupName (\ s a -> s{_rdcfsOptionGroupName = a});
rdcfsTags :: Lens' RestoreDBClusterFromS3 [Tag]
rdcfsTags = lens _rdcfsTags (\ s a -> s{_rdcfsTags = a}) . _Default . _Coerce;
rdcfsPort :: Lens' RestoreDBClusterFromS3 (Maybe Int)
rdcfsPort = lens _rdcfsPort (\ s a -> s{_rdcfsPort = a});
rdcfsDBClusterIdentifier :: Lens' RestoreDBClusterFromS3 Text
rdcfsDBClusterIdentifier = lens _rdcfsDBClusterIdentifier (\ s a -> s{_rdcfsDBClusterIdentifier = a});
rdcfsEngine :: Lens' RestoreDBClusterFromS3 Text
rdcfsEngine = lens _rdcfsEngine (\ s a -> s{_rdcfsEngine = a});
rdcfsMasterUsername :: Lens' RestoreDBClusterFromS3 Text
rdcfsMasterUsername = lens _rdcfsMasterUsername (\ s a -> s{_rdcfsMasterUsername = a});
rdcfsMasterUserPassword :: Lens' RestoreDBClusterFromS3 Text
rdcfsMasterUserPassword = lens _rdcfsMasterUserPassword (\ s a -> s{_rdcfsMasterUserPassword = a});
rdcfsSourceEngine :: Lens' RestoreDBClusterFromS3 Text
rdcfsSourceEngine = lens _rdcfsSourceEngine (\ s a -> s{_rdcfsSourceEngine = a});
rdcfsSourceEngineVersion :: Lens' RestoreDBClusterFromS3 Text
rdcfsSourceEngineVersion = lens _rdcfsSourceEngineVersion (\ s a -> s{_rdcfsSourceEngineVersion = a});
rdcfsS3BucketName :: Lens' RestoreDBClusterFromS3 Text
rdcfsS3BucketName = lens _rdcfsS3BucketName (\ s a -> s{_rdcfsS3BucketName = a});
rdcfsS3IngestionRoleARN :: Lens' RestoreDBClusterFromS3 Text
rdcfsS3IngestionRoleARN = lens _rdcfsS3IngestionRoleARN (\ s a -> s{_rdcfsS3IngestionRoleARN = a});
instance AWSRequest RestoreDBClusterFromS3 where
type Rs RestoreDBClusterFromS3 =
RestoreDBClusterFromS3Response
request = postQuery rds
response
= receiveXMLWrapper "RestoreDBClusterFromS3Result"
(\ s h x ->
RestoreDBClusterFromS3Response' <$>
(x .@? "DBCluster") <*> (pure (fromEnum s)))
instance Hashable RestoreDBClusterFromS3
instance NFData RestoreDBClusterFromS3
instance ToHeaders RestoreDBClusterFromS3 where
toHeaders = const mempty
instance ToPath RestoreDBClusterFromS3 where
toPath = const "/"
instance ToQuery RestoreDBClusterFromS3 where
toQuery RestoreDBClusterFromS3'{..}
= mconcat
["Action" =:
("RestoreDBClusterFromS3" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"EngineVersion" =: _rdcfsEngineVersion,
"StorageEncrypted" =: _rdcfsStorageEncrypted,
"DBSubnetGroupName" =: _rdcfsDBSubnetGroupName,
"PreferredMaintenanceWindow" =:
_rdcfsPreferredMaintenanceWindow,
"AvailabilityZones" =:
toQuery
(toQueryList "AvailabilityZone" <$>
_rdcfsAvailabilityZones),
"CharacterSetName" =: _rdcfsCharacterSetName,
"KmsKeyId" =: _rdcfsKMSKeyId,
"PreferredBackupWindow" =:
_rdcfsPreferredBackupWindow,
"BackupRetentionPeriod" =:
_rdcfsBackupRetentionPeriod,
"VpcSecurityGroupIds" =:
toQuery
(toQueryList "VpcSecurityGroupId" <$>
_rdcfsVPCSecurityGroupIds),
"DatabaseName" =: _rdcfsDatabaseName,
"DBClusterParameterGroupName" =:
_rdcfsDBClusterParameterGroupName,
"S3Prefix" =: _rdcfsS3Prefix,
"OptionGroupName" =: _rdcfsOptionGroupName,
"Tags" =: toQuery (toQueryList "Tag" <$> _rdcfsTags),
"Port" =: _rdcfsPort,
"DBClusterIdentifier" =: _rdcfsDBClusterIdentifier,
"Engine" =: _rdcfsEngine,
"MasterUsername" =: _rdcfsMasterUsername,
"MasterUserPassword" =: _rdcfsMasterUserPassword,
"SourceEngine" =: _rdcfsSourceEngine,
"SourceEngineVersion" =: _rdcfsSourceEngineVersion,
"S3BucketName" =: _rdcfsS3BucketName,
"S3IngestionRoleArn" =: _rdcfsS3IngestionRoleARN]
data RestoreDBClusterFromS3Response = RestoreDBClusterFromS3Response'
{ _rdcfsrsDBCluster :: !(Maybe DBCluster)
, _rdcfsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreDBClusterFromS3Response
:: Int
-> RestoreDBClusterFromS3Response
restoreDBClusterFromS3Response pResponseStatus_ =
RestoreDBClusterFromS3Response'
{ _rdcfsrsDBCluster = Nothing
, _rdcfsrsResponseStatus = pResponseStatus_
}
rdcfsrsDBCluster :: Lens' RestoreDBClusterFromS3Response (Maybe DBCluster)
rdcfsrsDBCluster = lens _rdcfsrsDBCluster (\ s a -> s{_rdcfsrsDBCluster = a});
rdcfsrsResponseStatus :: Lens' RestoreDBClusterFromS3Response Int
rdcfsrsResponseStatus = lens _rdcfsrsResponseStatus (\ s a -> s{_rdcfsrsResponseStatus = a});
instance NFData RestoreDBClusterFromS3Response