module Network.AWS.EC2.DescribeImportSnapshotTasks
(
describeImportSnapshotTasks
, DescribeImportSnapshotTasks
, distFilters
, distImportTaskIds
, distNextToken
, distDryRun
, distMaxResults
, describeImportSnapshotTasksResponse
, DescribeImportSnapshotTasksResponse
, distrsNextToken
, distrsImportSnapshotTasks
, distrsStatus
) 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 DescribeImportSnapshotTasks = DescribeImportSnapshotTasks'
{ _distFilters :: !(Maybe [Filter])
, _distImportTaskIds :: !(Maybe [Text])
, _distNextToken :: !(Maybe Text)
, _distDryRun :: !(Maybe Bool)
, _distMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeImportSnapshotTasks
:: DescribeImportSnapshotTasks
describeImportSnapshotTasks =
DescribeImportSnapshotTasks'
{ _distFilters = Nothing
, _distImportTaskIds = Nothing
, _distNextToken = Nothing
, _distDryRun = Nothing
, _distMaxResults = Nothing
}
distFilters :: Lens' DescribeImportSnapshotTasks [Filter]
distFilters = lens _distFilters (\ s a -> s{_distFilters = a}) . _Default . _Coerce;
distImportTaskIds :: Lens' DescribeImportSnapshotTasks [Text]
distImportTaskIds = lens _distImportTaskIds (\ s a -> s{_distImportTaskIds = a}) . _Default . _Coerce;
distNextToken :: Lens' DescribeImportSnapshotTasks (Maybe Text)
distNextToken = lens _distNextToken (\ s a -> s{_distNextToken = a});
distDryRun :: Lens' DescribeImportSnapshotTasks (Maybe Bool)
distDryRun = lens _distDryRun (\ s a -> s{_distDryRun = a});
distMaxResults :: Lens' DescribeImportSnapshotTasks (Maybe Int)
distMaxResults = lens _distMaxResults (\ s a -> s{_distMaxResults = a});
instance AWSRequest DescribeImportSnapshotTasks where
type Rs DescribeImportSnapshotTasks =
DescribeImportSnapshotTasksResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribeImportSnapshotTasksResponse' <$>
(x .@? "nextToken") <*>
(x .@? "importSnapshotTaskSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeImportSnapshotTasks where
toHeaders = const mempty
instance ToPath DescribeImportSnapshotTasks where
toPath = const "/"
instance ToQuery DescribeImportSnapshotTasks where
toQuery DescribeImportSnapshotTasks'{..}
= mconcat
["Action" =:
("DescribeImportSnapshotTasks" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
toQuery (toQueryList "Filters" <$> _distFilters),
toQuery
(toQueryList "ImportTaskId" <$> _distImportTaskIds),
"NextToken" =: _distNextToken,
"DryRun" =: _distDryRun,
"MaxResults" =: _distMaxResults]
data DescribeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse'
{ _distrsNextToken :: !(Maybe Text)
, _distrsImportSnapshotTasks :: !(Maybe [ImportSnapshotTask])
, _distrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeImportSnapshotTasksResponse
:: Int
-> DescribeImportSnapshotTasksResponse
describeImportSnapshotTasksResponse pStatus_ =
DescribeImportSnapshotTasksResponse'
{ _distrsNextToken = Nothing
, _distrsImportSnapshotTasks = Nothing
, _distrsStatus = pStatus_
}
distrsNextToken :: Lens' DescribeImportSnapshotTasksResponse (Maybe Text)
distrsNextToken = lens _distrsNextToken (\ s a -> s{_distrsNextToken = a});
distrsImportSnapshotTasks :: Lens' DescribeImportSnapshotTasksResponse [ImportSnapshotTask]
distrsImportSnapshotTasks = lens _distrsImportSnapshotTasks (\ s a -> s{_distrsImportSnapshotTasks = a}) . _Default . _Coerce;
distrsStatus :: Lens' DescribeImportSnapshotTasksResponse Int
distrsStatus = lens _distrsStatus (\ s a -> s{_distrsStatus = a});