module Network.AWS.EC2.ImportImage
(
importImage
, ImportImage
, impHypervisor
, impPlatform
, impClientToken
, impLicenseType
, impRoleName
, impArchitecture
, impDescription
, impDryRun
, impClientData
, impDiskContainers
, importImageResponse
, ImportImageResponse
, irsStatus
, irsHypervisor
, irsPlatform
, irsProgress
, irsLicenseType
, irsSnapshotDetails
, irsStatusMessage
, irsImageId
, irsImportTaskId
, irsArchitecture
, irsDescription
, irsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ImportImage = ImportImage'
{ _impHypervisor :: !(Maybe Text)
, _impPlatform :: !(Maybe Text)
, _impClientToken :: !(Maybe Text)
, _impLicenseType :: !(Maybe Text)
, _impRoleName :: !(Maybe Text)
, _impArchitecture :: !(Maybe Text)
, _impDescription :: !(Maybe Text)
, _impDryRun :: !(Maybe Bool)
, _impClientData :: !(Maybe ClientData)
, _impDiskContainers :: !(Maybe [ImageDiskContainer])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
importImage
:: ImportImage
importImage =
ImportImage'
{ _impHypervisor = Nothing
, _impPlatform = Nothing
, _impClientToken = Nothing
, _impLicenseType = Nothing
, _impRoleName = Nothing
, _impArchitecture = Nothing
, _impDescription = Nothing
, _impDryRun = Nothing
, _impClientData = Nothing
, _impDiskContainers = Nothing
}
impHypervisor :: Lens' ImportImage (Maybe Text)
impHypervisor = lens _impHypervisor (\ s a -> s{_impHypervisor = a});
impPlatform :: Lens' ImportImage (Maybe Text)
impPlatform = lens _impPlatform (\ s a -> s{_impPlatform = a});
impClientToken :: Lens' ImportImage (Maybe Text)
impClientToken = lens _impClientToken (\ s a -> s{_impClientToken = a});
impLicenseType :: Lens' ImportImage (Maybe Text)
impLicenseType = lens _impLicenseType (\ s a -> s{_impLicenseType = a});
impRoleName :: Lens' ImportImage (Maybe Text)
impRoleName = lens _impRoleName (\ s a -> s{_impRoleName = a});
impArchitecture :: Lens' ImportImage (Maybe Text)
impArchitecture = lens _impArchitecture (\ s a -> s{_impArchitecture = a});
impDescription :: Lens' ImportImage (Maybe Text)
impDescription = lens _impDescription (\ s a -> s{_impDescription = a});
impDryRun :: Lens' ImportImage (Maybe Bool)
impDryRun = lens _impDryRun (\ s a -> s{_impDryRun = a});
impClientData :: Lens' ImportImage (Maybe ClientData)
impClientData = lens _impClientData (\ s a -> s{_impClientData = a});
impDiskContainers :: Lens' ImportImage [ImageDiskContainer]
impDiskContainers = lens _impDiskContainers (\ s a -> s{_impDiskContainers = a}) . _Default . _Coerce;
instance AWSRequest ImportImage where
type Rs ImportImage = ImportImageResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
ImportImageResponse' <$>
(x .@? "status") <*> (x .@? "hypervisor") <*>
(x .@? "platform")
<*> (x .@? "progress")
<*> (x .@? "licenseType")
<*>
(x .@? "snapshotDetailSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (x .@? "statusMessage")
<*> (x .@? "imageId")
<*> (x .@? "importTaskId")
<*> (x .@? "architecture")
<*> (x .@? "description")
<*> (pure (fromEnum s)))
instance ToHeaders ImportImage where
toHeaders = const mempty
instance ToPath ImportImage where
toPath = const "/"
instance ToQuery ImportImage where
toQuery ImportImage'{..}
= mconcat
["Action" =: ("ImportImage" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"Hypervisor" =: _impHypervisor,
"Platform" =: _impPlatform,
"ClientToken" =: _impClientToken,
"LicenseType" =: _impLicenseType,
"RoleName" =: _impRoleName,
"Architecture" =: _impArchitecture,
"Description" =: _impDescription,
"DryRun" =: _impDryRun,
"ClientData" =: _impClientData,
toQuery
(toQueryList "DiskContainer" <$> _impDiskContainers)]
data ImportImageResponse = ImportImageResponse'
{ _irsStatus :: !(Maybe Text)
, _irsHypervisor :: !(Maybe Text)
, _irsPlatform :: !(Maybe Text)
, _irsProgress :: !(Maybe Text)
, _irsLicenseType :: !(Maybe Text)
, _irsSnapshotDetails :: !(Maybe [SnapshotDetail])
, _irsStatusMessage :: !(Maybe Text)
, _irsImageId :: !(Maybe Text)
, _irsImportTaskId :: !(Maybe Text)
, _irsArchitecture :: !(Maybe Text)
, _irsDescription :: !(Maybe Text)
, _irsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
importImageResponse
:: Int
-> ImportImageResponse
importImageResponse pResponseStatus_ =
ImportImageResponse'
{ _irsStatus = Nothing
, _irsHypervisor = Nothing
, _irsPlatform = Nothing
, _irsProgress = Nothing
, _irsLicenseType = Nothing
, _irsSnapshotDetails = Nothing
, _irsStatusMessage = Nothing
, _irsImageId = Nothing
, _irsImportTaskId = Nothing
, _irsArchitecture = Nothing
, _irsDescription = Nothing
, _irsResponseStatus = pResponseStatus_
}
irsStatus :: Lens' ImportImageResponse (Maybe Text)
irsStatus = lens _irsStatus (\ s a -> s{_irsStatus = a});
irsHypervisor :: Lens' ImportImageResponse (Maybe Text)
irsHypervisor = lens _irsHypervisor (\ s a -> s{_irsHypervisor = a});
irsPlatform :: Lens' ImportImageResponse (Maybe Text)
irsPlatform = lens _irsPlatform (\ s a -> s{_irsPlatform = a});
irsProgress :: Lens' ImportImageResponse (Maybe Text)
irsProgress = lens _irsProgress (\ s a -> s{_irsProgress = a});
irsLicenseType :: Lens' ImportImageResponse (Maybe Text)
irsLicenseType = lens _irsLicenseType (\ s a -> s{_irsLicenseType = a});
irsSnapshotDetails :: Lens' ImportImageResponse [SnapshotDetail]
irsSnapshotDetails = lens _irsSnapshotDetails (\ s a -> s{_irsSnapshotDetails = a}) . _Default . _Coerce;
irsStatusMessage :: Lens' ImportImageResponse (Maybe Text)
irsStatusMessage = lens _irsStatusMessage (\ s a -> s{_irsStatusMessage = a});
irsImageId :: Lens' ImportImageResponse (Maybe Text)
irsImageId = lens _irsImageId (\ s a -> s{_irsImageId = a});
irsImportTaskId :: Lens' ImportImageResponse (Maybe Text)
irsImportTaskId = lens _irsImportTaskId (\ s a -> s{_irsImportTaskId = a});
irsArchitecture :: Lens' ImportImageResponse (Maybe Text)
irsArchitecture = lens _irsArchitecture (\ s a -> s{_irsArchitecture = a});
irsDescription :: Lens' ImportImageResponse (Maybe Text)
irsDescription = lens _irsDescription (\ s a -> s{_irsDescription = a});
irsResponseStatus :: Lens' ImportImageResponse Int
irsResponseStatus = lens _irsResponseStatus (\ s a -> s{_irsResponseStatus = a});