module Network.AWS.EC2.DescribeMovingAddresses
(
DescribeMovingAddresses
, describeMovingAddresses
, dmaDryRun
, dmaFilters
, dmaMaxResults
, dmaNextToken
, dmaPublicIps
, DescribeMovingAddressesResponse
, describeMovingAddressesResponse
, dmarMovingAddressStatuses
, dmarNextToken
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeMovingAddresses = DescribeMovingAddresses
{ _dmaDryRun :: Maybe Bool
, _dmaFilters :: List "Filter" Filter
, _dmaMaxResults :: Maybe Int
, _dmaNextToken :: Maybe Text
, _dmaPublicIps :: List "item" Text
} deriving (Eq, Read, Show)
describeMovingAddresses :: DescribeMovingAddresses
describeMovingAddresses = DescribeMovingAddresses
{ _dmaDryRun = Nothing
, _dmaPublicIps = mempty
, _dmaNextToken = Nothing
, _dmaFilters = mempty
, _dmaMaxResults = Nothing
}
dmaDryRun :: Lens' DescribeMovingAddresses (Maybe Bool)
dmaDryRun = lens _dmaDryRun (\s a -> s { _dmaDryRun = a })
dmaFilters :: Lens' DescribeMovingAddresses [Filter]
dmaFilters = lens _dmaFilters (\s a -> s { _dmaFilters = a }) . _List
dmaMaxResults :: Lens' DescribeMovingAddresses (Maybe Int)
dmaMaxResults = lens _dmaMaxResults (\s a -> s { _dmaMaxResults = a })
dmaNextToken :: Lens' DescribeMovingAddresses (Maybe Text)
dmaNextToken = lens _dmaNextToken (\s a -> s { _dmaNextToken = a })
dmaPublicIps :: Lens' DescribeMovingAddresses [Text]
dmaPublicIps = lens _dmaPublicIps (\s a -> s { _dmaPublicIps = a }) . _List
data DescribeMovingAddressesResponse = DescribeMovingAddressesResponse
{ _dmarMovingAddressStatuses :: List "item" MovingAddressStatus
, _dmarNextToken :: Maybe Text
} deriving (Eq, Read, Show)
describeMovingAddressesResponse :: DescribeMovingAddressesResponse
describeMovingAddressesResponse = DescribeMovingAddressesResponse
{ _dmarMovingAddressStatuses = mempty
, _dmarNextToken = Nothing
}
dmarMovingAddressStatuses :: Lens' DescribeMovingAddressesResponse [MovingAddressStatus]
dmarMovingAddressStatuses =
lens _dmarMovingAddressStatuses
(\s a -> s { _dmarMovingAddressStatuses = a })
. _List
dmarNextToken :: Lens' DescribeMovingAddressesResponse (Maybe Text)
dmarNextToken = lens _dmarNextToken (\s a -> s { _dmarNextToken = a })
instance ToPath DescribeMovingAddresses where
toPath = const "/"
instance ToQuery DescribeMovingAddresses where
toQuery DescribeMovingAddresses{..} = mconcat
[ "DryRun" =? _dmaDryRun
, "Filter" `toQueryList` _dmaFilters
, "MaxResults" =? _dmaMaxResults
, "NextToken" =? _dmaNextToken
, "PublicIp" `toQueryList` _dmaPublicIps
]
instance ToHeaders DescribeMovingAddresses
instance AWSRequest DescribeMovingAddresses where
type Sv DescribeMovingAddresses = EC2
type Rs DescribeMovingAddresses = DescribeMovingAddressesResponse
request = post "DescribeMovingAddresses"
response = xmlResponse
instance FromXML DescribeMovingAddressesResponse where
parseXML x = DescribeMovingAddressesResponse
<$> x .@? "movingAddressStatusSet" .!@ mempty
<*> x .@? "nextToken"