module Network.AWS.EC2.CreateInstanceExportTask
(
CreateInstanceExportTask
, createInstanceExportTask
, cietDescription
, cietExportToS3Task
, cietInstanceId
, cietTargetEnvironment
, CreateInstanceExportTaskResponse
, createInstanceExportTaskResponse
, cietrExportTask
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data CreateInstanceExportTask = CreateInstanceExportTask
{ _cietDescription :: Maybe Text
, _cietExportToS3Task :: Maybe ExportToS3TaskSpecification
, _cietInstanceId :: Text
, _cietTargetEnvironment :: Maybe ExportEnvironment
} deriving (Eq, Read, Show)
createInstanceExportTask :: Text
-> CreateInstanceExportTask
createInstanceExportTask p1 = CreateInstanceExportTask
{ _cietInstanceId = p1
, _cietDescription = Nothing
, _cietTargetEnvironment = Nothing
, _cietExportToS3Task = Nothing
}
cietDescription :: Lens' CreateInstanceExportTask (Maybe Text)
cietDescription = lens _cietDescription (\s a -> s { _cietDescription = a })
cietExportToS3Task :: Lens' CreateInstanceExportTask (Maybe ExportToS3TaskSpecification)
cietExportToS3Task =
lens _cietExportToS3Task (\s a -> s { _cietExportToS3Task = a })
cietInstanceId :: Lens' CreateInstanceExportTask Text
cietInstanceId = lens _cietInstanceId (\s a -> s { _cietInstanceId = a })
cietTargetEnvironment :: Lens' CreateInstanceExportTask (Maybe ExportEnvironment)
cietTargetEnvironment =
lens _cietTargetEnvironment (\s a -> s { _cietTargetEnvironment = a })
newtype CreateInstanceExportTaskResponse = CreateInstanceExportTaskResponse
{ _cietrExportTask :: Maybe ExportTask
} deriving (Eq, Read, Show)
createInstanceExportTaskResponse :: CreateInstanceExportTaskResponse
createInstanceExportTaskResponse = CreateInstanceExportTaskResponse
{ _cietrExportTask = Nothing
}
cietrExportTask :: Lens' CreateInstanceExportTaskResponse (Maybe ExportTask)
cietrExportTask = lens _cietrExportTask (\s a -> s { _cietrExportTask = a })
instance ToPath CreateInstanceExportTask where
toPath = const "/"
instance ToQuery CreateInstanceExportTask where
toQuery CreateInstanceExportTask{..} = mconcat
[ "Description" =? _cietDescription
, "ExportToS3" =? _cietExportToS3Task
, "InstanceId" =? _cietInstanceId
, "TargetEnvironment" =? _cietTargetEnvironment
]
instance ToHeaders CreateInstanceExportTask
instance AWSRequest CreateInstanceExportTask where
type Sv CreateInstanceExportTask = EC2
type Rs CreateInstanceExportTask = CreateInstanceExportTaskResponse
request = post "CreateInstanceExportTask"
response = xmlResponse
instance FromXML CreateInstanceExportTaskResponse where
parseXML x = CreateInstanceExportTaskResponse
<$> x .@? "exportTask"