module Network.AWS.EC2.DescribePlacementGroups
(
describePlacementGroups
, DescribePlacementGroups
, dpgsFilters
, dpgsGroupNames
, dpgsDryRun
, describePlacementGroupsResponse
, DescribePlacementGroupsResponse
, dpgrsPlacementGroups
, dpgrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribePlacementGroups = DescribePlacementGroups'
{ _dpgsFilters :: !(Maybe [Filter])
, _dpgsGroupNames :: !(Maybe [Text])
, _dpgsDryRun :: !(Maybe Bool)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describePlacementGroups
:: DescribePlacementGroups
describePlacementGroups =
DescribePlacementGroups'
{ _dpgsFilters = Nothing
, _dpgsGroupNames = Nothing
, _dpgsDryRun = Nothing
}
dpgsFilters :: Lens' DescribePlacementGroups [Filter]
dpgsFilters = lens _dpgsFilters (\ s a -> s{_dpgsFilters = a}) . _Default . _Coerce;
dpgsGroupNames :: Lens' DescribePlacementGroups [Text]
dpgsGroupNames = lens _dpgsGroupNames (\ s a -> s{_dpgsGroupNames = a}) . _Default . _Coerce;
dpgsDryRun :: Lens' DescribePlacementGroups (Maybe Bool)
dpgsDryRun = lens _dpgsDryRun (\ s a -> s{_dpgsDryRun = a});
instance AWSRequest DescribePlacementGroups where
type Rs DescribePlacementGroups =
DescribePlacementGroupsResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribePlacementGroupsResponse' <$>
(x .@? "placementGroupSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribePlacementGroups where
toHeaders = const mempty
instance ToPath DescribePlacementGroups where
toPath = const "/"
instance ToQuery DescribePlacementGroups where
toQuery DescribePlacementGroups'{..}
= mconcat
["Action" =:
("DescribePlacementGroups" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _dpgsFilters),
toQuery
(toQueryList "GroupName" <$> _dpgsGroupNames),
"DryRun" =: _dpgsDryRun]
data DescribePlacementGroupsResponse = DescribePlacementGroupsResponse'
{ _dpgrsPlacementGroups :: !(Maybe [PlacementGroup])
, _dpgrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describePlacementGroupsResponse
:: Int
-> DescribePlacementGroupsResponse
describePlacementGroupsResponse pResponseStatus_ =
DescribePlacementGroupsResponse'
{ _dpgrsPlacementGroups = Nothing
, _dpgrsResponseStatus = pResponseStatus_
}
dpgrsPlacementGroups :: Lens' DescribePlacementGroupsResponse [PlacementGroup]
dpgrsPlacementGroups = lens _dpgrsPlacementGroups (\ s a -> s{_dpgrsPlacementGroups = a}) . _Default . _Coerce;
dpgrsResponseStatus :: Lens' DescribePlacementGroupsResponse Int
dpgrsResponseStatus = lens _dpgrsResponseStatus (\ s a -> s{_dpgrsResponseStatus = a});