module Network.AWS.EC2.DescribeExportTasks
(
DescribeExportTasks
, describeExportTasks
, detExportTaskIds
, DescribeExportTasksResponse
, describeExportTasksResponse
, detrExportTasks
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
newtype DescribeExportTasks = DescribeExportTasks
{ _detExportTaskIds :: List "ExportTaskId" Text
} deriving (Eq, Ord, Show, Monoid, Semigroup)
describeExportTasks :: DescribeExportTasks
describeExportTasks = DescribeExportTasks
{ _detExportTaskIds = mempty
}
detExportTaskIds :: Lens' DescribeExportTasks [Text]
detExportTaskIds = lens _detExportTaskIds (\s a -> s { _detExportTaskIds = a }) . _List
newtype DescribeExportTasksResponse = DescribeExportTasksResponse
{ _detrExportTasks :: List "item" ExportTask
} deriving (Eq, Show, Monoid, Semigroup)
describeExportTasksResponse :: DescribeExportTasksResponse
describeExportTasksResponse = DescribeExportTasksResponse
{ _detrExportTasks = mempty
}
detrExportTasks :: Lens' DescribeExportTasksResponse [ExportTask]
detrExportTasks = lens _detrExportTasks (\s a -> s { _detrExportTasks = a }) . _List
instance ToPath DescribeExportTasks where
toPath = const "/"
instance ToQuery DescribeExportTasks where
toQuery DescribeExportTasks{..} = mconcat
[ "exportTaskId" `toQueryList` _detExportTaskIds
]
instance ToHeaders DescribeExportTasks
instance AWSRequest DescribeExportTasks where
type Sv DescribeExportTasks = EC2
type Rs DescribeExportTasks = DescribeExportTasksResponse
request = post "DescribeExportTasks"
response = xmlResponse
instance FromXML DescribeExportTasksResponse where
parseXML x = DescribeExportTasksResponse
<$> x .@? "exportTaskSet" .!@ mempty