module Network.AWS.EC2.UnassignIPv6Addresses
(
unassignIPv6Addresses
, UnassignIPv6Addresses
, uiaIPv6Addresses
, uiaNetworkInterfaceId
, unassignIPv6AddressesResponse
, UnassignIPv6AddressesResponse
, uiarsNetworkInterfaceId
, uiarsUnassignedIPv6Addresses
, uiarsResponseStatus
) 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 UnassignIPv6Addresses = UnassignIPv6Addresses'
{ _uiaIPv6Addresses :: ![Text]
, _uiaNetworkInterfaceId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
unassignIPv6Addresses
:: Text
-> UnassignIPv6Addresses
unassignIPv6Addresses pNetworkInterfaceId_ =
UnassignIPv6Addresses'
{_uiaIPv6Addresses = mempty, _uiaNetworkInterfaceId = pNetworkInterfaceId_}
uiaIPv6Addresses :: Lens' UnassignIPv6Addresses [Text]
uiaIPv6Addresses = lens _uiaIPv6Addresses (\ s a -> s{_uiaIPv6Addresses = a}) . _Coerce;
uiaNetworkInterfaceId :: Lens' UnassignIPv6Addresses Text
uiaNetworkInterfaceId = lens _uiaNetworkInterfaceId (\ s a -> s{_uiaNetworkInterfaceId = a});
instance AWSRequest UnassignIPv6Addresses where
type Rs UnassignIPv6Addresses =
UnassignIPv6AddressesResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
UnassignIPv6AddressesResponse' <$>
(x .@? "networkInterfaceId") <*>
(x .@? "unassignedIpv6Addresses" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable UnassignIPv6Addresses where
instance NFData UnassignIPv6Addresses where
instance ToHeaders UnassignIPv6Addresses where
toHeaders = const mempty
instance ToPath UnassignIPv6Addresses where
toPath = const "/"
instance ToQuery UnassignIPv6Addresses where
toQuery UnassignIPv6Addresses'{..}
= mconcat
["Action" =: ("UnassignIpv6Addresses" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQueryList "Ipv6Addresses" _uiaIPv6Addresses,
"NetworkInterfaceId" =: _uiaNetworkInterfaceId]
data UnassignIPv6AddressesResponse = UnassignIPv6AddressesResponse'
{ _uiarsNetworkInterfaceId :: !(Maybe Text)
, _uiarsUnassignedIPv6Addresses :: !(Maybe [Text])
, _uiarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
unassignIPv6AddressesResponse
:: Int
-> UnassignIPv6AddressesResponse
unassignIPv6AddressesResponse pResponseStatus_ =
UnassignIPv6AddressesResponse'
{ _uiarsNetworkInterfaceId = Nothing
, _uiarsUnassignedIPv6Addresses = Nothing
, _uiarsResponseStatus = pResponseStatus_
}
uiarsNetworkInterfaceId :: Lens' UnassignIPv6AddressesResponse (Maybe Text)
uiarsNetworkInterfaceId = lens _uiarsNetworkInterfaceId (\ s a -> s{_uiarsNetworkInterfaceId = a});
uiarsUnassignedIPv6Addresses :: Lens' UnassignIPv6AddressesResponse [Text]
uiarsUnassignedIPv6Addresses = lens _uiarsUnassignedIPv6Addresses (\ s a -> s{_uiarsUnassignedIPv6Addresses = a}) . _Default . _Coerce;
uiarsResponseStatus :: Lens' UnassignIPv6AddressesResponse Int
uiarsResponseStatus = lens _uiarsResponseStatus (\ s a -> s{_uiarsResponseStatus = a});
instance NFData UnassignIPv6AddressesResponse where