{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Module : Network.AWS.EC2.DescribeExportTasks -- Copyright : (c) 2013-2014 Brendan Hay -- License : This Source Code Form is subject to the terms of -- the Mozilla Public License, v. 2.0. -- A copy of the MPL can be found in the LICENSE file or -- you can obtain it at http://mozilla.org/MPL/2.0/. -- Maintainer : Brendan Hay -- Stability : experimental -- Portability : non-portable (GHC extensions) -- | Describes one or more of your export tasks. -- -- module Network.AWS.EC2.DescribeExportTasks ( -- * Request DescribeExportTasks -- ** Request constructor , describeExportTasks -- ** Request lenses , detExportTaskIds -- * Response , DescribeExportTasksResponse -- ** Response constructor , describeExportTasksResponse -- ** Response lenses , 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) instance GHC.Exts.IsList DescribeExportTasks where type Item DescribeExportTasks = Text fromList = DescribeExportTasks . GHC.Exts.fromList toList = GHC.Exts.toList . _detExportTaskIds -- | 'DescribeExportTasks' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'detExportTaskIds' @::@ ['Text'] -- describeExportTasks :: DescribeExportTasks describeExportTasks = DescribeExportTasks { _detExportTaskIds = mempty } -- | One or more export task IDs. 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) instance GHC.Exts.IsList DescribeExportTasksResponse where type Item DescribeExportTasksResponse = ExportTask fromList = DescribeExportTasksResponse . GHC.Exts.fromList toList = GHC.Exts.toList . _detrExportTasks -- | 'DescribeExportTasksResponse' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'detrExportTasks' @::@ ['ExportTask'] -- 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" =? _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"