{-# 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.DescribeImportImageTasks -- 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) -- -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | Displays details about an import virtual machine or import snapshot tasks -- that are already created. -- -- module Network.AWS.EC2.DescribeImportImageTasks ( -- * Request DescribeImportImageTasks -- ** Request constructor , describeImportImageTasks -- ** Request lenses , diitDryRun , diitFilters , diitImportTaskIds , diitMaxResults , diitNextToken -- * Response , DescribeImportImageTasksResponse -- ** Response constructor , describeImportImageTasksResponse -- ** Response lenses , diitrImportImageTasks , diitrNextToken ) where import Network.AWS.Prelude import Network.AWS.Request.Query import Network.AWS.EC2.Types import qualified GHC.Exts data DescribeImportImageTasks = DescribeImportImageTasks { _diitDryRun :: Maybe Bool , _diitFilters :: List "Filter" Filter , _diitImportTaskIds :: List "ImportTaskId" Text , _diitMaxResults :: Maybe Int , _diitNextToken :: Maybe Text } deriving (Eq, Read, Show) -- | 'DescribeImportImageTasks' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'diitDryRun' @::@ 'Maybe' 'Bool' -- -- * 'diitFilters' @::@ ['Filter'] -- -- * 'diitImportTaskIds' @::@ ['Text'] -- -- * 'diitMaxResults' @::@ 'Maybe' 'Int' -- -- * 'diitNextToken' @::@ 'Maybe' 'Text' -- describeImportImageTasks :: DescribeImportImageTasks describeImportImageTasks = DescribeImportImageTasks { _diitDryRun = Nothing , _diitImportTaskIds = mempty , _diitNextToken = Nothing , _diitMaxResults = Nothing , _diitFilters = mempty } -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have the -- required permissions, the error response is 'DryRunOperation'. Otherwise, it is 'UnauthorizedOperation'. diitDryRun :: Lens' DescribeImportImageTasks (Maybe Bool) diitDryRun = lens _diitDryRun (\s a -> s { _diitDryRun = a }) -- | One or more filters. diitFilters :: Lens' DescribeImportImageTasks [Filter] diitFilters = lens _diitFilters (\s a -> s { _diitFilters = a }) . _List -- | A list of import image task IDs. diitImportTaskIds :: Lens' DescribeImportImageTasks [Text] diitImportTaskIds = lens _diitImportTaskIds (\s a -> s { _diitImportTaskIds = a }) . _List -- | The maximum number of results to return in a single request. diitMaxResults :: Lens' DescribeImportImageTasks (Maybe Int) diitMaxResults = lens _diitMaxResults (\s a -> s { _diitMaxResults = a }) -- | A token that indicates the next page of results. diitNextToken :: Lens' DescribeImportImageTasks (Maybe Text) diitNextToken = lens _diitNextToken (\s a -> s { _diitNextToken = a }) data DescribeImportImageTasksResponse = DescribeImportImageTasksResponse { _diitrImportImageTasks :: List "item" ImportImageTask , _diitrNextToken :: Maybe Text } deriving (Eq, Read, Show) -- | 'DescribeImportImageTasksResponse' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'diitrImportImageTasks' @::@ ['ImportImageTask'] -- -- * 'diitrNextToken' @::@ 'Maybe' 'Text' -- describeImportImageTasksResponse :: DescribeImportImageTasksResponse describeImportImageTasksResponse = DescribeImportImageTasksResponse { _diitrImportImageTasks = mempty , _diitrNextToken = Nothing } -- | A list of zero or more import image tasks that are currently active or were -- completed or canceled in the previous 7 days. diitrImportImageTasks :: Lens' DescribeImportImageTasksResponse [ImportImageTask] diitrImportImageTasks = lens _diitrImportImageTasks (\s a -> s { _diitrImportImageTasks = a }) . _List -- | The token to use to get the next page of results. This value is 'null' when -- there are no more results to return. diitrNextToken :: Lens' DescribeImportImageTasksResponse (Maybe Text) diitrNextToken = lens _diitrNextToken (\s a -> s { _diitrNextToken = a }) instance ToPath DescribeImportImageTasks where toPath = const "/" instance ToQuery DescribeImportImageTasks where toQuery DescribeImportImageTasks{..} = mconcat [ "DryRun" =? _diitDryRun , "Filters" `toQueryList` _diitFilters , "ImportTaskId" `toQueryList` _diitImportTaskIds , "MaxResults" =? _diitMaxResults , "NextToken" =? _diitNextToken ] instance ToHeaders DescribeImportImageTasks instance AWSRequest DescribeImportImageTasks where type Sv DescribeImportImageTasks = EC2 type Rs DescribeImportImageTasks = DescribeImportImageTasksResponse request = post "DescribeImportImageTasks" response = xmlResponse instance FromXML DescribeImportImageTasksResponse where parseXML x = DescribeImportImageTasksResponse <$> x .@? "importImageTaskSet" .!@ mempty <*> x .@? "nextToken"