stratosphere-0.47.0: library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainCognitoOptions.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html
module Stratosphere.ResourceProperties.ElasticsearchDomainCognitoOptions where
import Stratosphere.ResourceImports
-- | Full data type definition for ElasticsearchDomainCognitoOptions. See
-- 'elasticsearchDomainCognitoOptions' for a more convenient constructor.
data ElasticsearchDomainCognitoOptions =
ElasticsearchDomainCognitoOptions
{ _elasticsearchDomainCognitoOptionsEnabled :: Maybe (Val Bool)
, _elasticsearchDomainCognitoOptionsIdentityPoolId :: Maybe (Val Text)
, _elasticsearchDomainCognitoOptionsRoleArn :: Maybe (Val Text)
, _elasticsearchDomainCognitoOptionsUserPoolId :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON ElasticsearchDomainCognitoOptions where
toJSON ElasticsearchDomainCognitoOptions{..} =
object $
catMaybes
[ fmap (("Enabled",) . toJSON) _elasticsearchDomainCognitoOptionsEnabled
, fmap (("IdentityPoolId",) . toJSON) _elasticsearchDomainCognitoOptionsIdentityPoolId
, fmap (("RoleArn",) . toJSON) _elasticsearchDomainCognitoOptionsRoleArn
, fmap (("UserPoolId",) . toJSON) _elasticsearchDomainCognitoOptionsUserPoolId
]
-- | Constructor for 'ElasticsearchDomainCognitoOptions' containing required
-- fields as arguments.
elasticsearchDomainCognitoOptions
:: ElasticsearchDomainCognitoOptions
elasticsearchDomainCognitoOptions =
ElasticsearchDomainCognitoOptions
{ _elasticsearchDomainCognitoOptionsEnabled = Nothing
, _elasticsearchDomainCognitoOptionsIdentityPoolId = Nothing
, _elasticsearchDomainCognitoOptionsRoleArn = Nothing
, _elasticsearchDomainCognitoOptionsUserPoolId = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-enabled
edcoEnabled :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Bool))
edcoEnabled = lens _elasticsearchDomainCognitoOptionsEnabled (\s a -> s { _elasticsearchDomainCognitoOptionsEnabled = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-identitypoolid
edcoIdentityPoolId :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Text))
edcoIdentityPoolId = lens _elasticsearchDomainCognitoOptionsIdentityPoolId (\s a -> s { _elasticsearchDomainCognitoOptionsIdentityPoolId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-rolearn
edcoRoleArn :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Text))
edcoRoleArn = lens _elasticsearchDomainCognitoOptionsRoleArn (\s a -> s { _elasticsearchDomainCognitoOptionsRoleArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-userpoolid
edcoUserPoolId :: Lens' ElasticsearchDomainCognitoOptions (Maybe (Val Text))
edcoUserPoolId = lens _elasticsearchDomainCognitoOptionsUserPoolId (\s a -> s { _elasticsearchDomainCognitoOptionsUserPoolId = a })