{-# 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 #-}
module Network.AWS.Snowball.GetJobManifest
(
getJobManifest
, GetJobManifest
, gjmJobId
, getJobManifestResponse
, GetJobManifestResponse
, gjmrsManifestURI
, gjmrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Snowball.Types
import Network.AWS.Snowball.Types.Product
newtype GetJobManifest = GetJobManifest'
{ _gjmJobId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getJobManifest
:: Text
-> GetJobManifest
getJobManifest pJobId_ =
GetJobManifest'
{ _gjmJobId = pJobId_
}
gjmJobId :: Lens' GetJobManifest Text
gjmJobId = lens _gjmJobId (\ s a -> s{_gjmJobId = a});
instance AWSRequest GetJobManifest where
type Rs GetJobManifest = GetJobManifestResponse
request = postJSON snowball
response
= receiveJSON
(\ s h x ->
GetJobManifestResponse' <$>
(x .?> "ManifestURI") <*> (pure (fromEnum s)))
instance Hashable GetJobManifest
instance NFData GetJobManifest
instance ToHeaders GetJobManifest where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSIESnowballJobManagementService.GetJobManifest"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetJobManifest where
toJSON GetJobManifest'{..}
= object (catMaybes [Just ("JobId" .= _gjmJobId)])
instance ToPath GetJobManifest where
toPath = const "/"
instance ToQuery GetJobManifest where
toQuery = const mempty
data GetJobManifestResponse = GetJobManifestResponse'
{ _gjmrsManifestURI :: !(Maybe Text)
, _gjmrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getJobManifestResponse
:: Int
-> GetJobManifestResponse
getJobManifestResponse pResponseStatus_ =
GetJobManifestResponse'
{ _gjmrsManifestURI = Nothing
, _gjmrsResponseStatus = pResponseStatus_
}
gjmrsManifestURI :: Lens' GetJobManifestResponse (Maybe Text)
gjmrsManifestURI = lens _gjmrsManifestURI (\ s a -> s{_gjmrsManifestURI = a});
gjmrsResponseStatus :: Lens' GetJobManifestResponse Int
gjmrsResponseStatus = lens _gjmrsResponseStatus (\ s a -> s{_gjmrsResponseStatus = a});
instance NFData GetJobManifestResponse