{-# 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.DynamoDB.DescribeExport
(
DescribeExport (..),
newDescribeExport,
describeExport_exportArn,
DescribeExportResponse (..),
newDescribeExportResponse,
describeExportResponse_exportDescription,
describeExportResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DynamoDB.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeExport = DescribeExport'
{
DescribeExport -> Text
exportArn :: Prelude.Text
}
deriving (DescribeExport -> DescribeExport -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeExport -> DescribeExport -> Bool
$c/= :: DescribeExport -> DescribeExport -> Bool
== :: DescribeExport -> DescribeExport -> Bool
$c== :: DescribeExport -> DescribeExport -> Bool
Prelude.Eq, ReadPrec [DescribeExport]
ReadPrec DescribeExport
Int -> ReadS DescribeExport
ReadS [DescribeExport]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeExport]
$creadListPrec :: ReadPrec [DescribeExport]
readPrec :: ReadPrec DescribeExport
$creadPrec :: ReadPrec DescribeExport
readList :: ReadS [DescribeExport]
$creadList :: ReadS [DescribeExport]
readsPrec :: Int -> ReadS DescribeExport
$creadsPrec :: Int -> ReadS DescribeExport
Prelude.Read, Int -> DescribeExport -> ShowS
[DescribeExport] -> ShowS
DescribeExport -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeExport] -> ShowS
$cshowList :: [DescribeExport] -> ShowS
show :: DescribeExport -> String
$cshow :: DescribeExport -> String
showsPrec :: Int -> DescribeExport -> ShowS
$cshowsPrec :: Int -> DescribeExport -> ShowS
Prelude.Show, forall x. Rep DescribeExport x -> DescribeExport
forall x. DescribeExport -> Rep DescribeExport x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeExport x -> DescribeExport
$cfrom :: forall x. DescribeExport -> Rep DescribeExport x
Prelude.Generic)
newDescribeExport ::
Prelude.Text ->
DescribeExport
newDescribeExport :: Text -> DescribeExport
newDescribeExport Text
pExportArn_ =
DescribeExport' {$sel:exportArn:DescribeExport' :: Text
exportArn = Text
pExportArn_}
describeExport_exportArn :: Lens.Lens' DescribeExport Prelude.Text
describeExport_exportArn :: Lens' DescribeExport Text
describeExport_exportArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExport' {Text
exportArn :: Text
$sel:exportArn:DescribeExport' :: DescribeExport -> Text
exportArn} -> Text
exportArn) (\s :: DescribeExport
s@DescribeExport' {} Text
a -> DescribeExport
s {$sel:exportArn:DescribeExport' :: Text
exportArn = Text
a} :: DescribeExport)
instance Core.AWSRequest DescribeExport where
type
AWSResponse DescribeExport =
DescribeExportResponse
request :: (Service -> Service) -> DescribeExport -> Request DescribeExport
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeExport
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeExport)))
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 ->
Maybe ExportDescription -> Int -> DescribeExportResponse
DescribeExportResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ExportDescription")
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))
)
instance Prelude.Hashable DescribeExport where
hashWithSalt :: Int -> DescribeExport -> Int
hashWithSalt Int
_salt DescribeExport' {Text
exportArn :: Text
$sel:exportArn:DescribeExport' :: DescribeExport -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
exportArn
instance Prelude.NFData DescribeExport where
rnf :: DescribeExport -> ()
rnf DescribeExport' {Text
exportArn :: Text
$sel:exportArn:DescribeExport' :: DescribeExport -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
exportArn
instance Data.ToHeaders DescribeExport where
toHeaders :: DescribeExport -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"DynamoDB_20120810.DescribeExport" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeExport where
toJSON :: DescribeExport -> Value
toJSON DescribeExport' {Text
exportArn :: Text
$sel:exportArn:DescribeExport' :: DescribeExport -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"ExportArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
exportArn)]
)
instance Data.ToPath DescribeExport where
toPath :: DescribeExport -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeExport where
toQuery :: DescribeExport -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeExportResponse = DescribeExportResponse'
{
DescribeExportResponse -> Maybe ExportDescription
exportDescription :: Prelude.Maybe ExportDescription,
DescribeExportResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeExportResponse -> DescribeExportResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeExportResponse -> DescribeExportResponse -> Bool
$c/= :: DescribeExportResponse -> DescribeExportResponse -> Bool
== :: DescribeExportResponse -> DescribeExportResponse -> Bool
$c== :: DescribeExportResponse -> DescribeExportResponse -> Bool
Prelude.Eq, ReadPrec [DescribeExportResponse]
ReadPrec DescribeExportResponse
Int -> ReadS DescribeExportResponse
ReadS [DescribeExportResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeExportResponse]
$creadListPrec :: ReadPrec [DescribeExportResponse]
readPrec :: ReadPrec DescribeExportResponse
$creadPrec :: ReadPrec DescribeExportResponse
readList :: ReadS [DescribeExportResponse]
$creadList :: ReadS [DescribeExportResponse]
readsPrec :: Int -> ReadS DescribeExportResponse
$creadsPrec :: Int -> ReadS DescribeExportResponse
Prelude.Read, Int -> DescribeExportResponse -> ShowS
[DescribeExportResponse] -> ShowS
DescribeExportResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeExportResponse] -> ShowS
$cshowList :: [DescribeExportResponse] -> ShowS
show :: DescribeExportResponse -> String
$cshow :: DescribeExportResponse -> String
showsPrec :: Int -> DescribeExportResponse -> ShowS
$cshowsPrec :: Int -> DescribeExportResponse -> ShowS
Prelude.Show, forall x. Rep DescribeExportResponse x -> DescribeExportResponse
forall x. DescribeExportResponse -> Rep DescribeExportResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeExportResponse x -> DescribeExportResponse
$cfrom :: forall x. DescribeExportResponse -> Rep DescribeExportResponse x
Prelude.Generic)
newDescribeExportResponse ::
Prelude.Int ->
DescribeExportResponse
newDescribeExportResponse :: Int -> DescribeExportResponse
newDescribeExportResponse Int
pHttpStatus_ =
DescribeExportResponse'
{ $sel:exportDescription:DescribeExportResponse' :: Maybe ExportDescription
exportDescription =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeExportResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeExportResponse_exportDescription :: Lens.Lens' DescribeExportResponse (Prelude.Maybe ExportDescription)
describeExportResponse_exportDescription :: Lens' DescribeExportResponse (Maybe ExportDescription)
describeExportResponse_exportDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExportResponse' {Maybe ExportDescription
exportDescription :: Maybe ExportDescription
$sel:exportDescription:DescribeExportResponse' :: DescribeExportResponse -> Maybe ExportDescription
exportDescription} -> Maybe ExportDescription
exportDescription) (\s :: DescribeExportResponse
s@DescribeExportResponse' {} Maybe ExportDescription
a -> DescribeExportResponse
s {$sel:exportDescription:DescribeExportResponse' :: Maybe ExportDescription
exportDescription = Maybe ExportDescription
a} :: DescribeExportResponse)
describeExportResponse_httpStatus :: Lens.Lens' DescribeExportResponse Prelude.Int
describeExportResponse_httpStatus :: Lens' DescribeExportResponse Int
describeExportResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeExportResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeExportResponse' :: DescribeExportResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeExportResponse
s@DescribeExportResponse' {} Int
a -> DescribeExportResponse
s {$sel:httpStatus:DescribeExportResponse' :: Int
httpStatus = Int
a} :: DescribeExportResponse)
instance Prelude.NFData DescribeExportResponse where
rnf :: DescribeExportResponse -> ()
rnf DescribeExportResponse' {Int
Maybe ExportDescription
httpStatus :: Int
exportDescription :: Maybe ExportDescription
$sel:httpStatus:DescribeExportResponse' :: DescribeExportResponse -> Int
$sel:exportDescription:DescribeExportResponse' :: DescribeExportResponse -> Maybe ExportDescription
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ExportDescription
exportDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus