module Network.AWS.CognitoIdentity.UpdateIdentityPool
(
UpdateIdentityPool
, updateIdentityPool
, uipAllowUnauthenticatedIdentities
, uipDeveloperProviderName
, uipIdentityPoolId
, uipIdentityPoolName
, uipOpenIdConnectProviderARNs
, uipSupportedLoginProviders
, UpdateIdentityPoolResponse
, updateIdentityPoolResponse
, uiprAllowUnauthenticatedIdentities
, uiprDeveloperProviderName
, uiprIdentityPoolId
, uiprIdentityPoolName
, uiprOpenIdConnectProviderARNs
, uiprSupportedLoginProviders
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CognitoIdentity.Types
import qualified GHC.Exts
data UpdateIdentityPool = UpdateIdentityPool
{ _uipAllowUnauthenticatedIdentities :: Bool
, _uipDeveloperProviderName :: Maybe Text
, _uipIdentityPoolId :: Text
, _uipIdentityPoolName :: Text
, _uipOpenIdConnectProviderARNs :: List "OpenIdConnectProviderARNs" Text
, _uipSupportedLoginProviders :: Map Text Text
} deriving (Eq, Read, Show)
updateIdentityPool :: Text
-> Text
-> Bool
-> UpdateIdentityPool
updateIdentityPool p1 p2 p3 = UpdateIdentityPool
{ _uipIdentityPoolId = p1
, _uipIdentityPoolName = p2
, _uipAllowUnauthenticatedIdentities = p3
, _uipSupportedLoginProviders = mempty
, _uipDeveloperProviderName = Nothing
, _uipOpenIdConnectProviderARNs = mempty
}
uipAllowUnauthenticatedIdentities :: Lens' UpdateIdentityPool Bool
uipAllowUnauthenticatedIdentities =
lens _uipAllowUnauthenticatedIdentities
(\s a -> s { _uipAllowUnauthenticatedIdentities = a })
uipDeveloperProviderName :: Lens' UpdateIdentityPool (Maybe Text)
uipDeveloperProviderName =
lens _uipDeveloperProviderName
(\s a -> s { _uipDeveloperProviderName = a })
uipIdentityPoolId :: Lens' UpdateIdentityPool Text
uipIdentityPoolId =
lens _uipIdentityPoolId (\s a -> s { _uipIdentityPoolId = a })
uipIdentityPoolName :: Lens' UpdateIdentityPool Text
uipIdentityPoolName =
lens _uipIdentityPoolName (\s a -> s { _uipIdentityPoolName = a })
uipOpenIdConnectProviderARNs :: Lens' UpdateIdentityPool [Text]
uipOpenIdConnectProviderARNs =
lens _uipOpenIdConnectProviderARNs
(\s a -> s { _uipOpenIdConnectProviderARNs = a })
. _List
uipSupportedLoginProviders :: Lens' UpdateIdentityPool (HashMap Text Text)
uipSupportedLoginProviders =
lens _uipSupportedLoginProviders
(\s a -> s { _uipSupportedLoginProviders = a })
. _Map
data UpdateIdentityPoolResponse = UpdateIdentityPoolResponse
{ _uiprAllowUnauthenticatedIdentities :: Bool
, _uiprDeveloperProviderName :: Maybe Text
, _uiprIdentityPoolId :: Text
, _uiprIdentityPoolName :: Text
, _uiprOpenIdConnectProviderARNs :: List "OpenIdConnectProviderARNs" Text
, _uiprSupportedLoginProviders :: Map Text Text
} deriving (Eq, Read, Show)
updateIdentityPoolResponse :: Text
-> Text
-> Bool
-> UpdateIdentityPoolResponse
updateIdentityPoolResponse p1 p2 p3 = UpdateIdentityPoolResponse
{ _uiprIdentityPoolId = p1
, _uiprIdentityPoolName = p2
, _uiprAllowUnauthenticatedIdentities = p3
, _uiprSupportedLoginProviders = mempty
, _uiprDeveloperProviderName = Nothing
, _uiprOpenIdConnectProviderARNs = mempty
}
uiprAllowUnauthenticatedIdentities :: Lens' UpdateIdentityPoolResponse Bool
uiprAllowUnauthenticatedIdentities =
lens _uiprAllowUnauthenticatedIdentities
(\s a -> s { _uiprAllowUnauthenticatedIdentities = a })
uiprDeveloperProviderName :: Lens' UpdateIdentityPoolResponse (Maybe Text)
uiprDeveloperProviderName =
lens _uiprDeveloperProviderName
(\s a -> s { _uiprDeveloperProviderName = a })
uiprIdentityPoolId :: Lens' UpdateIdentityPoolResponse Text
uiprIdentityPoolId =
lens _uiprIdentityPoolId (\s a -> s { _uiprIdentityPoolId = a })
uiprIdentityPoolName :: Lens' UpdateIdentityPoolResponse Text
uiprIdentityPoolName =
lens _uiprIdentityPoolName (\s a -> s { _uiprIdentityPoolName = a })
uiprOpenIdConnectProviderARNs :: Lens' UpdateIdentityPoolResponse [Text]
uiprOpenIdConnectProviderARNs =
lens _uiprOpenIdConnectProviderARNs
(\s a -> s { _uiprOpenIdConnectProviderARNs = a })
. _List
uiprSupportedLoginProviders :: Lens' UpdateIdentityPoolResponse (HashMap Text Text)
uiprSupportedLoginProviders =
lens _uiprSupportedLoginProviders
(\s a -> s { _uiprSupportedLoginProviders = a })
. _Map
instance ToPath UpdateIdentityPool where
toPath = const "/"
instance ToQuery UpdateIdentityPool where
toQuery = const mempty
instance ToHeaders UpdateIdentityPool
instance ToJSON UpdateIdentityPool where
toJSON UpdateIdentityPool{..} = object
[ "IdentityPoolId" .= _uipIdentityPoolId
, "IdentityPoolName" .= _uipIdentityPoolName
, "AllowUnauthenticatedIdentities" .= _uipAllowUnauthenticatedIdentities
, "SupportedLoginProviders" .= _uipSupportedLoginProviders
, "DeveloperProviderName" .= _uipDeveloperProviderName
, "OpenIdConnectProviderARNs" .= _uipOpenIdConnectProviderARNs
]
instance AWSRequest UpdateIdentityPool where
type Sv UpdateIdentityPool = CognitoIdentity
type Rs UpdateIdentityPool = UpdateIdentityPoolResponse
request = post "UpdateIdentityPool"
response = jsonResponse
instance FromJSON UpdateIdentityPoolResponse where
parseJSON = withObject "UpdateIdentityPoolResponse" $ \o -> UpdateIdentityPoolResponse
<$> o .: "AllowUnauthenticatedIdentities"
<*> o .:? "DeveloperProviderName"
<*> o .: "IdentityPoolId"
<*> o .: "IdentityPoolName"
<*> o .:? "OpenIdConnectProviderARNs" .!= mempty
<*> o .:? "SupportedLoginProviders" .!= mempty