{-# 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.DescribeBundleTasks
(
describeBundleTasks
, DescribeBundleTasks
, dbtBundleIds
, dbtFilters
, dbtDryRun
, describeBundleTasksResponse
, DescribeBundleTasksResponse
, dbtrsBundleTasks
, dbtrsResponseStatus
) 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 DescribeBundleTasks = DescribeBundleTasks'
{ _dbtBundleIds :: !(Maybe [Text])
, _dbtFilters :: !(Maybe [Filter])
, _dbtDryRun :: !(Maybe Bool)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeBundleTasks
:: DescribeBundleTasks
describeBundleTasks =
DescribeBundleTasks'
{ _dbtBundleIds = Nothing
, _dbtFilters = Nothing
, _dbtDryRun = Nothing
}
dbtBundleIds :: Lens' DescribeBundleTasks [Text]
dbtBundleIds = lens _dbtBundleIds (\ s a -> s{_dbtBundleIds = a}) . _Default . _Coerce;
dbtFilters :: Lens' DescribeBundleTasks [Filter]
dbtFilters = lens _dbtFilters (\ s a -> s{_dbtFilters = a}) . _Default . _Coerce;
dbtDryRun :: Lens' DescribeBundleTasks (Maybe Bool)
dbtDryRun = lens _dbtDryRun (\ s a -> s{_dbtDryRun = a});
instance AWSRequest DescribeBundleTasks where
type Rs DescribeBundleTasks =
DescribeBundleTasksResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeBundleTasksResponse' <$>
(x .@? "bundleInstanceTasksSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeBundleTasks
instance NFData DescribeBundleTasks
instance ToHeaders DescribeBundleTasks where
toHeaders = const mempty
instance ToPath DescribeBundleTasks where
toPath = const "/"
instance ToQuery DescribeBundleTasks where
toQuery DescribeBundleTasks'{..}
= mconcat
["Action" =: ("DescribeBundleTasks" :: ByteString),
"Version" =: ("2016-04-01" :: ByteString),
toQuery (toQueryList "BundleId" <$> _dbtBundleIds),
toQuery (toQueryList "Filter" <$> _dbtFilters),
"DryRun" =: _dbtDryRun]
data DescribeBundleTasksResponse = DescribeBundleTasksResponse'
{ _dbtrsBundleTasks :: !(Maybe [BundleTask])
, _dbtrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeBundleTasksResponse
:: Int
-> DescribeBundleTasksResponse
describeBundleTasksResponse pResponseStatus_ =
DescribeBundleTasksResponse'
{ _dbtrsBundleTasks = Nothing
, _dbtrsResponseStatus = pResponseStatus_
}
dbtrsBundleTasks :: Lens' DescribeBundleTasksResponse [BundleTask]
dbtrsBundleTasks = lens _dbtrsBundleTasks (\ s a -> s{_dbtrsBundleTasks = a}) . _Default . _Coerce;
dbtrsResponseStatus :: Lens' DescribeBundleTasksResponse Int
dbtrsResponseStatus = lens _dbtrsResponseStatus (\ s a -> s{_dbtrsResponseStatus = a});
instance NFData DescribeBundleTasksResponse