{-# 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.DescribeClassicLinkInstances
(
describeClassicLinkInstances
, DescribeClassicLinkInstances
, dcliFilters
, dcliNextToken
, dcliInstanceIds
, dcliDryRun
, dcliMaxResults
, describeClassicLinkInstancesResponse
, DescribeClassicLinkInstancesResponse
, dclirsNextToken
, dclirsInstances
, dclirsResponseStatus
) 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 DescribeClassicLinkInstances = DescribeClassicLinkInstances'
{ _dcliFilters :: !(Maybe [Filter])
, _dcliNextToken :: !(Maybe Text)
, _dcliInstanceIds :: !(Maybe [Text])
, _dcliDryRun :: !(Maybe Bool)
, _dcliMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeClassicLinkInstances
:: DescribeClassicLinkInstances
describeClassicLinkInstances =
DescribeClassicLinkInstances'
{ _dcliFilters = Nothing
, _dcliNextToken = Nothing
, _dcliInstanceIds = Nothing
, _dcliDryRun = Nothing
, _dcliMaxResults = Nothing
}
dcliFilters :: Lens' DescribeClassicLinkInstances [Filter]
dcliFilters = lens _dcliFilters (\ s a -> s{_dcliFilters = a}) . _Default . _Coerce;
dcliNextToken :: Lens' DescribeClassicLinkInstances (Maybe Text)
dcliNextToken = lens _dcliNextToken (\ s a -> s{_dcliNextToken = a});
dcliInstanceIds :: Lens' DescribeClassicLinkInstances [Text]
dcliInstanceIds = lens _dcliInstanceIds (\ s a -> s{_dcliInstanceIds = a}) . _Default . _Coerce;
dcliDryRun :: Lens' DescribeClassicLinkInstances (Maybe Bool)
dcliDryRun = lens _dcliDryRun (\ s a -> s{_dcliDryRun = a});
dcliMaxResults :: Lens' DescribeClassicLinkInstances (Maybe Int)
dcliMaxResults = lens _dcliMaxResults (\ s a -> s{_dcliMaxResults = a});
instance AWSRequest DescribeClassicLinkInstances
where
type Rs DescribeClassicLinkInstances =
DescribeClassicLinkInstancesResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeClassicLinkInstancesResponse' <$>
(x .@? "nextToken") <*>
(x .@? "instancesSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeClassicLinkInstances
instance NFData DescribeClassicLinkInstances
instance ToHeaders DescribeClassicLinkInstances where
toHeaders = const mempty
instance ToPath DescribeClassicLinkInstances where
toPath = const "/"
instance ToQuery DescribeClassicLinkInstances where
toQuery DescribeClassicLinkInstances'{..}
= mconcat
["Action" =:
("DescribeClassicLinkInstances" :: ByteString),
"Version" =: ("2016-04-01" :: ByteString),
toQuery (toQueryList "Filter" <$> _dcliFilters),
"NextToken" =: _dcliNextToken,
toQuery
(toQueryList "InstanceId" <$> _dcliInstanceIds),
"DryRun" =: _dcliDryRun,
"MaxResults" =: _dcliMaxResults]
data DescribeClassicLinkInstancesResponse = DescribeClassicLinkInstancesResponse'
{ _dclirsNextToken :: !(Maybe Text)
, _dclirsInstances :: !(Maybe [ClassicLinkInstance])
, _dclirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeClassicLinkInstancesResponse
:: Int
-> DescribeClassicLinkInstancesResponse
describeClassicLinkInstancesResponse pResponseStatus_ =
DescribeClassicLinkInstancesResponse'
{ _dclirsNextToken = Nothing
, _dclirsInstances = Nothing
, _dclirsResponseStatus = pResponseStatus_
}
dclirsNextToken :: Lens' DescribeClassicLinkInstancesResponse (Maybe Text)
dclirsNextToken = lens _dclirsNextToken (\ s a -> s{_dclirsNextToken = a});
dclirsInstances :: Lens' DescribeClassicLinkInstancesResponse [ClassicLinkInstance]
dclirsInstances = lens _dclirsInstances (\ s a -> s{_dclirsInstances = a}) . _Default . _Coerce;
dclirsResponseStatus :: Lens' DescribeClassicLinkInstancesResponse Int
dclirsResponseStatus = lens _dclirsResponseStatus (\ s a -> s{_dclirsResponseStatus = a});
instance NFData DescribeClassicLinkInstancesResponse