amazonka-importexport-1.4.3: gen/Network/AWS/ImportExport/GetStatus.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.ImportExport.GetStatus
-- 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)
--
-- 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