{-# 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.Personalize.DescribeSchema
(
DescribeSchema (..),
newDescribeSchema,
describeSchema_schemaArn,
DescribeSchemaResponse (..),
newDescribeSchemaResponse,
describeSchemaResponse_schema,
describeSchemaResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Personalize.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeSchema = DescribeSchema'
{
DescribeSchema -> Text
schemaArn :: Prelude.Text
}
deriving (DescribeSchema -> DescribeSchema -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSchema -> DescribeSchema -> Bool
$c/= :: DescribeSchema -> DescribeSchema -> Bool
== :: DescribeSchema -> DescribeSchema -> Bool
$c== :: DescribeSchema -> DescribeSchema -> Bool
Prelude.Eq, ReadPrec [DescribeSchema]
ReadPrec DescribeSchema
Int -> ReadS DescribeSchema
ReadS [DescribeSchema]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSchema]
$creadListPrec :: ReadPrec [DescribeSchema]
readPrec :: ReadPrec DescribeSchema
$creadPrec :: ReadPrec DescribeSchema
readList :: ReadS [DescribeSchema]
$creadList :: ReadS [DescribeSchema]
readsPrec :: Int -> ReadS DescribeSchema
$creadsPrec :: Int -> ReadS DescribeSchema
Prelude.Read, Int -> DescribeSchema -> ShowS
[DescribeSchema] -> ShowS
DescribeSchema -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSchema] -> ShowS
$cshowList :: [DescribeSchema] -> ShowS
show :: DescribeSchema -> String
$cshow :: DescribeSchema -> String
showsPrec :: Int -> DescribeSchema -> ShowS
$cshowsPrec :: Int -> DescribeSchema -> ShowS
Prelude.Show, forall x. Rep DescribeSchema x -> DescribeSchema
forall x. DescribeSchema -> Rep DescribeSchema x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSchema x -> DescribeSchema
$cfrom :: forall x. DescribeSchema -> Rep DescribeSchema x
Prelude.Generic)
newDescribeSchema ::
Prelude.Text ->
DescribeSchema
newDescribeSchema :: Text -> DescribeSchema
newDescribeSchema Text
pSchemaArn_ =
DescribeSchema' {$sel:schemaArn:DescribeSchema' :: Text
schemaArn = Text
pSchemaArn_}
describeSchema_schemaArn :: Lens.Lens' DescribeSchema Prelude.Text
describeSchema_schemaArn :: Lens' DescribeSchema Text
describeSchema_schemaArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSchema' {Text
schemaArn :: Text
$sel:schemaArn:DescribeSchema' :: DescribeSchema -> Text
schemaArn} -> Text
schemaArn) (\s :: DescribeSchema
s@DescribeSchema' {} Text
a -> DescribeSchema
s {$sel:schemaArn:DescribeSchema' :: Text
schemaArn = Text
a} :: DescribeSchema)
instance Core.AWSRequest DescribeSchema where
type
AWSResponse DescribeSchema =
DescribeSchemaResponse
request :: (Service -> Service) -> DescribeSchema -> Request DescribeSchema
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 DescribeSchema
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeSchema)))
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 DatasetSchema -> Int -> DescribeSchemaResponse
DescribeSchemaResponse'
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
"schema")
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 DescribeSchema where
hashWithSalt :: Int -> DescribeSchema -> Int
hashWithSalt Int
_salt DescribeSchema' {Text
schemaArn :: Text
$sel:schemaArn:DescribeSchema' :: DescribeSchema -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
schemaArn
instance Prelude.NFData DescribeSchema where
rnf :: DescribeSchema -> ()
rnf DescribeSchema' {Text
schemaArn :: Text
$sel:schemaArn:DescribeSchema' :: DescribeSchema -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
schemaArn
instance Data.ToHeaders DescribeSchema where
toHeaders :: DescribeSchema -> 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
"AmazonPersonalize.DescribeSchema" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeSchema where
toJSON :: DescribeSchema -> Value
toJSON DescribeSchema' {Text
schemaArn :: Text
$sel:schemaArn:DescribeSchema' :: DescribeSchema -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"schemaArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
schemaArn)]
)
instance Data.ToPath DescribeSchema where
toPath :: DescribeSchema -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeSchema where
toQuery :: DescribeSchema -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeSchemaResponse = DescribeSchemaResponse'
{
DescribeSchemaResponse -> Maybe DatasetSchema
schema :: Prelude.Maybe DatasetSchema,
DescribeSchemaResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeSchemaResponse -> DescribeSchemaResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSchemaResponse -> DescribeSchemaResponse -> Bool
$c/= :: DescribeSchemaResponse -> DescribeSchemaResponse -> Bool
== :: DescribeSchemaResponse -> DescribeSchemaResponse -> Bool
$c== :: DescribeSchemaResponse -> DescribeSchemaResponse -> Bool
Prelude.Eq, ReadPrec [DescribeSchemaResponse]
ReadPrec DescribeSchemaResponse
Int -> ReadS DescribeSchemaResponse
ReadS [DescribeSchemaResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSchemaResponse]
$creadListPrec :: ReadPrec [DescribeSchemaResponse]
readPrec :: ReadPrec DescribeSchemaResponse
$creadPrec :: ReadPrec DescribeSchemaResponse
readList :: ReadS [DescribeSchemaResponse]
$creadList :: ReadS [DescribeSchemaResponse]
readsPrec :: Int -> ReadS DescribeSchemaResponse
$creadsPrec :: Int -> ReadS DescribeSchemaResponse
Prelude.Read, Int -> DescribeSchemaResponse -> ShowS
[DescribeSchemaResponse] -> ShowS
DescribeSchemaResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSchemaResponse] -> ShowS
$cshowList :: [DescribeSchemaResponse] -> ShowS
show :: DescribeSchemaResponse -> String
$cshow :: DescribeSchemaResponse -> String
showsPrec :: Int -> DescribeSchemaResponse -> ShowS
$cshowsPrec :: Int -> DescribeSchemaResponse -> ShowS
Prelude.Show, forall x. Rep DescribeSchemaResponse x -> DescribeSchemaResponse
forall x. DescribeSchemaResponse -> Rep DescribeSchemaResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSchemaResponse x -> DescribeSchemaResponse
$cfrom :: forall x. DescribeSchemaResponse -> Rep DescribeSchemaResponse x
Prelude.Generic)
newDescribeSchemaResponse ::
Prelude.Int ->
DescribeSchemaResponse
newDescribeSchemaResponse :: Int -> DescribeSchemaResponse
newDescribeSchemaResponse Int
pHttpStatus_ =
DescribeSchemaResponse'
{ $sel:schema:DescribeSchemaResponse' :: Maybe DatasetSchema
schema = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeSchemaResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeSchemaResponse_schema :: Lens.Lens' DescribeSchemaResponse (Prelude.Maybe DatasetSchema)
describeSchemaResponse_schema :: Lens' DescribeSchemaResponse (Maybe DatasetSchema)
describeSchemaResponse_schema = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSchemaResponse' {Maybe DatasetSchema
schema :: Maybe DatasetSchema
$sel:schema:DescribeSchemaResponse' :: DescribeSchemaResponse -> Maybe DatasetSchema
schema} -> Maybe DatasetSchema
schema) (\s :: DescribeSchemaResponse
s@DescribeSchemaResponse' {} Maybe DatasetSchema
a -> DescribeSchemaResponse
s {$sel:schema:DescribeSchemaResponse' :: Maybe DatasetSchema
schema = Maybe DatasetSchema
a} :: DescribeSchemaResponse)
describeSchemaResponse_httpStatus :: Lens.Lens' DescribeSchemaResponse Prelude.Int
describeSchemaResponse_httpStatus :: Lens' DescribeSchemaResponse Int
describeSchemaResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSchemaResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeSchemaResponse' :: DescribeSchemaResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeSchemaResponse
s@DescribeSchemaResponse' {} Int
a -> DescribeSchemaResponse
s {$sel:httpStatus:DescribeSchemaResponse' :: Int
httpStatus = Int
a} :: DescribeSchemaResponse)
instance Prelude.NFData DescribeSchemaResponse where
rnf :: DescribeSchemaResponse -> ()
rnf DescribeSchemaResponse' {Int
Maybe DatasetSchema
httpStatus :: Int
schema :: Maybe DatasetSchema
$sel:httpStatus:DescribeSchemaResponse' :: DescribeSchemaResponse -> Int
$sel:schema:DescribeSchemaResponse' :: DescribeSchemaResponse -> Maybe DatasetSchema
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DatasetSchema
schema
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus