module Network.AWS.DMS.ModifyReplicationTask
(
modifyReplicationTask
, ModifyReplicationTask
, mrtReplicationTaskSettings
, mrtReplicationTaskIdentifier
, mrtTableMappings
, mrtMigrationType
, mrtCdcStartTime
, mrtReplicationTaskARN
, modifyReplicationTaskResponse
, ModifyReplicationTaskResponse
, mrtrsReplicationTask
, mrtrsResponseStatus
) where
import Network.AWS.DMS.Types
import Network.AWS.DMS.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyReplicationTask = ModifyReplicationTask'
{ _mrtReplicationTaskSettings :: !(Maybe Text)
, _mrtReplicationTaskIdentifier :: !(Maybe Text)
, _mrtTableMappings :: !(Maybe Text)
, _mrtMigrationType :: !(Maybe MigrationTypeValue)
, _mrtCdcStartTime :: !(Maybe POSIX)
, _mrtReplicationTaskARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyReplicationTask
:: Text
-> ModifyReplicationTask
modifyReplicationTask pReplicationTaskARN_ =
ModifyReplicationTask'
{ _mrtReplicationTaskSettings = Nothing
, _mrtReplicationTaskIdentifier = Nothing
, _mrtTableMappings = Nothing
, _mrtMigrationType = Nothing
, _mrtCdcStartTime = Nothing
, _mrtReplicationTaskARN = pReplicationTaskARN_
}
mrtReplicationTaskSettings :: Lens' ModifyReplicationTask (Maybe Text)
mrtReplicationTaskSettings = lens _mrtReplicationTaskSettings (\ s a -> s{_mrtReplicationTaskSettings = a});
mrtReplicationTaskIdentifier :: Lens' ModifyReplicationTask (Maybe Text)
mrtReplicationTaskIdentifier = lens _mrtReplicationTaskIdentifier (\ s a -> s{_mrtReplicationTaskIdentifier = a});
mrtTableMappings :: Lens' ModifyReplicationTask (Maybe Text)
mrtTableMappings = lens _mrtTableMappings (\ s a -> s{_mrtTableMappings = a});
mrtMigrationType :: Lens' ModifyReplicationTask (Maybe MigrationTypeValue)
mrtMigrationType = lens _mrtMigrationType (\ s a -> s{_mrtMigrationType = a});
mrtCdcStartTime :: Lens' ModifyReplicationTask (Maybe UTCTime)
mrtCdcStartTime = lens _mrtCdcStartTime (\ s a -> s{_mrtCdcStartTime = a}) . mapping _Time;
mrtReplicationTaskARN :: Lens' ModifyReplicationTask Text
mrtReplicationTaskARN = lens _mrtReplicationTaskARN (\ s a -> s{_mrtReplicationTaskARN = a});
instance AWSRequest ModifyReplicationTask where
type Rs ModifyReplicationTask =
ModifyReplicationTaskResponse
request = postJSON dms
response
= receiveJSON
(\ s h x ->
ModifyReplicationTaskResponse' <$>
(x .?> "ReplicationTask") <*> (pure (fromEnum s)))
instance Hashable ModifyReplicationTask where
instance NFData ModifyReplicationTask where
instance ToHeaders ModifyReplicationTask where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonDMSv20160101.ModifyReplicationTask" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ModifyReplicationTask where
toJSON ModifyReplicationTask'{..}
= object
(catMaybes
[("ReplicationTaskSettings" .=) <$>
_mrtReplicationTaskSettings,
("ReplicationTaskIdentifier" .=) <$>
_mrtReplicationTaskIdentifier,
("TableMappings" .=) <$> _mrtTableMappings,
("MigrationType" .=) <$> _mrtMigrationType,
("CdcStartTime" .=) <$> _mrtCdcStartTime,
Just
("ReplicationTaskArn" .= _mrtReplicationTaskARN)])
instance ToPath ModifyReplicationTask where
toPath = const "/"
instance ToQuery ModifyReplicationTask where
toQuery = const mempty
data ModifyReplicationTaskResponse = ModifyReplicationTaskResponse'
{ _mrtrsReplicationTask :: !(Maybe ReplicationTask)
, _mrtrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyReplicationTaskResponse
:: Int
-> ModifyReplicationTaskResponse
modifyReplicationTaskResponse pResponseStatus_ =
ModifyReplicationTaskResponse'
{_mrtrsReplicationTask = Nothing, _mrtrsResponseStatus = pResponseStatus_}
mrtrsReplicationTask :: Lens' ModifyReplicationTaskResponse (Maybe ReplicationTask)
mrtrsReplicationTask = lens _mrtrsReplicationTask (\ s a -> s{_mrtrsReplicationTask = a});
mrtrsResponseStatus :: Lens' ModifyReplicationTaskResponse Int
mrtrsResponseStatus = lens _mrtrsResponseStatus (\ s a -> s{_mrtrsResponseStatus = a});
instance NFData ModifyReplicationTaskResponse where