{-# 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.AssignPrivateIPAddresses
(
assignPrivateIPAddresses
, AssignPrivateIPAddresses
, apiaPrivateIPAddresses
, apiaAllowReassignment
, apiaSecondaryPrivateIPAddressCount
, apiaNetworkInterfaceId
, assignPrivateIPAddressesResponse
, AssignPrivateIPAddressesResponse
) 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 AssignPrivateIPAddresses = AssignPrivateIPAddresses'
{ _apiaPrivateIPAddresses :: !(Maybe [Text])
, _apiaAllowReassignment :: !(Maybe Bool)
, _apiaSecondaryPrivateIPAddressCount :: !(Maybe Int)
, _apiaNetworkInterfaceId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
assignPrivateIPAddresses
:: Text
-> AssignPrivateIPAddresses
assignPrivateIPAddresses pNetworkInterfaceId_ =
AssignPrivateIPAddresses'
{ _apiaPrivateIPAddresses = Nothing
, _apiaAllowReassignment = Nothing
, _apiaSecondaryPrivateIPAddressCount = Nothing
, _apiaNetworkInterfaceId = pNetworkInterfaceId_
}
apiaPrivateIPAddresses :: Lens' AssignPrivateIPAddresses [Text]
apiaPrivateIPAddresses = lens _apiaPrivateIPAddresses (\ s a -> s{_apiaPrivateIPAddresses = a}) . _Default . _Coerce
apiaAllowReassignment :: Lens' AssignPrivateIPAddresses (Maybe Bool)
apiaAllowReassignment = lens _apiaAllowReassignment (\ s a -> s{_apiaAllowReassignment = a})
apiaSecondaryPrivateIPAddressCount :: Lens' AssignPrivateIPAddresses (Maybe Int)
apiaSecondaryPrivateIPAddressCount = lens _apiaSecondaryPrivateIPAddressCount (\ s a -> s{_apiaSecondaryPrivateIPAddressCount = a})
apiaNetworkInterfaceId :: Lens' AssignPrivateIPAddresses Text
apiaNetworkInterfaceId = lens _apiaNetworkInterfaceId (\ s a -> s{_apiaNetworkInterfaceId = a})
instance AWSRequest AssignPrivateIPAddresses where
type Rs AssignPrivateIPAddresses =
AssignPrivateIPAddressesResponse
request = postQuery ec2
response
= receiveNull AssignPrivateIPAddressesResponse'
instance Hashable AssignPrivateIPAddresses where
instance NFData AssignPrivateIPAddresses where
instance ToHeaders AssignPrivateIPAddresses where
toHeaders = const mempty
instance ToPath AssignPrivateIPAddresses where
toPath = const "/"
instance ToQuery AssignPrivateIPAddresses where
toQuery AssignPrivateIPAddresses'{..}
= mconcat
["Action" =:
("AssignPrivateIpAddresses" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery
(toQueryList "PrivateIpAddress" <$>
_apiaPrivateIPAddresses),
"AllowReassignment" =: _apiaAllowReassignment,
"SecondaryPrivateIpAddressCount" =:
_apiaSecondaryPrivateIPAddressCount,
"NetworkInterfaceId" =: _apiaNetworkInterfaceId]
data AssignPrivateIPAddressesResponse =
AssignPrivateIPAddressesResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
assignPrivateIPAddressesResponse
:: AssignPrivateIPAddressesResponse
assignPrivateIPAddressesResponse = AssignPrivateIPAddressesResponse'
instance NFData AssignPrivateIPAddressesResponse
where