module Network.AWS.EC2.AttachNetworkInterface
(
attachNetworkInterface
, AttachNetworkInterface
, aniDryRun
, aniNetworkInterfaceId
, aniInstanceId
, aniDeviceIndex
, attachNetworkInterfaceResponse
, AttachNetworkInterfaceResponse
, anirsAttachmentId
, anirsStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data AttachNetworkInterface = AttachNetworkInterface'
{ _aniDryRun :: !(Maybe Bool)
, _aniNetworkInterfaceId :: !Text
, _aniInstanceId :: !Text
, _aniDeviceIndex :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
attachNetworkInterface
:: Text
-> Text
-> Int
-> AttachNetworkInterface
attachNetworkInterface pNetworkInterfaceId_ pInstanceId_ pDeviceIndex_ =
AttachNetworkInterface'
{ _aniDryRun = Nothing
, _aniNetworkInterfaceId = pNetworkInterfaceId_
, _aniInstanceId = pInstanceId_
, _aniDeviceIndex = pDeviceIndex_
}
aniDryRun :: Lens' AttachNetworkInterface (Maybe Bool)
aniDryRun = lens _aniDryRun (\ s a -> s{_aniDryRun = a});
aniNetworkInterfaceId :: Lens' AttachNetworkInterface Text
aniNetworkInterfaceId = lens _aniNetworkInterfaceId (\ s a -> s{_aniNetworkInterfaceId = a});
aniInstanceId :: Lens' AttachNetworkInterface Text
aniInstanceId = lens _aniInstanceId (\ s a -> s{_aniInstanceId = a});
aniDeviceIndex :: Lens' AttachNetworkInterface Int
aniDeviceIndex = lens _aniDeviceIndex (\ s a -> s{_aniDeviceIndex = a});
instance AWSRequest AttachNetworkInterface where
type Sv AttachNetworkInterface = EC2
type Rs AttachNetworkInterface =
AttachNetworkInterfaceResponse
request = postQuery
response
= receiveXML
(\ s h x ->
AttachNetworkInterfaceResponse' <$>
(x .@? "attachmentId") <*> (pure (fromEnum s)))
instance ToHeaders AttachNetworkInterface where
toHeaders = const mempty
instance ToPath AttachNetworkInterface where
toPath = const "/"
instance ToQuery AttachNetworkInterface where
toQuery AttachNetworkInterface'{..}
= mconcat
["Action" =:
("AttachNetworkInterface" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
"DryRun" =: _aniDryRun,
"NetworkInterfaceId" =: _aniNetworkInterfaceId,
"InstanceId" =: _aniInstanceId,
"DeviceIndex" =: _aniDeviceIndex]
data AttachNetworkInterfaceResponse = AttachNetworkInterfaceResponse'
{ _anirsAttachmentId :: !(Maybe Text)
, _anirsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
attachNetworkInterfaceResponse
:: Int
-> AttachNetworkInterfaceResponse
attachNetworkInterfaceResponse pStatus_ =
AttachNetworkInterfaceResponse'
{ _anirsAttachmentId = Nothing
, _anirsStatus = pStatus_
}
anirsAttachmentId :: Lens' AttachNetworkInterfaceResponse (Maybe Text)
anirsAttachmentId = lens _anirsAttachmentId (\ s a -> s{_anirsAttachmentId = a});
anirsStatus :: Lens' AttachNetworkInterfaceResponse Int
anirsStatus = lens _anirsStatus (\ s a -> s{_anirsStatus = a});