amazonka-ec2-1.4.4: gen/Network/AWS/EC2/CancelImportTask.hs
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.EC2.CancelImportTask
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Cancels an in-process import virtual machine or import snapshot task.
module Network.AWS.EC2.CancelImportTask
(
-- * Creating a Request
cancelImportTask
, CancelImportTask
-- * Request Lenses
, citCancelReason
, citImportTaskId
, citDryRun
-- * Destructuring the Response
, cancelImportTaskResponse
, CancelImportTaskResponse
-- * Response Lenses
, citrsState
, citrsImportTaskId
, citrsPreviousState
, citrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | Contains the parameters for CancelImportTask.
--
-- /See:/ 'cancelImportTask' smart constructor.
data CancelImportTask = CancelImportTask'
{ _citCancelReason :: !(Maybe Text)
, _citImportTaskId :: !(Maybe Text)
, _citDryRun :: !(Maybe Bool)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'CancelImportTask' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'citCancelReason'
--
-- * 'citImportTaskId'
--
-- * 'citDryRun'
cancelImportTask
:: CancelImportTask
cancelImportTask =
CancelImportTask'
{ _citCancelReason = Nothing
, _citImportTaskId = Nothing
, _citDryRun = Nothing
}
-- | The reason for canceling the task.
citCancelReason :: Lens' CancelImportTask (Maybe Text)
citCancelReason = lens _citCancelReason (\ s a -> s{_citCancelReason = a});
-- | The ID of the import image or import snapshot task to be canceled.
citImportTaskId :: Lens' CancelImportTask (Maybe Text)
citImportTaskId = lens _citImportTaskId (\ s a -> s{_citImportTaskId = a});
-- | 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'.
citDryRun :: Lens' CancelImportTask (Maybe Bool)
citDryRun = lens _citDryRun (\ s a -> s{_citDryRun = a});
instance AWSRequest CancelImportTask where
type Rs CancelImportTask = CancelImportTaskResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
CancelImportTaskResponse' <$>
(x .@? "state") <*> (x .@? "importTaskId") <*>
(x .@? "previousState")
<*> (pure (fromEnum s)))
instance Hashable CancelImportTask
instance NFData CancelImportTask
instance ToHeaders CancelImportTask where
toHeaders = const mempty
instance ToPath CancelImportTask where
toPath = const "/"
instance ToQuery CancelImportTask where
toQuery CancelImportTask'{..}
= mconcat
["Action" =: ("CancelImportTask" :: ByteString),
"Version" =: ("2016-04-01" :: ByteString),
"CancelReason" =: _citCancelReason,
"ImportTaskId" =: _citImportTaskId,
"DryRun" =: _citDryRun]
-- | Contains the output for CancelImportTask.
--
-- /See:/ 'cancelImportTaskResponse' smart constructor.
data CancelImportTaskResponse = CancelImportTaskResponse'
{ _citrsState :: !(Maybe Text)
, _citrsImportTaskId :: !(Maybe Text)
, _citrsPreviousState :: !(Maybe Text)
, _citrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'CancelImportTaskResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'citrsState'
--
-- * 'citrsImportTaskId'
--
-- * 'citrsPreviousState'
--
-- * 'citrsResponseStatus'
cancelImportTaskResponse
:: Int -- ^ 'citrsResponseStatus'
-> CancelImportTaskResponse
cancelImportTaskResponse pResponseStatus_ =
CancelImportTaskResponse'
{ _citrsState = Nothing
, _citrsImportTaskId = Nothing
, _citrsPreviousState = Nothing
, _citrsResponseStatus = pResponseStatus_
}
-- | The current state of the task being canceled.
citrsState :: Lens' CancelImportTaskResponse (Maybe Text)
citrsState = lens _citrsState (\ s a -> s{_citrsState = a});
-- | The ID of the task being canceled.
citrsImportTaskId :: Lens' CancelImportTaskResponse (Maybe Text)
citrsImportTaskId = lens _citrsImportTaskId (\ s a -> s{_citrsImportTaskId = a});
-- | The current state of the task being canceled.
citrsPreviousState :: Lens' CancelImportTaskResponse (Maybe Text)
citrsPreviousState = lens _citrsPreviousState (\ s a -> s{_citrsPreviousState = a});
-- | The response status code.
citrsResponseStatus :: Lens' CancelImportTaskResponse Int
citrsResponseStatus = lens _citrsResponseStatus (\ s a -> s{_citrsResponseStatus = a});
instance NFData CancelImportTaskResponse