{-# 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.DescribeFleets
(
describeFleets
, DescribeFleets
, dfsFilters
, dfsNextToken
, dfsFleetIds
, dfsDryRun
, dfsMaxResults
, describeFleetsResponse
, DescribeFleetsResponse
, dfsrsNextToken
, dfsrsFleets
, dfsrsResponseStatus
) 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 DescribeFleets = DescribeFleets'
{ _dfsFilters :: !(Maybe [Filter])
, _dfsNextToken :: !(Maybe Text)
, _dfsFleetIds :: !(Maybe [Text])
, _dfsDryRun :: !(Maybe Bool)
, _dfsMaxResults :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeFleets
:: DescribeFleets
describeFleets =
DescribeFleets'
{ _dfsFilters = Nothing
, _dfsNextToken = Nothing
, _dfsFleetIds = Nothing
, _dfsDryRun = Nothing
, _dfsMaxResults = Nothing
}
dfsFilters :: Lens' DescribeFleets [Filter]
dfsFilters = lens _dfsFilters (\ s a -> s{_dfsFilters = a}) . _Default . _Coerce
dfsNextToken :: Lens' DescribeFleets (Maybe Text)
dfsNextToken = lens _dfsNextToken (\ s a -> s{_dfsNextToken = a})
dfsFleetIds :: Lens' DescribeFleets [Text]
dfsFleetIds = lens _dfsFleetIds (\ s a -> s{_dfsFleetIds = a}) . _Default . _Coerce
dfsDryRun :: Lens' DescribeFleets (Maybe Bool)
dfsDryRun = lens _dfsDryRun (\ s a -> s{_dfsDryRun = a})
dfsMaxResults :: Lens' DescribeFleets (Maybe Int)
dfsMaxResults = lens _dfsMaxResults (\ s a -> s{_dfsMaxResults = a})
instance AWSRequest DescribeFleets where
type Rs DescribeFleets = DescribeFleetsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeFleetsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "fleetSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeFleets where
instance NFData DescribeFleets where
instance ToHeaders DescribeFleets where
toHeaders = const mempty
instance ToPath DescribeFleets where
toPath = const "/"
instance ToQuery DescribeFleets where
toQuery DescribeFleets'{..}
= mconcat
["Action" =: ("DescribeFleets" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _dfsFilters),
"NextToken" =: _dfsNextToken,
toQuery (toQueryList "FleetId" <$> _dfsFleetIds),
"DryRun" =: _dfsDryRun,
"MaxResults" =: _dfsMaxResults]
data DescribeFleetsResponse = DescribeFleetsResponse'
{ _dfsrsNextToken :: !(Maybe Text)
, _dfsrsFleets :: !(Maybe [FleetData])
, _dfsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeFleetsResponse
:: Int
-> DescribeFleetsResponse
describeFleetsResponse pResponseStatus_ =
DescribeFleetsResponse'
{ _dfsrsNextToken = Nothing
, _dfsrsFleets = Nothing
, _dfsrsResponseStatus = pResponseStatus_
}
dfsrsNextToken :: Lens' DescribeFleetsResponse (Maybe Text)
dfsrsNextToken = lens _dfsrsNextToken (\ s a -> s{_dfsrsNextToken = a})
dfsrsFleets :: Lens' DescribeFleetsResponse [FleetData]
dfsrsFleets = lens _dfsrsFleets (\ s a -> s{_dfsrsFleets = a}) . _Default . _Coerce
dfsrsResponseStatus :: Lens' DescribeFleetsResponse Int
dfsrsResponseStatus = lens _dfsrsResponseStatus (\ s a -> s{_dfsrsResponseStatus = a})
instance NFData DescribeFleetsResponse where