stratosphere-0.60.0: library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html
module Stratosphere.Resources.CognitoUserPoolIdentityProvider where
import Stratosphere.ResourceImports
-- | Full data type definition for CognitoUserPoolIdentityProvider. See
-- 'cognitoUserPoolIdentityProvider' for a more convenient constructor.
data CognitoUserPoolIdentityProvider =
CognitoUserPoolIdentityProvider
{ _cognitoUserPoolIdentityProviderAttributeMapping :: Maybe Object
, _cognitoUserPoolIdentityProviderIdpIdentifiers :: Maybe (ValList Text)
, _cognitoUserPoolIdentityProviderProviderDetails :: Maybe Object
, _cognitoUserPoolIdentityProviderProviderName :: Val Text
, _cognitoUserPoolIdentityProviderProviderType :: Val Text
, _cognitoUserPoolIdentityProviderUserPoolId :: Val Text
} deriving (Show, Eq)
instance ToResourceProperties CognitoUserPoolIdentityProvider where
toResourceProperties CognitoUserPoolIdentityProvider{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::Cognito::UserPoolIdentityProvider"
, resourcePropertiesProperties =
keyMapFromList $ catMaybes
[ fmap (("AttributeMapping",) . toJSON) _cognitoUserPoolIdentityProviderAttributeMapping
, fmap (("IdpIdentifiers",) . toJSON) _cognitoUserPoolIdentityProviderIdpIdentifiers
, fmap (("ProviderDetails",) . toJSON) _cognitoUserPoolIdentityProviderProviderDetails
, (Just . ("ProviderName",) . toJSON) _cognitoUserPoolIdentityProviderProviderName
, (Just . ("ProviderType",) . toJSON) _cognitoUserPoolIdentityProviderProviderType
, (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolIdentityProviderUserPoolId
]
}
-- | Constructor for 'CognitoUserPoolIdentityProvider' containing required
-- fields as arguments.
cognitoUserPoolIdentityProvider
:: Val Text -- ^ 'cupipProviderName'
-> Val Text -- ^ 'cupipProviderType'
-> Val Text -- ^ 'cupipUserPoolId'
-> CognitoUserPoolIdentityProvider
cognitoUserPoolIdentityProvider providerNamearg providerTypearg userPoolIdarg =
CognitoUserPoolIdentityProvider
{ _cognitoUserPoolIdentityProviderAttributeMapping = Nothing
, _cognitoUserPoolIdentityProviderIdpIdentifiers = Nothing
, _cognitoUserPoolIdentityProviderProviderDetails = Nothing
, _cognitoUserPoolIdentityProviderProviderName = providerNamearg
, _cognitoUserPoolIdentityProviderProviderType = providerTypearg
, _cognitoUserPoolIdentityProviderUserPoolId = userPoolIdarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-attributemapping
cupipAttributeMapping :: Lens' CognitoUserPoolIdentityProvider (Maybe Object)
cupipAttributeMapping = lens _cognitoUserPoolIdentityProviderAttributeMapping (\s a -> s { _cognitoUserPoolIdentityProviderAttributeMapping = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-idpidentifiers
cupipIdpIdentifiers :: Lens' CognitoUserPoolIdentityProvider (Maybe (ValList Text))
cupipIdpIdentifiers = lens _cognitoUserPoolIdentityProviderIdpIdentifiers (\s a -> s { _cognitoUserPoolIdentityProviderIdpIdentifiers = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails
cupipProviderDetails :: Lens' CognitoUserPoolIdentityProvider (Maybe Object)
cupipProviderDetails = lens _cognitoUserPoolIdentityProviderProviderDetails (\s a -> s { _cognitoUserPoolIdentityProviderProviderDetails = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providername
cupipProviderName :: Lens' CognitoUserPoolIdentityProvider (Val Text)
cupipProviderName = lens _cognitoUserPoolIdentityProviderProviderName (\s a -> s { _cognitoUserPoolIdentityProviderProviderName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providertype
cupipProviderType :: Lens' CognitoUserPoolIdentityProvider (Val Text)
cupipProviderType = lens _cognitoUserPoolIdentityProviderProviderType (\s a -> s { _cognitoUserPoolIdentityProviderProviderType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-userpoolid
cupipUserPoolId :: Lens' CognitoUserPoolIdentityProvider (Val Text)
cupipUserPoolId = lens _cognitoUserPoolIdentityProviderUserPoolId (\s a -> s { _cognitoUserPoolIdentityProviderUserPoolId = a })