module Network.AWS.EC2.DescribePlacementGroups
(
DescribePlacementGroups
, describePlacementGroups
, dpg1DryRun
, dpg1Filters
, dpg1GroupNames
, DescribePlacementGroupsResponse
, describePlacementGroupsResponse
, dpgrPlacementGroups
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribePlacementGroups = DescribePlacementGroups
{ _dpg1DryRun :: Maybe Bool
, _dpg1Filters :: List "Filter" Filter
, _dpg1GroupNames :: List "groupName" Text
} deriving (Eq, Read, Show)
describePlacementGroups :: DescribePlacementGroups
describePlacementGroups = DescribePlacementGroups
{ _dpg1DryRun = Nothing
, _dpg1GroupNames = mempty
, _dpg1Filters = mempty
}
dpg1DryRun :: Lens' DescribePlacementGroups (Maybe Bool)
dpg1DryRun = lens _dpg1DryRun (\s a -> s { _dpg1DryRun = a })
dpg1Filters :: Lens' DescribePlacementGroups [Filter]
dpg1Filters = lens _dpg1Filters (\s a -> s { _dpg1Filters = a }) . _List
dpg1GroupNames :: Lens' DescribePlacementGroups [Text]
dpg1GroupNames = lens _dpg1GroupNames (\s a -> s { _dpg1GroupNames = a }) . _List
newtype DescribePlacementGroupsResponse = DescribePlacementGroupsResponse
{ _dpgrPlacementGroups :: List "item" PlacementGroup
} deriving (Eq, Read, Show, Monoid, Semigroup)
describePlacementGroupsResponse :: DescribePlacementGroupsResponse
describePlacementGroupsResponse = DescribePlacementGroupsResponse
{ _dpgrPlacementGroups = mempty
}
dpgrPlacementGroups :: Lens' DescribePlacementGroupsResponse [PlacementGroup]
dpgrPlacementGroups =
lens _dpgrPlacementGroups (\s a -> s { _dpgrPlacementGroups = a })
. _List
instance ToPath DescribePlacementGroups where
toPath = const "/"
instance ToQuery DescribePlacementGroups where
toQuery DescribePlacementGroups{..} = mconcat
[ "dryRun" =? _dpg1DryRun
, "Filter" `toQueryList` _dpg1Filters
, "groupName" `toQueryList` _dpg1GroupNames
]
instance ToHeaders DescribePlacementGroups
instance AWSRequest DescribePlacementGroups where
type Sv DescribePlacementGroups = EC2
type Rs DescribePlacementGroups = DescribePlacementGroupsResponse
request = post "DescribePlacementGroups"
response = xmlResponse
instance FromXML DescribePlacementGroupsResponse where
parseXML x = DescribePlacementGroupsResponse
<$> x .@? "placementGroupSet" .!@ mempty