module Network.AWS.RDS.ModifyDBSnapshotAttribute
(
modifyDBSnapshotAttribute
, ModifyDBSnapshotAttribute
, mdsaValuesToAdd
, mdsaValuesToRemove
, mdsaAttributeName
, mdsaDBSnapshotIdentifier
, modifyDBSnapshotAttributeResponse
, ModifyDBSnapshotAttributeResponse
, mdsarsDBSnapshotAttributesResult
, mdsarsResponseStatus
) 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 ModifyDBSnapshotAttribute = ModifyDBSnapshotAttribute'
{ _mdsaValuesToAdd :: !(Maybe [Text])
, _mdsaValuesToRemove :: !(Maybe [Text])
, _mdsaAttributeName :: !(Maybe Text)
, _mdsaDBSnapshotIdentifier :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyDBSnapshotAttribute
:: Text
-> ModifyDBSnapshotAttribute
modifyDBSnapshotAttribute pDBSnapshotIdentifier_ =
ModifyDBSnapshotAttribute'
{ _mdsaValuesToAdd = Nothing
, _mdsaValuesToRemove = Nothing
, _mdsaAttributeName = Nothing
, _mdsaDBSnapshotIdentifier = pDBSnapshotIdentifier_
}
mdsaValuesToAdd :: Lens' ModifyDBSnapshotAttribute [Text]
mdsaValuesToAdd = lens _mdsaValuesToAdd (\ s a -> s{_mdsaValuesToAdd = a}) . _Default . _Coerce;
mdsaValuesToRemove :: Lens' ModifyDBSnapshotAttribute [Text]
mdsaValuesToRemove = lens _mdsaValuesToRemove (\ s a -> s{_mdsaValuesToRemove = a}) . _Default . _Coerce;
mdsaAttributeName :: Lens' ModifyDBSnapshotAttribute (Maybe Text)
mdsaAttributeName = lens _mdsaAttributeName (\ s a -> s{_mdsaAttributeName = a});
mdsaDBSnapshotIdentifier :: Lens' ModifyDBSnapshotAttribute Text
mdsaDBSnapshotIdentifier = lens _mdsaDBSnapshotIdentifier (\ s a -> s{_mdsaDBSnapshotIdentifier = a});
instance AWSRequest ModifyDBSnapshotAttribute where
type Rs ModifyDBSnapshotAttribute =
ModifyDBSnapshotAttributeResponse
request = postQuery rds
response
= receiveXMLWrapper "ModifyDBSnapshotAttributeResult"
(\ s h x ->
ModifyDBSnapshotAttributeResponse' <$>
(x .@? "DBSnapshotAttributesResult") <*>
(pure (fromEnum s)))
instance Hashable ModifyDBSnapshotAttribute
instance NFData ModifyDBSnapshotAttribute
instance ToHeaders ModifyDBSnapshotAttribute where
toHeaders = const mempty
instance ToPath ModifyDBSnapshotAttribute where
toPath = const "/"
instance ToQuery ModifyDBSnapshotAttribute where
toQuery ModifyDBSnapshotAttribute'{..}
= mconcat
["Action" =:
("ModifyDBSnapshotAttribute" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"ValuesToAdd" =:
toQuery
(toQueryList "AttributeValue" <$> _mdsaValuesToAdd),
"ValuesToRemove" =:
toQuery
(toQueryList "AttributeValue" <$>
_mdsaValuesToRemove),
"AttributeName" =: _mdsaAttributeName,
"DBSnapshotIdentifier" =: _mdsaDBSnapshotIdentifier]
data ModifyDBSnapshotAttributeResponse = ModifyDBSnapshotAttributeResponse'
{ _mdsarsDBSnapshotAttributesResult :: !(Maybe DBSnapshotAttributesResult)
, _mdsarsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyDBSnapshotAttributeResponse
:: Int
-> ModifyDBSnapshotAttributeResponse
modifyDBSnapshotAttributeResponse pResponseStatus_ =
ModifyDBSnapshotAttributeResponse'
{ _mdsarsDBSnapshotAttributesResult = Nothing
, _mdsarsResponseStatus = pResponseStatus_
}
mdsarsDBSnapshotAttributesResult :: Lens' ModifyDBSnapshotAttributeResponse (Maybe DBSnapshotAttributesResult)
mdsarsDBSnapshotAttributesResult = lens _mdsarsDBSnapshotAttributesResult (\ s a -> s{_mdsarsDBSnapshotAttributesResult = a});
mdsarsResponseStatus :: Lens' ModifyDBSnapshotAttributeResponse Int
mdsarsResponseStatus = lens _mdsarsResponseStatus (\ s a -> s{_mdsarsResponseStatus = a});
instance NFData ModifyDBSnapshotAttributeResponse