{-# 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.QLDB.DescribeJournalS3Export
(
DescribeJournalS3Export (..),
newDescribeJournalS3Export,
describeJournalS3Export_name,
describeJournalS3Export_exportId,
DescribeJournalS3ExportResponse (..),
newDescribeJournalS3ExportResponse,
describeJournalS3ExportResponse_httpStatus,
describeJournalS3ExportResponse_exportDescription,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.QLDB.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeJournalS3Export = DescribeJournalS3Export'
{
DescribeJournalS3Export -> Text
name :: Prelude.Text,
DescribeJournalS3Export -> Text
exportId :: Prelude.Text
}
deriving (DescribeJournalS3Export -> DescribeJournalS3Export -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeJournalS3Export -> DescribeJournalS3Export -> Bool
$c/= :: DescribeJournalS3Export -> DescribeJournalS3Export -> Bool
== :: DescribeJournalS3Export -> DescribeJournalS3Export -> Bool
$c== :: DescribeJournalS3Export -> DescribeJournalS3Export -> Bool
Prelude.Eq, ReadPrec [DescribeJournalS3Export]
ReadPrec DescribeJournalS3Export
Int -> ReadS DescribeJournalS3Export
ReadS [DescribeJournalS3Export]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeJournalS3Export]
$creadListPrec :: ReadPrec [DescribeJournalS3Export]
readPrec :: ReadPrec DescribeJournalS3Export
$creadPrec :: ReadPrec DescribeJournalS3Export
readList :: ReadS [DescribeJournalS3Export]
$creadList :: ReadS [DescribeJournalS3Export]
readsPrec :: Int -> ReadS DescribeJournalS3Export
$creadsPrec :: Int -> ReadS DescribeJournalS3Export
Prelude.Read, Int -> DescribeJournalS3Export -> ShowS
[DescribeJournalS3Export] -> ShowS
DescribeJournalS3Export -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeJournalS3Export] -> ShowS
$cshowList :: [DescribeJournalS3Export] -> ShowS
show :: DescribeJournalS3Export -> String
$cshow :: DescribeJournalS3Export -> String
showsPrec :: Int -> DescribeJournalS3Export -> ShowS
$cshowsPrec :: Int -> DescribeJournalS3Export -> ShowS
Prelude.Show, forall x. Rep DescribeJournalS3Export x -> DescribeJournalS3Export
forall x. DescribeJournalS3Export -> Rep DescribeJournalS3Export x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeJournalS3Export x -> DescribeJournalS3Export
$cfrom :: forall x. DescribeJournalS3Export -> Rep DescribeJournalS3Export x
Prelude.Generic)
newDescribeJournalS3Export ::
Prelude.Text ->
Prelude.Text ->
DescribeJournalS3Export
newDescribeJournalS3Export :: Text -> Text -> DescribeJournalS3Export
newDescribeJournalS3Export Text
pName_ Text
pExportId_ =
DescribeJournalS3Export'
{ $sel:name:DescribeJournalS3Export' :: Text
name = Text
pName_,
$sel:exportId:DescribeJournalS3Export' :: Text
exportId = Text
pExportId_
}
describeJournalS3Export_name :: Lens.Lens' DescribeJournalS3Export Prelude.Text
describeJournalS3Export_name :: Lens' DescribeJournalS3Export Text
describeJournalS3Export_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJournalS3Export' {Text
name :: Text
$sel:name:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
name} -> Text
name) (\s :: DescribeJournalS3Export
s@DescribeJournalS3Export' {} Text
a -> DescribeJournalS3Export
s {$sel:name:DescribeJournalS3Export' :: Text
name = Text
a} :: DescribeJournalS3Export)
describeJournalS3Export_exportId :: Lens.Lens' DescribeJournalS3Export Prelude.Text
describeJournalS3Export_exportId :: Lens' DescribeJournalS3Export Text
describeJournalS3Export_exportId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJournalS3Export' {Text
exportId :: Text
$sel:exportId:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
exportId} -> Text
exportId) (\s :: DescribeJournalS3Export
s@DescribeJournalS3Export' {} Text
a -> DescribeJournalS3Export
s {$sel:exportId:DescribeJournalS3Export' :: Text
exportId = Text
a} :: DescribeJournalS3Export)
instance Core.AWSRequest DescribeJournalS3Export where
type
AWSResponse DescribeJournalS3Export =
DescribeJournalS3ExportResponse
request :: (Service -> Service)
-> DescribeJournalS3Export -> Request DescribeJournalS3Export
request Service -> Service
overrides =
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 DescribeJournalS3Export
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeJournalS3Export)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int
-> JournalS3ExportDescription -> DescribeJournalS3ExportResponse
DescribeJournalS3ExportResponse'
forall (f :: * -> *) a b. Functor 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.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"ExportDescription")
)
instance Prelude.Hashable DescribeJournalS3Export where
hashWithSalt :: Int -> DescribeJournalS3Export -> Int
hashWithSalt Int
_salt DescribeJournalS3Export' {Text
exportId :: Text
name :: Text
$sel:exportId:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
$sel:name:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
exportId
instance Prelude.NFData DescribeJournalS3Export where
rnf :: DescribeJournalS3Export -> ()
rnf DescribeJournalS3Export' {Text
exportId :: Text
name :: Text
$sel:exportId:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
$sel:name:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
name seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
exportId
instance Data.ToHeaders DescribeJournalS3Export where
toHeaders :: DescribeJournalS3Export -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribeJournalS3Export where
toPath :: DescribeJournalS3Export -> ByteString
toPath DescribeJournalS3Export' {Text
exportId :: Text
name :: Text
$sel:exportId:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
$sel:name:DescribeJournalS3Export' :: DescribeJournalS3Export -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/ledgers/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
name,
ByteString
"/journal-s3-exports/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
exportId
]
instance Data.ToQuery DescribeJournalS3Export where
toQuery :: DescribeJournalS3Export -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeJournalS3ExportResponse = DescribeJournalS3ExportResponse'
{
DescribeJournalS3ExportResponse -> Int
httpStatus :: Prelude.Int,
DescribeJournalS3ExportResponse -> JournalS3ExportDescription
exportDescription :: JournalS3ExportDescription
}
deriving (DescribeJournalS3ExportResponse
-> DescribeJournalS3ExportResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeJournalS3ExportResponse
-> DescribeJournalS3ExportResponse -> Bool
$c/= :: DescribeJournalS3ExportResponse
-> DescribeJournalS3ExportResponse -> Bool
== :: DescribeJournalS3ExportResponse
-> DescribeJournalS3ExportResponse -> Bool
$c== :: DescribeJournalS3ExportResponse
-> DescribeJournalS3ExportResponse -> Bool
Prelude.Eq, ReadPrec [DescribeJournalS3ExportResponse]
ReadPrec DescribeJournalS3ExportResponse
Int -> ReadS DescribeJournalS3ExportResponse
ReadS [DescribeJournalS3ExportResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeJournalS3ExportResponse]
$creadListPrec :: ReadPrec [DescribeJournalS3ExportResponse]
readPrec :: ReadPrec DescribeJournalS3ExportResponse
$creadPrec :: ReadPrec DescribeJournalS3ExportResponse
readList :: ReadS [DescribeJournalS3ExportResponse]
$creadList :: ReadS [DescribeJournalS3ExportResponse]
readsPrec :: Int -> ReadS DescribeJournalS3ExportResponse
$creadsPrec :: Int -> ReadS DescribeJournalS3ExportResponse
Prelude.Read, Int -> DescribeJournalS3ExportResponse -> ShowS
[DescribeJournalS3ExportResponse] -> ShowS
DescribeJournalS3ExportResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeJournalS3ExportResponse] -> ShowS
$cshowList :: [DescribeJournalS3ExportResponse] -> ShowS
show :: DescribeJournalS3ExportResponse -> String
$cshow :: DescribeJournalS3ExportResponse -> String
showsPrec :: Int -> DescribeJournalS3ExportResponse -> ShowS
$cshowsPrec :: Int -> DescribeJournalS3ExportResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeJournalS3ExportResponse x
-> DescribeJournalS3ExportResponse
forall x.
DescribeJournalS3ExportResponse
-> Rep DescribeJournalS3ExportResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeJournalS3ExportResponse x
-> DescribeJournalS3ExportResponse
$cfrom :: forall x.
DescribeJournalS3ExportResponse
-> Rep DescribeJournalS3ExportResponse x
Prelude.Generic)
newDescribeJournalS3ExportResponse ::
Prelude.Int ->
JournalS3ExportDescription ->
DescribeJournalS3ExportResponse
newDescribeJournalS3ExportResponse :: Int
-> JournalS3ExportDescription -> DescribeJournalS3ExportResponse
newDescribeJournalS3ExportResponse
Int
pHttpStatus_
JournalS3ExportDescription
pExportDescription_ =
DescribeJournalS3ExportResponse'
{ $sel:httpStatus:DescribeJournalS3ExportResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:exportDescription:DescribeJournalS3ExportResponse' :: JournalS3ExportDescription
exportDescription = JournalS3ExportDescription
pExportDescription_
}
describeJournalS3ExportResponse_httpStatus :: Lens.Lens' DescribeJournalS3ExportResponse Prelude.Int
describeJournalS3ExportResponse_httpStatus :: Lens' DescribeJournalS3ExportResponse Int
describeJournalS3ExportResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJournalS3ExportResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeJournalS3ExportResponse' :: DescribeJournalS3ExportResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeJournalS3ExportResponse
s@DescribeJournalS3ExportResponse' {} Int
a -> DescribeJournalS3ExportResponse
s {$sel:httpStatus:DescribeJournalS3ExportResponse' :: Int
httpStatus = Int
a} :: DescribeJournalS3ExportResponse)
describeJournalS3ExportResponse_exportDescription :: Lens.Lens' DescribeJournalS3ExportResponse JournalS3ExportDescription
describeJournalS3ExportResponse_exportDescription :: Lens' DescribeJournalS3ExportResponse JournalS3ExportDescription
describeJournalS3ExportResponse_exportDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeJournalS3ExportResponse' {JournalS3ExportDescription
exportDescription :: JournalS3ExportDescription
$sel:exportDescription:DescribeJournalS3ExportResponse' :: DescribeJournalS3ExportResponse -> JournalS3ExportDescription
exportDescription} -> JournalS3ExportDescription
exportDescription) (\s :: DescribeJournalS3ExportResponse
s@DescribeJournalS3ExportResponse' {} JournalS3ExportDescription
a -> DescribeJournalS3ExportResponse
s {$sel:exportDescription:DescribeJournalS3ExportResponse' :: JournalS3ExportDescription
exportDescription = JournalS3ExportDescription
a} :: DescribeJournalS3ExportResponse)
instance
Prelude.NFData
DescribeJournalS3ExportResponse
where
rnf :: DescribeJournalS3ExportResponse -> ()
rnf DescribeJournalS3ExportResponse' {Int
JournalS3ExportDescription
exportDescription :: JournalS3ExportDescription
httpStatus :: Int
$sel:exportDescription:DescribeJournalS3ExportResponse' :: DescribeJournalS3ExportResponse -> JournalS3ExportDescription
$sel:httpStatus:DescribeJournalS3ExportResponse' :: DescribeJournalS3ExportResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JournalS3ExportDescription
exportDescription