{-# 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.MarketplaceCatalog.DescribeEntity
(
DescribeEntity (..),
newDescribeEntity,
describeEntity_catalog,
describeEntity_entityId,
DescribeEntityResponse (..),
newDescribeEntityResponse,
describeEntityResponse_details,
describeEntityResponse_entityArn,
describeEntityResponse_entityIdentifier,
describeEntityResponse_entityType,
describeEntityResponse_lastModifiedDate,
describeEntityResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MarketplaceCatalog.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeEntity = DescribeEntity'
{
DescribeEntity -> Text
catalog :: Prelude.Text,
DescribeEntity -> Text
entityId :: Prelude.Text
}
deriving (DescribeEntity -> DescribeEntity -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEntity -> DescribeEntity -> Bool
$c/= :: DescribeEntity -> DescribeEntity -> Bool
== :: DescribeEntity -> DescribeEntity -> Bool
$c== :: DescribeEntity -> DescribeEntity -> Bool
Prelude.Eq, ReadPrec [DescribeEntity]
ReadPrec DescribeEntity
Int -> ReadS DescribeEntity
ReadS [DescribeEntity]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEntity]
$creadListPrec :: ReadPrec [DescribeEntity]
readPrec :: ReadPrec DescribeEntity
$creadPrec :: ReadPrec DescribeEntity
readList :: ReadS [DescribeEntity]
$creadList :: ReadS [DescribeEntity]
readsPrec :: Int -> ReadS DescribeEntity
$creadsPrec :: Int -> ReadS DescribeEntity
Prelude.Read, Int -> DescribeEntity -> ShowS
[DescribeEntity] -> ShowS
DescribeEntity -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEntity] -> ShowS
$cshowList :: [DescribeEntity] -> ShowS
show :: DescribeEntity -> String
$cshow :: DescribeEntity -> String
showsPrec :: Int -> DescribeEntity -> ShowS
$cshowsPrec :: Int -> DescribeEntity -> ShowS
Prelude.Show, forall x. Rep DescribeEntity x -> DescribeEntity
forall x. DescribeEntity -> Rep DescribeEntity x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeEntity x -> DescribeEntity
$cfrom :: forall x. DescribeEntity -> Rep DescribeEntity x
Prelude.Generic)
newDescribeEntity ::
Prelude.Text ->
Prelude.Text ->
DescribeEntity
newDescribeEntity :: Text -> Text -> DescribeEntity
newDescribeEntity Text
pCatalog_ Text
pEntityId_ =
DescribeEntity'
{ $sel:catalog:DescribeEntity' :: Text
catalog = Text
pCatalog_,
$sel:entityId:DescribeEntity' :: Text
entityId = Text
pEntityId_
}
describeEntity_catalog :: Lens.Lens' DescribeEntity Prelude.Text
describeEntity_catalog :: Lens' DescribeEntity Text
describeEntity_catalog = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntity' {Text
catalog :: Text
$sel:catalog:DescribeEntity' :: DescribeEntity -> Text
catalog} -> Text
catalog) (\s :: DescribeEntity
s@DescribeEntity' {} Text
a -> DescribeEntity
s {$sel:catalog:DescribeEntity' :: Text
catalog = Text
a} :: DescribeEntity)
describeEntity_entityId :: Lens.Lens' DescribeEntity Prelude.Text
describeEntity_entityId :: Lens' DescribeEntity Text
describeEntity_entityId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntity' {Text
entityId :: Text
$sel:entityId:DescribeEntity' :: DescribeEntity -> Text
entityId} -> Text
entityId) (\s :: DescribeEntity
s@DescribeEntity' {} Text
a -> DescribeEntity
s {$sel:entityId:DescribeEntity' :: Text
entityId = Text
a} :: DescribeEntity)
instance Core.AWSRequest DescribeEntity where
type
AWSResponse DescribeEntity =
DescribeEntityResponse
request :: (Service -> Service) -> DescribeEntity -> Request DescribeEntity
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 DescribeEntity
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeEntity)))
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 Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeEntityResponse
DescribeEntityResponse'
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
"Details")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"EntityArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"EntityIdentifier")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"EntityType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LastModifiedDate")
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 DescribeEntity where
hashWithSalt :: Int -> DescribeEntity -> Int
hashWithSalt Int
_salt DescribeEntity' {Text
entityId :: Text
catalog :: Text
$sel:entityId:DescribeEntity' :: DescribeEntity -> Text
$sel:catalog:DescribeEntity' :: DescribeEntity -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
catalog
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
entityId
instance Prelude.NFData DescribeEntity where
rnf :: DescribeEntity -> ()
rnf DescribeEntity' {Text
entityId :: Text
catalog :: Text
$sel:entityId:DescribeEntity' :: DescribeEntity -> Text
$sel:catalog:DescribeEntity' :: DescribeEntity -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
catalog
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
entityId
instance Data.ToHeaders DescribeEntity where
toHeaders :: DescribeEntity -> 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.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribeEntity where
toPath :: DescribeEntity -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/DescribeEntity"
instance Data.ToQuery DescribeEntity where
toQuery :: DescribeEntity -> QueryString
toQuery DescribeEntity' {Text
entityId :: Text
catalog :: Text
$sel:entityId:DescribeEntity' :: DescribeEntity -> Text
$sel:catalog:DescribeEntity' :: DescribeEntity -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"catalog" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
catalog,
ByteString
"entityId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
entityId
]
data DescribeEntityResponse = DescribeEntityResponse'
{
DescribeEntityResponse -> Maybe Text
details :: Prelude.Maybe Prelude.Text,
DescribeEntityResponse -> Maybe Text
entityArn :: Prelude.Maybe Prelude.Text,
DescribeEntityResponse -> Maybe Text
entityIdentifier :: Prelude.Maybe Prelude.Text,
DescribeEntityResponse -> Maybe Text
entityType :: Prelude.Maybe Prelude.Text,
DescribeEntityResponse -> Maybe Text
lastModifiedDate :: Prelude.Maybe Prelude.Text,
DescribeEntityResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeEntityResponse -> DescribeEntityResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEntityResponse -> DescribeEntityResponse -> Bool
$c/= :: DescribeEntityResponse -> DescribeEntityResponse -> Bool
== :: DescribeEntityResponse -> DescribeEntityResponse -> Bool
$c== :: DescribeEntityResponse -> DescribeEntityResponse -> Bool
Prelude.Eq, ReadPrec [DescribeEntityResponse]
ReadPrec DescribeEntityResponse
Int -> ReadS DescribeEntityResponse
ReadS [DescribeEntityResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEntityResponse]
$creadListPrec :: ReadPrec [DescribeEntityResponse]
readPrec :: ReadPrec DescribeEntityResponse
$creadPrec :: ReadPrec DescribeEntityResponse
readList :: ReadS [DescribeEntityResponse]
$creadList :: ReadS [DescribeEntityResponse]
readsPrec :: Int -> ReadS DescribeEntityResponse
$creadsPrec :: Int -> ReadS DescribeEntityResponse
Prelude.Read, Int -> DescribeEntityResponse -> ShowS
[DescribeEntityResponse] -> ShowS
DescribeEntityResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEntityResponse] -> ShowS
$cshowList :: [DescribeEntityResponse] -> ShowS
show :: DescribeEntityResponse -> String
$cshow :: DescribeEntityResponse -> String
showsPrec :: Int -> DescribeEntityResponse -> ShowS
$cshowsPrec :: Int -> DescribeEntityResponse -> ShowS
Prelude.Show, forall x. Rep DescribeEntityResponse x -> DescribeEntityResponse
forall x. DescribeEntityResponse -> Rep DescribeEntityResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeEntityResponse x -> DescribeEntityResponse
$cfrom :: forall x. DescribeEntityResponse -> Rep DescribeEntityResponse x
Prelude.Generic)
newDescribeEntityResponse ::
Prelude.Int ->
DescribeEntityResponse
newDescribeEntityResponse :: Int -> DescribeEntityResponse
newDescribeEntityResponse Int
pHttpStatus_ =
DescribeEntityResponse'
{ $sel:details:DescribeEntityResponse' :: Maybe Text
details = forall a. Maybe a
Prelude.Nothing,
$sel:entityArn:DescribeEntityResponse' :: Maybe Text
entityArn = forall a. Maybe a
Prelude.Nothing,
$sel:entityIdentifier:DescribeEntityResponse' :: Maybe Text
entityIdentifier = forall a. Maybe a
Prelude.Nothing,
$sel:entityType:DescribeEntityResponse' :: Maybe Text
entityType = forall a. Maybe a
Prelude.Nothing,
$sel:lastModifiedDate:DescribeEntityResponse' :: Maybe Text
lastModifiedDate = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeEntityResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeEntityResponse_details :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)
describeEntityResponse_details :: Lens' DescribeEntityResponse (Maybe Text)
describeEntityResponse_details = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntityResponse' {Maybe Text
details :: Maybe Text
$sel:details:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
details} -> Maybe Text
details) (\s :: DescribeEntityResponse
s@DescribeEntityResponse' {} Maybe Text
a -> DescribeEntityResponse
s {$sel:details:DescribeEntityResponse' :: Maybe Text
details = Maybe Text
a} :: DescribeEntityResponse)
describeEntityResponse_entityArn :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)
describeEntityResponse_entityArn :: Lens' DescribeEntityResponse (Maybe Text)
describeEntityResponse_entityArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntityResponse' {Maybe Text
entityArn :: Maybe Text
$sel:entityArn:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
entityArn} -> Maybe Text
entityArn) (\s :: DescribeEntityResponse
s@DescribeEntityResponse' {} Maybe Text
a -> DescribeEntityResponse
s {$sel:entityArn:DescribeEntityResponse' :: Maybe Text
entityArn = Maybe Text
a} :: DescribeEntityResponse)
describeEntityResponse_entityIdentifier :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)
describeEntityResponse_entityIdentifier :: Lens' DescribeEntityResponse (Maybe Text)
describeEntityResponse_entityIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntityResponse' {Maybe Text
entityIdentifier :: Maybe Text
$sel:entityIdentifier:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
entityIdentifier} -> Maybe Text
entityIdentifier) (\s :: DescribeEntityResponse
s@DescribeEntityResponse' {} Maybe Text
a -> DescribeEntityResponse
s {$sel:entityIdentifier:DescribeEntityResponse' :: Maybe Text
entityIdentifier = Maybe Text
a} :: DescribeEntityResponse)
describeEntityResponse_entityType :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)
describeEntityResponse_entityType :: Lens' DescribeEntityResponse (Maybe Text)
describeEntityResponse_entityType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntityResponse' {Maybe Text
entityType :: Maybe Text
$sel:entityType:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
entityType} -> Maybe Text
entityType) (\s :: DescribeEntityResponse
s@DescribeEntityResponse' {} Maybe Text
a -> DescribeEntityResponse
s {$sel:entityType:DescribeEntityResponse' :: Maybe Text
entityType = Maybe Text
a} :: DescribeEntityResponse)
describeEntityResponse_lastModifiedDate :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)
describeEntityResponse_lastModifiedDate :: Lens' DescribeEntityResponse (Maybe Text)
describeEntityResponse_lastModifiedDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntityResponse' {Maybe Text
lastModifiedDate :: Maybe Text
$sel:lastModifiedDate:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
lastModifiedDate} -> Maybe Text
lastModifiedDate) (\s :: DescribeEntityResponse
s@DescribeEntityResponse' {} Maybe Text
a -> DescribeEntityResponse
s {$sel:lastModifiedDate:DescribeEntityResponse' :: Maybe Text
lastModifiedDate = Maybe Text
a} :: DescribeEntityResponse)
describeEntityResponse_httpStatus :: Lens.Lens' DescribeEntityResponse Prelude.Int
describeEntityResponse_httpStatus :: Lens' DescribeEntityResponse Int
describeEntityResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEntityResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeEntityResponse' :: DescribeEntityResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeEntityResponse
s@DescribeEntityResponse' {} Int
a -> DescribeEntityResponse
s {$sel:httpStatus:DescribeEntityResponse' :: Int
httpStatus = Int
a} :: DescribeEntityResponse)
instance Prelude.NFData DescribeEntityResponse where
rnf :: DescribeEntityResponse -> ()
rnf DescribeEntityResponse' {Int
Maybe Text
httpStatus :: Int
lastModifiedDate :: Maybe Text
entityType :: Maybe Text
entityIdentifier :: Maybe Text
entityArn :: Maybe Text
details :: Maybe Text
$sel:httpStatus:DescribeEntityResponse' :: DescribeEntityResponse -> Int
$sel:lastModifiedDate:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
$sel:entityType:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
$sel:entityIdentifier:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
$sel:entityArn:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
$sel:details:DescribeEntityResponse' :: DescribeEntityResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
details
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
entityArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
entityIdentifier
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
entityType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lastModifiedDate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus