module Network.AWS.EC2.DescribeImportSnapshotTasks
(
DescribeImportSnapshotTasks
, describeImportSnapshotTasks
, distDryRun
, distFilters
, distImportTaskIds
, distMaxResults
, distNextToken
, DescribeImportSnapshotTasksResponse
, describeImportSnapshotTasksResponse
, distrImportSnapshotTasks
, distrNextToken
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeImportSnapshotTasks = DescribeImportSnapshotTasks
{ _distDryRun :: Maybe Bool
, _distFilters :: List "Filter" Filter
, _distImportTaskIds :: List "ImportTaskId" Text
, _distMaxResults :: Maybe Int
, _distNextToken :: Maybe Text
} deriving (Eq, Read, Show)
describeImportSnapshotTasks :: DescribeImportSnapshotTasks
describeImportSnapshotTasks = DescribeImportSnapshotTasks
{ _distDryRun = Nothing
, _distImportTaskIds = mempty
, _distNextToken = Nothing
, _distMaxResults = Nothing
, _distFilters = mempty
}
distDryRun :: Lens' DescribeImportSnapshotTasks (Maybe Bool)
distDryRun = lens _distDryRun (\s a -> s { _distDryRun = a })
distFilters :: Lens' DescribeImportSnapshotTasks [Filter]
distFilters = lens _distFilters (\s a -> s { _distFilters = a }) . _List
distImportTaskIds :: Lens' DescribeImportSnapshotTasks [Text]
distImportTaskIds =
lens _distImportTaskIds (\s a -> s { _distImportTaskIds = a })
. _List
distMaxResults :: Lens' DescribeImportSnapshotTasks (Maybe Int)
distMaxResults = lens _distMaxResults (\s a -> s { _distMaxResults = a })
distNextToken :: Lens' DescribeImportSnapshotTasks (Maybe Text)
distNextToken = lens _distNextToken (\s a -> s { _distNextToken = a })
data DescribeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse
{ _distrImportSnapshotTasks :: List "item" ImportSnapshotTask
, _distrNextToken :: Maybe Text
} deriving (Eq, Read, Show)
describeImportSnapshotTasksResponse :: DescribeImportSnapshotTasksResponse
describeImportSnapshotTasksResponse = DescribeImportSnapshotTasksResponse
{ _distrImportSnapshotTasks = mempty
, _distrNextToken = Nothing
}
distrImportSnapshotTasks :: Lens' DescribeImportSnapshotTasksResponse [ImportSnapshotTask]
distrImportSnapshotTasks =
lens _distrImportSnapshotTasks
(\s a -> s { _distrImportSnapshotTasks = a })
. _List
distrNextToken :: Lens' DescribeImportSnapshotTasksResponse (Maybe Text)
distrNextToken = lens _distrNextToken (\s a -> s { _distrNextToken = a })
instance ToPath DescribeImportSnapshotTasks where
toPath = const "/"
instance ToQuery DescribeImportSnapshotTasks where
toQuery DescribeImportSnapshotTasks{..} = mconcat
[ "DryRun" =? _distDryRun
, "Filters" `toQueryList` _distFilters
, "ImportTaskId" `toQueryList` _distImportTaskIds
, "MaxResults" =? _distMaxResults
, "NextToken" =? _distNextToken
]
instance ToHeaders DescribeImportSnapshotTasks
instance AWSRequest DescribeImportSnapshotTasks where
type Sv DescribeImportSnapshotTasks = EC2
type Rs DescribeImportSnapshotTasks = DescribeImportSnapshotTasksResponse
request = post "DescribeImportSnapshotTasks"
response = xmlResponse
instance FromXML DescribeImportSnapshotTasksResponse where
parseXML x = DescribeImportSnapshotTasksResponse
<$> x .@? "importSnapshotTaskSet" .!@ mempty
<*> x .@? "nextToken"