{-# 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.EC2.ModifyNetworkInterfaceAttribute
(
modifyNetworkInterfaceAttribute
, ModifyNetworkInterfaceAttribute
, mniaGroups
, mniaSourceDestCheck
, mniaAttachment
, mniaDescription
, mniaDryRun
, mniaNetworkInterfaceId
, modifyNetworkInterfaceAttributeResponse
, ModifyNetworkInterfaceAttributeResponse
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyNetworkInterfaceAttribute = ModifyNetworkInterfaceAttribute'
{ _mniaGroups :: !(Maybe [Text])
, _mniaSourceDestCheck :: !(Maybe AttributeBooleanValue)
, _mniaAttachment :: !(Maybe NetworkInterfaceAttachmentChanges)
, _mniaDescription :: !(Maybe AttributeValue)
, _mniaDryRun :: !(Maybe Bool)
, _mniaNetworkInterfaceId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyNetworkInterfaceAttribute
:: Text
-> ModifyNetworkInterfaceAttribute
modifyNetworkInterfaceAttribute pNetworkInterfaceId_ =
ModifyNetworkInterfaceAttribute'
{ _mniaGroups = Nothing
, _mniaSourceDestCheck = Nothing
, _mniaAttachment = Nothing
, _mniaDescription = Nothing
, _mniaDryRun = Nothing
, _mniaNetworkInterfaceId = pNetworkInterfaceId_
}
mniaGroups :: Lens' ModifyNetworkInterfaceAttribute [Text]
mniaGroups = lens _mniaGroups (\ s a -> s{_mniaGroups = a}) . _Default . _Coerce
mniaSourceDestCheck :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeBooleanValue)
mniaSourceDestCheck = lens _mniaSourceDestCheck (\ s a -> s{_mniaSourceDestCheck = a})
mniaAttachment :: Lens' ModifyNetworkInterfaceAttribute (Maybe NetworkInterfaceAttachmentChanges)
mniaAttachment = lens _mniaAttachment (\ s a -> s{_mniaAttachment = a})
mniaDescription :: Lens' ModifyNetworkInterfaceAttribute (Maybe AttributeValue)
mniaDescription = lens _mniaDescription (\ s a -> s{_mniaDescription = a})
mniaDryRun :: Lens' ModifyNetworkInterfaceAttribute (Maybe Bool)
mniaDryRun = lens _mniaDryRun (\ s a -> s{_mniaDryRun = a})
mniaNetworkInterfaceId :: Lens' ModifyNetworkInterfaceAttribute Text
mniaNetworkInterfaceId = lens _mniaNetworkInterfaceId (\ s a -> s{_mniaNetworkInterfaceId = a})
instance AWSRequest ModifyNetworkInterfaceAttribute
where
type Rs ModifyNetworkInterfaceAttribute =
ModifyNetworkInterfaceAttributeResponse
request = postQuery ec2
response
= receiveNull
ModifyNetworkInterfaceAttributeResponse'
instance Hashable ModifyNetworkInterfaceAttribute
where
instance NFData ModifyNetworkInterfaceAttribute where
instance ToHeaders ModifyNetworkInterfaceAttribute
where
toHeaders = const mempty
instance ToPath ModifyNetworkInterfaceAttribute where
toPath = const "/"
instance ToQuery ModifyNetworkInterfaceAttribute
where
toQuery ModifyNetworkInterfaceAttribute'{..}
= mconcat
["Action" =:
("ModifyNetworkInterfaceAttribute" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery
(toQueryList "SecurityGroupId" <$> _mniaGroups),
"SourceDestCheck" =: _mniaSourceDestCheck,
"Attachment" =: _mniaAttachment,
"Description" =: _mniaDescription,
"DryRun" =: _mniaDryRun,
"NetworkInterfaceId" =: _mniaNetworkInterfaceId]
data ModifyNetworkInterfaceAttributeResponse =
ModifyNetworkInterfaceAttributeResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
modifyNetworkInterfaceAttributeResponse
:: ModifyNetworkInterfaceAttributeResponse
modifyNetworkInterfaceAttributeResponse =
ModifyNetworkInterfaceAttributeResponse'
instance NFData
ModifyNetworkInterfaceAttributeResponse
where