{-# 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.CognitoIdentityProvider.DescribeIdentityProvider
(
DescribeIdentityProvider (..),
newDescribeIdentityProvider,
describeIdentityProvider_userPoolId,
describeIdentityProvider_providerName,
DescribeIdentityProviderResponse (..),
newDescribeIdentityProviderResponse,
describeIdentityProviderResponse_httpStatus,
describeIdentityProviderResponse_identityProvider,
)
where
import Amazonka.CognitoIdentityProvider.Types
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeIdentityProvider = DescribeIdentityProvider'
{
DescribeIdentityProvider -> Text
userPoolId :: Prelude.Text,
DescribeIdentityProvider -> Text
providerName :: Prelude.Text
}
deriving (DescribeIdentityProvider -> DescribeIdentityProvider -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIdentityProvider -> DescribeIdentityProvider -> Bool
$c/= :: DescribeIdentityProvider -> DescribeIdentityProvider -> Bool
== :: DescribeIdentityProvider -> DescribeIdentityProvider -> Bool
$c== :: DescribeIdentityProvider -> DescribeIdentityProvider -> Bool
Prelude.Eq, ReadPrec [DescribeIdentityProvider]
ReadPrec DescribeIdentityProvider
Int -> ReadS DescribeIdentityProvider
ReadS [DescribeIdentityProvider]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIdentityProvider]
$creadListPrec :: ReadPrec [DescribeIdentityProvider]
readPrec :: ReadPrec DescribeIdentityProvider
$creadPrec :: ReadPrec DescribeIdentityProvider
readList :: ReadS [DescribeIdentityProvider]
$creadList :: ReadS [DescribeIdentityProvider]
readsPrec :: Int -> ReadS DescribeIdentityProvider
$creadsPrec :: Int -> ReadS DescribeIdentityProvider
Prelude.Read, Int -> DescribeIdentityProvider -> ShowS
[DescribeIdentityProvider] -> ShowS
DescribeIdentityProvider -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIdentityProvider] -> ShowS
$cshowList :: [DescribeIdentityProvider] -> ShowS
show :: DescribeIdentityProvider -> String
$cshow :: DescribeIdentityProvider -> String
showsPrec :: Int -> DescribeIdentityProvider -> ShowS
$cshowsPrec :: Int -> DescribeIdentityProvider -> ShowS
Prelude.Show, forall x.
Rep DescribeIdentityProvider x -> DescribeIdentityProvider
forall x.
DescribeIdentityProvider -> Rep DescribeIdentityProvider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeIdentityProvider x -> DescribeIdentityProvider
$cfrom :: forall x.
DescribeIdentityProvider -> Rep DescribeIdentityProvider x
Prelude.Generic)
newDescribeIdentityProvider ::
Prelude.Text ->
Prelude.Text ->
DescribeIdentityProvider
newDescribeIdentityProvider :: Text -> Text -> DescribeIdentityProvider
newDescribeIdentityProvider
Text
pUserPoolId_
Text
pProviderName_ =
DescribeIdentityProvider'
{ $sel:userPoolId:DescribeIdentityProvider' :: Text
userPoolId =
Text
pUserPoolId_,
$sel:providerName:DescribeIdentityProvider' :: Text
providerName = Text
pProviderName_
}
describeIdentityProvider_userPoolId :: Lens.Lens' DescribeIdentityProvider Prelude.Text
describeIdentityProvider_userPoolId :: Lens' DescribeIdentityProvider Text
describeIdentityProvider_userPoolId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProvider' {Text
userPoolId :: Text
$sel:userPoolId:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
userPoolId} -> Text
userPoolId) (\s :: DescribeIdentityProvider
s@DescribeIdentityProvider' {} Text
a -> DescribeIdentityProvider
s {$sel:userPoolId:DescribeIdentityProvider' :: Text
userPoolId = Text
a} :: DescribeIdentityProvider)
describeIdentityProvider_providerName :: Lens.Lens' DescribeIdentityProvider Prelude.Text
describeIdentityProvider_providerName :: Lens' DescribeIdentityProvider Text
describeIdentityProvider_providerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProvider' {Text
providerName :: Text
$sel:providerName:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
providerName} -> Text
providerName) (\s :: DescribeIdentityProvider
s@DescribeIdentityProvider' {} Text
a -> DescribeIdentityProvider
s {$sel:providerName:DescribeIdentityProvider' :: Text
providerName = Text
a} :: DescribeIdentityProvider)
instance Core.AWSRequest DescribeIdentityProvider where
type
AWSResponse DescribeIdentityProvider =
DescribeIdentityProviderResponse
request :: (Service -> Service)
-> DescribeIdentityProvider -> Request DescribeIdentityProvider
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 DescribeIdentityProvider
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeIdentityProvider)))
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 -> IdentityProviderType -> DescribeIdentityProviderResponse
DescribeIdentityProviderResponse'
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
"IdentityProvider")
)
instance Prelude.Hashable DescribeIdentityProvider where
hashWithSalt :: Int -> DescribeIdentityProvider -> Int
hashWithSalt Int
_salt DescribeIdentityProvider' {Text
providerName :: Text
userPoolId :: Text
$sel:providerName:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
$sel:userPoolId:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userPoolId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
providerName
instance Prelude.NFData DescribeIdentityProvider where
rnf :: DescribeIdentityProvider -> ()
rnf DescribeIdentityProvider' {Text
providerName :: Text
userPoolId :: Text
$sel:providerName:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
$sel:userPoolId:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
userPoolId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
providerName
instance Data.ToHeaders DescribeIdentityProvider where
toHeaders :: DescribeIdentityProvider -> 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
"AWSCognitoIdentityProviderService.DescribeIdentityProvider" ::
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 DescribeIdentityProvider where
toJSON :: DescribeIdentityProvider -> Value
toJSON DescribeIdentityProvider' {Text
providerName :: Text
userPoolId :: Text
$sel:providerName:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
$sel:userPoolId:DescribeIdentityProvider' :: DescribeIdentityProvider -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"UserPoolId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userPoolId),
forall a. a -> Maybe a
Prelude.Just (Key
"ProviderName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
providerName)
]
)
instance Data.ToPath DescribeIdentityProvider where
toPath :: DescribeIdentityProvider -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeIdentityProvider where
toQuery :: DescribeIdentityProvider -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeIdentityProviderResponse = DescribeIdentityProviderResponse'
{
DescribeIdentityProviderResponse -> Int
httpStatus :: Prelude.Int,
DescribeIdentityProviderResponse -> IdentityProviderType
identityProvider :: IdentityProviderType
}
deriving (DescribeIdentityProviderResponse
-> DescribeIdentityProviderResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIdentityProviderResponse
-> DescribeIdentityProviderResponse -> Bool
$c/= :: DescribeIdentityProviderResponse
-> DescribeIdentityProviderResponse -> Bool
== :: DescribeIdentityProviderResponse
-> DescribeIdentityProviderResponse -> Bool
$c== :: DescribeIdentityProviderResponse
-> DescribeIdentityProviderResponse -> Bool
Prelude.Eq, ReadPrec [DescribeIdentityProviderResponse]
ReadPrec DescribeIdentityProviderResponse
Int -> ReadS DescribeIdentityProviderResponse
ReadS [DescribeIdentityProviderResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIdentityProviderResponse]
$creadListPrec :: ReadPrec [DescribeIdentityProviderResponse]
readPrec :: ReadPrec DescribeIdentityProviderResponse
$creadPrec :: ReadPrec DescribeIdentityProviderResponse
readList :: ReadS [DescribeIdentityProviderResponse]
$creadList :: ReadS [DescribeIdentityProviderResponse]
readsPrec :: Int -> ReadS DescribeIdentityProviderResponse
$creadsPrec :: Int -> ReadS DescribeIdentityProviderResponse
Prelude.Read, Int -> DescribeIdentityProviderResponse -> ShowS
[DescribeIdentityProviderResponse] -> ShowS
DescribeIdentityProviderResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIdentityProviderResponse] -> ShowS
$cshowList :: [DescribeIdentityProviderResponse] -> ShowS
show :: DescribeIdentityProviderResponse -> String
$cshow :: DescribeIdentityProviderResponse -> String
showsPrec :: Int -> DescribeIdentityProviderResponse -> ShowS
$cshowsPrec :: Int -> DescribeIdentityProviderResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeIdentityProviderResponse x
-> DescribeIdentityProviderResponse
forall x.
DescribeIdentityProviderResponse
-> Rep DescribeIdentityProviderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeIdentityProviderResponse x
-> DescribeIdentityProviderResponse
$cfrom :: forall x.
DescribeIdentityProviderResponse
-> Rep DescribeIdentityProviderResponse x
Prelude.Generic)
newDescribeIdentityProviderResponse ::
Prelude.Int ->
IdentityProviderType ->
DescribeIdentityProviderResponse
newDescribeIdentityProviderResponse :: Int -> IdentityProviderType -> DescribeIdentityProviderResponse
newDescribeIdentityProviderResponse
Int
pHttpStatus_
IdentityProviderType
pIdentityProvider_ =
DescribeIdentityProviderResponse'
{ $sel:httpStatus:DescribeIdentityProviderResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:identityProvider:DescribeIdentityProviderResponse' :: IdentityProviderType
identityProvider = IdentityProviderType
pIdentityProvider_
}
describeIdentityProviderResponse_httpStatus :: Lens.Lens' DescribeIdentityProviderResponse Prelude.Int
describeIdentityProviderResponse_httpStatus :: Lens' DescribeIdentityProviderResponse Int
describeIdentityProviderResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProviderResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeIdentityProviderResponse' :: DescribeIdentityProviderResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeIdentityProviderResponse
s@DescribeIdentityProviderResponse' {} Int
a -> DescribeIdentityProviderResponse
s {$sel:httpStatus:DescribeIdentityProviderResponse' :: Int
httpStatus = Int
a} :: DescribeIdentityProviderResponse)
describeIdentityProviderResponse_identityProvider :: Lens.Lens' DescribeIdentityProviderResponse IdentityProviderType
describeIdentityProviderResponse_identityProvider :: Lens' DescribeIdentityProviderResponse IdentityProviderType
describeIdentityProviderResponse_identityProvider = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIdentityProviderResponse' {IdentityProviderType
identityProvider :: IdentityProviderType
$sel:identityProvider:DescribeIdentityProviderResponse' :: DescribeIdentityProviderResponse -> IdentityProviderType
identityProvider} -> IdentityProviderType
identityProvider) (\s :: DescribeIdentityProviderResponse
s@DescribeIdentityProviderResponse' {} IdentityProviderType
a -> DescribeIdentityProviderResponse
s {$sel:identityProvider:DescribeIdentityProviderResponse' :: IdentityProviderType
identityProvider = IdentityProviderType
a} :: DescribeIdentityProviderResponse)
instance
Prelude.NFData
DescribeIdentityProviderResponse
where
rnf :: DescribeIdentityProviderResponse -> ()
rnf DescribeIdentityProviderResponse' {Int
IdentityProviderType
identityProvider :: IdentityProviderType
httpStatus :: Int
$sel:identityProvider:DescribeIdentityProviderResponse' :: DescribeIdentityProviderResponse -> IdentityProviderType
$sel:httpStatus:DescribeIdentityProviderResponse' :: DescribeIdentityProviderResponse -> 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 IdentityProviderType
identityProvider