{-# 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.DMS.ModifyReplicationInstance
(
modifyReplicationInstance
, ModifyReplicationInstance
, mriEngineVersion
, mriAutoMinorVersionUpgrade
, mriAllowMajorVersionUpgrade
, mriPreferredMaintenanceWindow
, mriVPCSecurityGroupIds
, mriMultiAZ
, mriAllocatedStorage
, mriApplyImmediately
, mriReplicationInstanceClass
, mriReplicationInstanceIdentifier
, mriReplicationInstanceARN
, modifyReplicationInstanceResponse
, ModifyReplicationInstanceResponse
, mrirsReplicationInstance
, mrirsResponseStatus
) 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 ModifyReplicationInstance = ModifyReplicationInstance'
{ _mriEngineVersion :: !(Maybe Text)
, _mriAutoMinorVersionUpgrade :: !(Maybe Bool)
, _mriAllowMajorVersionUpgrade :: !(Maybe Bool)
, _mriPreferredMaintenanceWindow :: !(Maybe Text)
, _mriVPCSecurityGroupIds :: !(Maybe [Text])
, _mriMultiAZ :: !(Maybe Bool)
, _mriAllocatedStorage :: !(Maybe Int)
, _mriApplyImmediately :: !(Maybe Bool)
, _mriReplicationInstanceClass :: !(Maybe Text)
, _mriReplicationInstanceIdentifier :: !(Maybe Text)
, _mriReplicationInstanceARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyReplicationInstance
:: Text
-> ModifyReplicationInstance
modifyReplicationInstance pReplicationInstanceARN_ =
ModifyReplicationInstance'
{ _mriEngineVersion = Nothing
, _mriAutoMinorVersionUpgrade = Nothing
, _mriAllowMajorVersionUpgrade = Nothing
, _mriPreferredMaintenanceWindow = Nothing
, _mriVPCSecurityGroupIds = Nothing
, _mriMultiAZ = Nothing
, _mriAllocatedStorage = Nothing
, _mriApplyImmediately = Nothing
, _mriReplicationInstanceClass = Nothing
, _mriReplicationInstanceIdentifier = Nothing
, _mriReplicationInstanceARN = pReplicationInstanceARN_
}
mriEngineVersion :: Lens' ModifyReplicationInstance (Maybe Text)
mriEngineVersion = lens _mriEngineVersion (\ s a -> s{_mriEngineVersion = a});
mriAutoMinorVersionUpgrade :: Lens' ModifyReplicationInstance (Maybe Bool)
mriAutoMinorVersionUpgrade = lens _mriAutoMinorVersionUpgrade (\ s a -> s{_mriAutoMinorVersionUpgrade = a});
mriAllowMajorVersionUpgrade :: Lens' ModifyReplicationInstance (Maybe Bool)
mriAllowMajorVersionUpgrade = lens _mriAllowMajorVersionUpgrade (\ s a -> s{_mriAllowMajorVersionUpgrade = a});
mriPreferredMaintenanceWindow :: Lens' ModifyReplicationInstance (Maybe Text)
mriPreferredMaintenanceWindow = lens _mriPreferredMaintenanceWindow (\ s a -> s{_mriPreferredMaintenanceWindow = a});
mriVPCSecurityGroupIds :: Lens' ModifyReplicationInstance [Text]
mriVPCSecurityGroupIds = lens _mriVPCSecurityGroupIds (\ s a -> s{_mriVPCSecurityGroupIds = a}) . _Default . _Coerce;
mriMultiAZ :: Lens' ModifyReplicationInstance (Maybe Bool)
mriMultiAZ = lens _mriMultiAZ (\ s a -> s{_mriMultiAZ = a});
mriAllocatedStorage :: Lens' ModifyReplicationInstance (Maybe Int)
mriAllocatedStorage = lens _mriAllocatedStorage (\ s a -> s{_mriAllocatedStorage = a});
mriApplyImmediately :: Lens' ModifyReplicationInstance (Maybe Bool)
mriApplyImmediately = lens _mriApplyImmediately (\ s a -> s{_mriApplyImmediately = a});
mriReplicationInstanceClass :: Lens' ModifyReplicationInstance (Maybe Text)
mriReplicationInstanceClass = lens _mriReplicationInstanceClass (\ s a -> s{_mriReplicationInstanceClass = a});
mriReplicationInstanceIdentifier :: Lens' ModifyReplicationInstance (Maybe Text)
mriReplicationInstanceIdentifier = lens _mriReplicationInstanceIdentifier (\ s a -> s{_mriReplicationInstanceIdentifier = a});
mriReplicationInstanceARN :: Lens' ModifyReplicationInstance Text
mriReplicationInstanceARN = lens _mriReplicationInstanceARN (\ s a -> s{_mriReplicationInstanceARN = a});
instance AWSRequest ModifyReplicationInstance where
type Rs ModifyReplicationInstance =
ModifyReplicationInstanceResponse
request = postJSON dms
response
= receiveJSON
(\ s h x ->
ModifyReplicationInstanceResponse' <$>
(x .?> "ReplicationInstance") <*>
(pure (fromEnum s)))
instance Hashable ModifyReplicationInstance
instance NFData ModifyReplicationInstance
instance ToHeaders ModifyReplicationInstance where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonDMSv20160101.ModifyReplicationInstance" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ModifyReplicationInstance where
toJSON ModifyReplicationInstance'{..}
= object
(catMaybes
[("EngineVersion" .=) <$> _mriEngineVersion,
("AutoMinorVersionUpgrade" .=) <$>
_mriAutoMinorVersionUpgrade,
("AllowMajorVersionUpgrade" .=) <$>
_mriAllowMajorVersionUpgrade,
("PreferredMaintenanceWindow" .=) <$>
_mriPreferredMaintenanceWindow,
("VpcSecurityGroupIds" .=) <$>
_mriVPCSecurityGroupIds,
("MultiAZ" .=) <$> _mriMultiAZ,
("AllocatedStorage" .=) <$> _mriAllocatedStorage,
("ApplyImmediately" .=) <$> _mriApplyImmediately,
("ReplicationInstanceClass" .=) <$>
_mriReplicationInstanceClass,
("ReplicationInstanceIdentifier" .=) <$>
_mriReplicationInstanceIdentifier,
Just
("ReplicationInstanceArn" .=
_mriReplicationInstanceARN)])
instance ToPath ModifyReplicationInstance where
toPath = const "/"
instance ToQuery ModifyReplicationInstance where
toQuery = const mempty
data ModifyReplicationInstanceResponse = ModifyReplicationInstanceResponse'
{ _mrirsReplicationInstance :: !(Maybe ReplicationInstance)
, _mrirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyReplicationInstanceResponse
:: Int
-> ModifyReplicationInstanceResponse
modifyReplicationInstanceResponse pResponseStatus_ =
ModifyReplicationInstanceResponse'
{ _mrirsReplicationInstance = Nothing
, _mrirsResponseStatus = pResponseStatus_
}
mrirsReplicationInstance :: Lens' ModifyReplicationInstanceResponse (Maybe ReplicationInstance)
mrirsReplicationInstance = lens _mrirsReplicationInstance (\ s a -> s{_mrirsReplicationInstance = a});
mrirsResponseStatus :: Lens' ModifyReplicationInstanceResponse Int
mrirsResponseStatus = lens _mrirsResponseStatus (\ s a -> s{_mrirsResponseStatus = a});
instance NFData ModifyReplicationInstanceResponse