{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Glacier.GetJobOutput
(
GetJobOutput (..),
newGetJobOutput,
getJobOutput_range,
getJobOutput_accountId,
getJobOutput_vaultName,
getJobOutput_jobId,
GetJobOutputResponse (..),
newGetJobOutputResponse,
getJobOutputResponse_acceptRanges,
getJobOutputResponse_archiveDescription,
getJobOutputResponse_checksum,
getJobOutputResponse_contentRange,
getJobOutputResponse_contentType,
getJobOutputResponse_status,
getJobOutputResponse_body,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glacier.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetJobOutput = GetJobOutput'
{
GetJobOutput -> Maybe Text
range :: Prelude.Maybe Prelude.Text,
GetJobOutput -> Text
accountId :: Prelude.Text,
GetJobOutput -> Text
vaultName :: Prelude.Text,
GetJobOutput -> Text
jobId :: Prelude.Text
}
deriving (GetJobOutput -> GetJobOutput -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetJobOutput -> GetJobOutput -> Bool
$c/= :: GetJobOutput -> GetJobOutput -> Bool
== :: GetJobOutput -> GetJobOutput -> Bool
$c== :: GetJobOutput -> GetJobOutput -> Bool
Prelude.Eq, ReadPrec [GetJobOutput]
ReadPrec GetJobOutput
Int -> ReadS GetJobOutput
ReadS [GetJobOutput]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetJobOutput]
$creadListPrec :: ReadPrec [GetJobOutput]
readPrec :: ReadPrec GetJobOutput
$creadPrec :: ReadPrec GetJobOutput
readList :: ReadS [GetJobOutput]
$creadList :: ReadS [GetJobOutput]
readsPrec :: Int -> ReadS GetJobOutput
$creadsPrec :: Int -> ReadS GetJobOutput
Prelude.Read, Int -> GetJobOutput -> ShowS
[GetJobOutput] -> ShowS
GetJobOutput -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetJobOutput] -> ShowS
$cshowList :: [GetJobOutput] -> ShowS
show :: GetJobOutput -> String
$cshow :: GetJobOutput -> String
showsPrec :: Int -> GetJobOutput -> ShowS
$cshowsPrec :: Int -> GetJobOutput -> ShowS
Prelude.Show, forall x. Rep GetJobOutput x -> GetJobOutput
forall x. GetJobOutput -> Rep GetJobOutput x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetJobOutput x -> GetJobOutput
$cfrom :: forall x. GetJobOutput -> Rep GetJobOutput x
Prelude.Generic)
newGetJobOutput ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetJobOutput
newGetJobOutput :: Text -> Text -> Text -> GetJobOutput
newGetJobOutput Text
pAccountId_ Text
pVaultName_ Text
pJobId_ =
GetJobOutput'
{ $sel:range:GetJobOutput' :: Maybe Text
range = forall a. Maybe a
Prelude.Nothing,
$sel:accountId:GetJobOutput' :: Text
accountId = Text
pAccountId_,
$sel:vaultName:GetJobOutput' :: Text
vaultName = Text
pVaultName_,
$sel:jobId:GetJobOutput' :: Text
jobId = Text
pJobId_
}
getJobOutput_range :: Lens.Lens' GetJobOutput (Prelude.Maybe Prelude.Text)
getJobOutput_range :: Lens' GetJobOutput (Maybe Text)
getJobOutput_range = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutput' {Maybe Text
range :: Maybe Text
$sel:range:GetJobOutput' :: GetJobOutput -> Maybe Text
range} -> Maybe Text
range) (\s :: GetJobOutput
s@GetJobOutput' {} Maybe Text
a -> GetJobOutput
s {$sel:range:GetJobOutput' :: Maybe Text
range = Maybe Text
a} :: GetJobOutput)
getJobOutput_accountId :: Lens.Lens' GetJobOutput Prelude.Text
getJobOutput_accountId :: Lens' GetJobOutput Text
getJobOutput_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutput' {Text
accountId :: Text
$sel:accountId:GetJobOutput' :: GetJobOutput -> Text
accountId} -> Text
accountId) (\s :: GetJobOutput
s@GetJobOutput' {} Text
a -> GetJobOutput
s {$sel:accountId:GetJobOutput' :: Text
accountId = Text
a} :: GetJobOutput)
getJobOutput_vaultName :: Lens.Lens' GetJobOutput Prelude.Text
getJobOutput_vaultName :: Lens' GetJobOutput Text
getJobOutput_vaultName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutput' {Text
vaultName :: Text
$sel:vaultName:GetJobOutput' :: GetJobOutput -> Text
vaultName} -> Text
vaultName) (\s :: GetJobOutput
s@GetJobOutput' {} Text
a -> GetJobOutput
s {$sel:vaultName:GetJobOutput' :: Text
vaultName = Text
a} :: GetJobOutput)
getJobOutput_jobId :: Lens.Lens' GetJobOutput Prelude.Text
getJobOutput_jobId :: Lens' GetJobOutput Text
getJobOutput_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutput' {Text
jobId :: Text
$sel:jobId:GetJobOutput' :: GetJobOutput -> Text
jobId} -> Text
jobId) (\s :: GetJobOutput
s@GetJobOutput' {} Text
a -> GetJobOutput
s {$sel:jobId:GetJobOutput' :: Text
jobId = Text
a} :: GetJobOutput)
instance Core.AWSRequest GetJobOutput where
type AWSResponse GetJobOutput = GetJobOutputResponse
request :: (Service -> Service) -> GetJobOutput -> Request GetJobOutput
request Service -> Service
overrides =
forall a. ByteString -> Request a -> Request a
Request.glacierVersionHeader (Service -> ByteString
Core.version Service
defaultService)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetJobOutput
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetJobOutput)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int
-> ResponseHeaders
-> ResponseBody
-> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveBody
( \Int
s ResponseHeaders
h ResponseBody
x ->
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> ResponseBody
-> GetJobOutputResponse
GetJobOutputResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Accept-Ranges")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"x-amz-archive-description")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"x-amz-sha256-tree-hash")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Content-Range")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Content-Type")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure ResponseBody
x)
)
instance Prelude.Hashable GetJobOutput where
hashWithSalt :: Int -> GetJobOutput -> Int
hashWithSalt Int
_salt GetJobOutput' {Maybe Text
Text
jobId :: Text
vaultName :: Text
accountId :: Text
range :: Maybe Text
$sel:jobId:GetJobOutput' :: GetJobOutput -> Text
$sel:vaultName:GetJobOutput' :: GetJobOutput -> Text
$sel:accountId:GetJobOutput' :: GetJobOutput -> Text
$sel:range:GetJobOutput' :: GetJobOutput -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
range
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
vaultName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobId
instance Prelude.NFData GetJobOutput where
rnf :: GetJobOutput -> ()
rnf GetJobOutput' {Maybe Text
Text
jobId :: Text
vaultName :: Text
accountId :: Text
range :: Maybe Text
$sel:jobId:GetJobOutput' :: GetJobOutput -> Text
$sel:vaultName:GetJobOutput' :: GetJobOutput -> Text
$sel:accountId:GetJobOutput' :: GetJobOutput -> Text
$sel:range:GetJobOutput' :: GetJobOutput -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
range
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
accountId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
vaultName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobId
instance Data.ToHeaders GetJobOutput where
toHeaders :: GetJobOutput -> ResponseHeaders
toHeaders GetJobOutput' {Maybe Text
Text
jobId :: Text
vaultName :: Text
accountId :: Text
range :: Maybe Text
$sel:jobId:GetJobOutput' :: GetJobOutput -> Text
$sel:vaultName:GetJobOutput' :: GetJobOutput -> Text
$sel:accountId:GetJobOutput' :: GetJobOutput -> Text
$sel:range:GetJobOutput' :: GetJobOutput -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [HeaderName
"Range" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
range]
instance Data.ToPath GetJobOutput where
toPath :: GetJobOutput -> ByteString
toPath GetJobOutput' {Maybe Text
Text
jobId :: Text
vaultName :: Text
accountId :: Text
range :: Maybe Text
$sel:jobId:GetJobOutput' :: GetJobOutput -> Text
$sel:vaultName:GetJobOutput' :: GetJobOutput -> Text
$sel:accountId:GetJobOutput' :: GetJobOutput -> Text
$sel:range:GetJobOutput' :: GetJobOutput -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
accountId,
ByteString
"/vaults/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
vaultName,
ByteString
"/jobs/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
jobId,
ByteString
"/output"
]
instance Data.ToQuery GetJobOutput where
toQuery :: GetJobOutput -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetJobOutputResponse = GetJobOutputResponse'
{
GetJobOutputResponse -> Maybe Text
acceptRanges :: Prelude.Maybe Prelude.Text,
GetJobOutputResponse -> Maybe Text
archiveDescription :: Prelude.Maybe Prelude.Text,
GetJobOutputResponse -> Maybe Text
checksum :: Prelude.Maybe Prelude.Text,
GetJobOutputResponse -> Maybe Text
contentRange :: Prelude.Maybe Prelude.Text,
GetJobOutputResponse -> Maybe Text
contentType :: Prelude.Maybe Prelude.Text,
GetJobOutputResponse -> Int
status :: Prelude.Int,
GetJobOutputResponse -> ResponseBody
body :: Data.ResponseBody
}
deriving (Int -> GetJobOutputResponse -> ShowS
[GetJobOutputResponse] -> ShowS
GetJobOutputResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetJobOutputResponse] -> ShowS
$cshowList :: [GetJobOutputResponse] -> ShowS
show :: GetJobOutputResponse -> String
$cshow :: GetJobOutputResponse -> String
showsPrec :: Int -> GetJobOutputResponse -> ShowS
$cshowsPrec :: Int -> GetJobOutputResponse -> ShowS
Prelude.Show, forall x. Rep GetJobOutputResponse x -> GetJobOutputResponse
forall x. GetJobOutputResponse -> Rep GetJobOutputResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetJobOutputResponse x -> GetJobOutputResponse
$cfrom :: forall x. GetJobOutputResponse -> Rep GetJobOutputResponse x
Prelude.Generic)
newGetJobOutputResponse ::
Prelude.Int ->
Data.ResponseBody ->
GetJobOutputResponse
newGetJobOutputResponse :: Int -> ResponseBody -> GetJobOutputResponse
newGetJobOutputResponse Int
pStatus_ ResponseBody
pBody_ =
GetJobOutputResponse'
{ $sel:acceptRanges:GetJobOutputResponse' :: Maybe Text
acceptRanges =
forall a. Maybe a
Prelude.Nothing,
$sel:archiveDescription:GetJobOutputResponse' :: Maybe Text
archiveDescription = forall a. Maybe a
Prelude.Nothing,
$sel:checksum:GetJobOutputResponse' :: Maybe Text
checksum = forall a. Maybe a
Prelude.Nothing,
$sel:contentRange:GetJobOutputResponse' :: Maybe Text
contentRange = forall a. Maybe a
Prelude.Nothing,
$sel:contentType:GetJobOutputResponse' :: Maybe Text
contentType = forall a. Maybe a
Prelude.Nothing,
$sel:status:GetJobOutputResponse' :: Int
status = Int
pStatus_,
$sel:body:GetJobOutputResponse' :: ResponseBody
body = ResponseBody
pBody_
}
getJobOutputResponse_acceptRanges :: Lens.Lens' GetJobOutputResponse (Prelude.Maybe Prelude.Text)
getJobOutputResponse_acceptRanges :: Lens' GetJobOutputResponse (Maybe Text)
getJobOutputResponse_acceptRanges = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {Maybe Text
acceptRanges :: Maybe Text
$sel:acceptRanges:GetJobOutputResponse' :: GetJobOutputResponse -> Maybe Text
acceptRanges} -> Maybe Text
acceptRanges) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} Maybe Text
a -> GetJobOutputResponse
s {$sel:acceptRanges:GetJobOutputResponse' :: Maybe Text
acceptRanges = Maybe Text
a} :: GetJobOutputResponse)
getJobOutputResponse_archiveDescription :: Lens.Lens' GetJobOutputResponse (Prelude.Maybe Prelude.Text)
getJobOutputResponse_archiveDescription :: Lens' GetJobOutputResponse (Maybe Text)
getJobOutputResponse_archiveDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {Maybe Text
archiveDescription :: Maybe Text
$sel:archiveDescription:GetJobOutputResponse' :: GetJobOutputResponse -> Maybe Text
archiveDescription} -> Maybe Text
archiveDescription) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} Maybe Text
a -> GetJobOutputResponse
s {$sel:archiveDescription:GetJobOutputResponse' :: Maybe Text
archiveDescription = Maybe Text
a} :: GetJobOutputResponse)
getJobOutputResponse_checksum :: Lens.Lens' GetJobOutputResponse (Prelude.Maybe Prelude.Text)
getJobOutputResponse_checksum :: Lens' GetJobOutputResponse (Maybe Text)
getJobOutputResponse_checksum = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {Maybe Text
checksum :: Maybe Text
$sel:checksum:GetJobOutputResponse' :: GetJobOutputResponse -> Maybe Text
checksum} -> Maybe Text
checksum) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} Maybe Text
a -> GetJobOutputResponse
s {$sel:checksum:GetJobOutputResponse' :: Maybe Text
checksum = Maybe Text
a} :: GetJobOutputResponse)
getJobOutputResponse_contentRange :: Lens.Lens' GetJobOutputResponse (Prelude.Maybe Prelude.Text)
getJobOutputResponse_contentRange :: Lens' GetJobOutputResponse (Maybe Text)
getJobOutputResponse_contentRange = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {Maybe Text
contentRange :: Maybe Text
$sel:contentRange:GetJobOutputResponse' :: GetJobOutputResponse -> Maybe Text
contentRange} -> Maybe Text
contentRange) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} Maybe Text
a -> GetJobOutputResponse
s {$sel:contentRange:GetJobOutputResponse' :: Maybe Text
contentRange = Maybe Text
a} :: GetJobOutputResponse)
getJobOutputResponse_contentType :: Lens.Lens' GetJobOutputResponse (Prelude.Maybe Prelude.Text)
getJobOutputResponse_contentType :: Lens' GetJobOutputResponse (Maybe Text)
getJobOutputResponse_contentType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {Maybe Text
contentType :: Maybe Text
$sel:contentType:GetJobOutputResponse' :: GetJobOutputResponse -> Maybe Text
contentType} -> Maybe Text
contentType) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} Maybe Text
a -> GetJobOutputResponse
s {$sel:contentType:GetJobOutputResponse' :: Maybe Text
contentType = Maybe Text
a} :: GetJobOutputResponse)
getJobOutputResponse_status :: Lens.Lens' GetJobOutputResponse Prelude.Int
getJobOutputResponse_status :: Lens' GetJobOutputResponse Int
getJobOutputResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {Int
status :: Int
$sel:status:GetJobOutputResponse' :: GetJobOutputResponse -> Int
status} -> Int
status) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} Int
a -> GetJobOutputResponse
s {$sel:status:GetJobOutputResponse' :: Int
status = Int
a} :: GetJobOutputResponse)
getJobOutputResponse_body :: Lens.Lens' GetJobOutputResponse Data.ResponseBody
getJobOutputResponse_body :: Lens' GetJobOutputResponse ResponseBody
getJobOutputResponse_body = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetJobOutputResponse' {ResponseBody
body :: ResponseBody
$sel:body:GetJobOutputResponse' :: GetJobOutputResponse -> ResponseBody
body} -> ResponseBody
body) (\s :: GetJobOutputResponse
s@GetJobOutputResponse' {} ResponseBody
a -> GetJobOutputResponse
s {$sel:body:GetJobOutputResponse' :: ResponseBody
body = ResponseBody
a} :: GetJobOutputResponse)