module Network.AWS.CognitoIdentity.DescribeIdentityPool
(
DescribeIdentityPool
, describeIdentityPool
, dipIdentityPoolId
, DescribeIdentityPoolResponse
, describeIdentityPoolResponse
, diprAllowUnauthenticatedIdentities
, diprDeveloperProviderName
, diprIdentityPoolId
, diprIdentityPoolName
, diprOpenIdConnectProviderARNs
, diprSupportedLoginProviders
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CognitoIdentity.Types
import qualified GHC.Exts
newtype DescribeIdentityPool = DescribeIdentityPool
{ _dipIdentityPoolId :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
describeIdentityPool :: Text
-> DescribeIdentityPool
describeIdentityPool p1 = DescribeIdentityPool
{ _dipIdentityPoolId = p1
}
dipIdentityPoolId :: Lens' DescribeIdentityPool Text
dipIdentityPoolId =
lens _dipIdentityPoolId (\s a -> s { _dipIdentityPoolId = a })
data DescribeIdentityPoolResponse = DescribeIdentityPoolResponse
{ _diprAllowUnauthenticatedIdentities :: Bool
, _diprDeveloperProviderName :: Maybe Text
, _diprIdentityPoolId :: Text
, _diprIdentityPoolName :: Text
, _diprOpenIdConnectProviderARNs :: List "OpenIdConnectProviderARNs" Text
, _diprSupportedLoginProviders :: Map Text Text
} deriving (Eq, Read, Show)
describeIdentityPoolResponse :: Text
-> Text
-> Bool
-> DescribeIdentityPoolResponse
describeIdentityPoolResponse p1 p2 p3 = DescribeIdentityPoolResponse
{ _diprIdentityPoolId = p1
, _diprIdentityPoolName = p2
, _diprAllowUnauthenticatedIdentities = p3
, _diprSupportedLoginProviders = mempty
, _diprDeveloperProviderName = Nothing
, _diprOpenIdConnectProviderARNs = mempty
}
diprAllowUnauthenticatedIdentities :: Lens' DescribeIdentityPoolResponse Bool
diprAllowUnauthenticatedIdentities =
lens _diprAllowUnauthenticatedIdentities
(\s a -> s { _diprAllowUnauthenticatedIdentities = a })
diprDeveloperProviderName :: Lens' DescribeIdentityPoolResponse (Maybe Text)
diprDeveloperProviderName =
lens _diprDeveloperProviderName
(\s a -> s { _diprDeveloperProviderName = a })
diprIdentityPoolId :: Lens' DescribeIdentityPoolResponse Text
diprIdentityPoolId =
lens _diprIdentityPoolId (\s a -> s { _diprIdentityPoolId = a })
diprIdentityPoolName :: Lens' DescribeIdentityPoolResponse Text
diprIdentityPoolName =
lens _diprIdentityPoolName (\s a -> s { _diprIdentityPoolName = a })
diprOpenIdConnectProviderARNs :: Lens' DescribeIdentityPoolResponse [Text]
diprOpenIdConnectProviderARNs =
lens _diprOpenIdConnectProviderARNs
(\s a -> s { _diprOpenIdConnectProviderARNs = a })
. _List
diprSupportedLoginProviders :: Lens' DescribeIdentityPoolResponse (HashMap Text Text)
diprSupportedLoginProviders =
lens _diprSupportedLoginProviders
(\s a -> s { _diprSupportedLoginProviders = a })
. _Map
instance ToPath DescribeIdentityPool where
toPath = const "/"
instance ToQuery DescribeIdentityPool where
toQuery = const mempty
instance ToHeaders DescribeIdentityPool
instance ToJSON DescribeIdentityPool where
toJSON DescribeIdentityPool{..} = object
[ "IdentityPoolId" .= _dipIdentityPoolId
]
instance AWSRequest DescribeIdentityPool where
type Sv DescribeIdentityPool = CognitoIdentity
type Rs DescribeIdentityPool = DescribeIdentityPoolResponse
request = post "DescribeIdentityPool"
response = jsonResponse
instance FromJSON DescribeIdentityPoolResponse where
parseJSON = withObject "DescribeIdentityPoolResponse" $ \o -> DescribeIdentityPoolResponse
<$> o .: "AllowUnauthenticatedIdentities"
<*> o .:? "DeveloperProviderName"
<*> o .: "IdentityPoolId"
<*> o .: "IdentityPoolName"
<*> o .:? "OpenIdConnectProviderARNs" .!= mempty
<*> o .:? "SupportedLoginProviders" .!= mempty