{-# 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.ImportExport.GetStatus -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- This operation returns information about a job, including where the job is in the processing pipeline, the status of the results, and the signature value associated with the job. You can only return information about jobs you own. module Network.AWS.ImportExport.GetStatus ( -- * Creating a Request getStatus , GetStatus -- * Request Lenses , gsAPIVersion , gsJobId -- * Destructuring the Response , getStatusResponse , GetStatusResponse -- * Response Lenses , gsrsCarrier , gsrsTrackingNumber , gsrsSignature , gsrsJobType , gsrsJobId , gsrsSignatureFileContents , gsrsErrorCount , gsrsCurrentManifest , gsrsArtifactList , gsrsLogBucket , gsrsCreationDate , gsrsProgressCode , gsrsLocationCode , gsrsLogKey , gsrsLocationMessage , gsrsProgressMessage , gsrsResponseStatus ) where import Network.AWS.ImportExport.Types import Network.AWS.ImportExport.Types.Product import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | Input structure for the GetStatus operation. -- -- /See:/ 'getStatus' smart constructor. data GetStatus = GetStatus' { _gsAPIVersion :: !(Maybe Text) , _gsJobId :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetStatus' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gsAPIVersion' -- -- * 'gsJobId' getStatus :: Text -- ^ 'gsJobId' -> GetStatus getStatus pJobId_ = GetStatus' { _gsAPIVersion = Nothing , _gsJobId = pJobId_ } -- | Undocumented member. gsAPIVersion :: Lens' GetStatus (Maybe Text) gsAPIVersion = lens _gsAPIVersion (\ s a -> s{_gsAPIVersion = a}); -- | Undocumented member. gsJobId :: Lens' GetStatus Text gsJobId = lens _gsJobId (\ s a -> s{_gsJobId = a}); instance AWSRequest GetStatus where type Rs GetStatus = GetStatusResponse request = postQuery importExport response = receiveXMLWrapper "GetStatusResult" (\ s h x -> GetStatusResponse' <$> (x .@? "Carrier") <*> (x .@? "TrackingNumber") <*> (x .@? "Signature") <*> (x .@? "JobType") <*> (x .@? "JobId") <*> (x .@? "SignatureFileContents") <*> (x .@? "ErrorCount") <*> (x .@? "CurrentManifest") <*> (x .@? "ArtifactList" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "LogBucket") <*> (x .@? "CreationDate") <*> (x .@? "ProgressCode") <*> (x .@? "LocationCode") <*> (x .@? "LogKey") <*> (x .@? "LocationMessage") <*> (x .@? "ProgressMessage") <*> (pure (fromEnum s))) instance Hashable GetStatus instance NFData GetStatus instance ToHeaders GetStatus where toHeaders = const mempty instance ToPath GetStatus where toPath = const "/" instance ToQuery GetStatus where toQuery GetStatus'{..} = mconcat ["Operation=GetStatus", "Action" =: ("GetStatus" :: ByteString), "Version" =: ("2010-06-01" :: ByteString), "APIVersion" =: _gsAPIVersion, "JobId" =: _gsJobId] -- | Output structure for the GetStatus operation. -- -- /See:/ 'getStatusResponse' smart constructor. data GetStatusResponse = GetStatusResponse' { _gsrsCarrier :: !(Maybe Text) , _gsrsTrackingNumber :: !(Maybe Text) , _gsrsSignature :: !(Maybe Text) , _gsrsJobType :: !(Maybe JobType) , _gsrsJobId :: !(Maybe Text) , _gsrsSignatureFileContents :: !(Maybe Text) , _gsrsErrorCount :: !(Maybe Int) , _gsrsCurrentManifest :: !(Maybe Text) , _gsrsArtifactList :: !(Maybe [Artifact]) , _gsrsLogBucket :: !(Maybe Text) , _gsrsCreationDate :: !(Maybe ISO8601) , _gsrsProgressCode :: !(Maybe Text) , _gsrsLocationCode :: !(Maybe Text) , _gsrsLogKey :: !(Maybe Text) , _gsrsLocationMessage :: !(Maybe Text) , _gsrsProgressMessage :: !(Maybe Text) , _gsrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetStatusResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gsrsCarrier' -- -- * 'gsrsTrackingNumber' -- -- * 'gsrsSignature' -- -- * 'gsrsJobType' -- -- * 'gsrsJobId' -- -- * 'gsrsSignatureFileContents' -- -- * 'gsrsErrorCount' -- -- * 'gsrsCurrentManifest' -- -- * 'gsrsArtifactList' -- -- * 'gsrsLogBucket' -- -- * 'gsrsCreationDate' -- -- * 'gsrsProgressCode' -- -- * 'gsrsLocationCode' -- -- * 'gsrsLogKey' -- -- * 'gsrsLocationMessage' -- -- * 'gsrsProgressMessage' -- -- * 'gsrsResponseStatus' getStatusResponse :: Int -- ^ 'gsrsResponseStatus' -> GetStatusResponse getStatusResponse pResponseStatus_ = GetStatusResponse' { _gsrsCarrier = Nothing , _gsrsTrackingNumber = Nothing , _gsrsSignature = Nothing , _gsrsJobType = Nothing , _gsrsJobId = Nothing , _gsrsSignatureFileContents = Nothing , _gsrsErrorCount = Nothing , _gsrsCurrentManifest = Nothing , _gsrsArtifactList = Nothing , _gsrsLogBucket = Nothing , _gsrsCreationDate = Nothing , _gsrsProgressCode = Nothing , _gsrsLocationCode = Nothing , _gsrsLogKey = Nothing , _gsrsLocationMessage = Nothing , _gsrsProgressMessage = Nothing , _gsrsResponseStatus = pResponseStatus_ } -- | Undocumented member. gsrsCarrier :: Lens' GetStatusResponse (Maybe Text) gsrsCarrier = lens _gsrsCarrier (\ s a -> s{_gsrsCarrier = a}); -- | Undocumented member. gsrsTrackingNumber :: Lens' GetStatusResponse (Maybe Text) gsrsTrackingNumber = lens _gsrsTrackingNumber (\ s a -> s{_gsrsTrackingNumber = a}); -- | Undocumented member. gsrsSignature :: Lens' GetStatusResponse (Maybe Text) gsrsSignature = lens _gsrsSignature (\ s a -> s{_gsrsSignature = a}); -- | Undocumented member. gsrsJobType :: Lens' GetStatusResponse (Maybe JobType) gsrsJobType = lens _gsrsJobType (\ s a -> s{_gsrsJobType = a}); -- | Undocumented member. gsrsJobId :: Lens' GetStatusResponse (Maybe Text) gsrsJobId = lens _gsrsJobId (\ s a -> s{_gsrsJobId = a}); -- | Undocumented member. gsrsSignatureFileContents :: Lens' GetStatusResponse (Maybe Text) gsrsSignatureFileContents = lens _gsrsSignatureFileContents (\ s a -> s{_gsrsSignatureFileContents = a}); -- | Undocumented member. gsrsErrorCount :: Lens' GetStatusResponse (Maybe Int) gsrsErrorCount = lens _gsrsErrorCount (\ s a -> s{_gsrsErrorCount = a}); -- | Undocumented member. gsrsCurrentManifest :: Lens' GetStatusResponse (Maybe Text) gsrsCurrentManifest = lens _gsrsCurrentManifest (\ s a -> s{_gsrsCurrentManifest = a}); -- | Undocumented member. gsrsArtifactList :: Lens' GetStatusResponse [Artifact] gsrsArtifactList = lens _gsrsArtifactList (\ s a -> s{_gsrsArtifactList = a}) . _Default . _Coerce; -- | Undocumented member. gsrsLogBucket :: Lens' GetStatusResponse (Maybe Text) gsrsLogBucket = lens _gsrsLogBucket (\ s a -> s{_gsrsLogBucket = a}); -- | Undocumented member. gsrsCreationDate :: Lens' GetStatusResponse (Maybe UTCTime) gsrsCreationDate = lens _gsrsCreationDate (\ s a -> s{_gsrsCreationDate = a}) . mapping _Time; -- | Undocumented member. gsrsProgressCode :: Lens' GetStatusResponse (Maybe Text) gsrsProgressCode = lens _gsrsProgressCode (\ s a -> s{_gsrsProgressCode = a}); -- | Undocumented member. gsrsLocationCode :: Lens' GetStatusResponse (Maybe Text) gsrsLocationCode = lens _gsrsLocationCode (\ s a -> s{_gsrsLocationCode = a}); -- | Undocumented member. gsrsLogKey :: Lens' GetStatusResponse (Maybe Text) gsrsLogKey = lens _gsrsLogKey (\ s a -> s{_gsrsLogKey = a}); -- | Undocumented member. gsrsLocationMessage :: Lens' GetStatusResponse (Maybe Text) gsrsLocationMessage = lens _gsrsLocationMessage (\ s a -> s{_gsrsLocationMessage = a}); -- | Undocumented member. gsrsProgressMessage :: Lens' GetStatusResponse (Maybe Text) gsrsProgressMessage = lens _gsrsProgressMessage (\ s a -> s{_gsrsProgressMessage = a}); -- | The response status code. gsrsResponseStatus :: Lens' GetStatusResponse Int gsrsResponseStatus = lens _gsrsResponseStatus (\ s a -> s{_gsrsResponseStatus = a}); instance NFData GetStatusResponse