module Network.AWS.EC2.DescribeBundleTasks
(
DescribeBundleTasks
, describeBundleTasks
, dbtBundleIds
, dbtDryRun
, dbtFilters
, DescribeBundleTasksResponse
, describeBundleTasksResponse
, dbtrBundleTasks
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeBundleTasks = DescribeBundleTasks
{ _dbtBundleIds :: List "BundleId" Text
, _dbtDryRun :: Maybe Bool
, _dbtFilters :: List "Filter" Filter
} deriving (Eq, Show)
describeBundleTasks :: DescribeBundleTasks
describeBundleTasks = DescribeBundleTasks
{ _dbtDryRun = Nothing
, _dbtBundleIds = mempty
, _dbtFilters = mempty
}
dbtBundleIds :: Lens' DescribeBundleTasks [Text]
dbtBundleIds = lens _dbtBundleIds (\s a -> s { _dbtBundleIds = a }) . _List
dbtDryRun :: Lens' DescribeBundleTasks (Maybe Bool)
dbtDryRun = lens _dbtDryRun (\s a -> s { _dbtDryRun = a })
dbtFilters :: Lens' DescribeBundleTasks [Filter]
dbtFilters = lens _dbtFilters (\s a -> s { _dbtFilters = a }) . _List
newtype DescribeBundleTasksResponse = DescribeBundleTasksResponse
{ _dbtrBundleTasks :: List "item" BundleTask
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeBundleTasksResponse where
type Item DescribeBundleTasksResponse = BundleTask
fromList = DescribeBundleTasksResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dbtrBundleTasks
describeBundleTasksResponse :: DescribeBundleTasksResponse
describeBundleTasksResponse = DescribeBundleTasksResponse
{ _dbtrBundleTasks = mempty
}
dbtrBundleTasks :: Lens' DescribeBundleTasksResponse [BundleTask]
dbtrBundleTasks = lens _dbtrBundleTasks (\s a -> s { _dbtrBundleTasks = a }) . _List
instance ToPath DescribeBundleTasks where
toPath = const "/"
instance ToQuery DescribeBundleTasks where
toQuery DescribeBundleTasks{..} = mconcat
[ "BundleId" =? _dbtBundleIds
, "dryRun" =? _dbtDryRun
, "Filter" =? _dbtFilters
]
instance ToHeaders DescribeBundleTasks
instance AWSRequest DescribeBundleTasks where
type Sv DescribeBundleTasks = EC2
type Rs DescribeBundleTasks = DescribeBundleTasksResponse
request = post "DescribeBundleTasks"
response = xmlResponse
instance FromXML DescribeBundleTasksResponse where
parseXML x = DescribeBundleTasksResponse
<$> x .@ "bundleInstanceTasksSet"