stratosphere-0.46.0: library-gen/Stratosphere/ResourceProperties/ElasticsearchDomainLogPublishingOption.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html
module Stratosphere.ResourceProperties.ElasticsearchDomainLogPublishingOption where
import Stratosphere.ResourceImports
-- | Full data type definition for ElasticsearchDomainLogPublishingOption. See
-- 'elasticsearchDomainLogPublishingOption' for a more convenient
-- constructor.
data ElasticsearchDomainLogPublishingOption =
ElasticsearchDomainLogPublishingOption
{ _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn :: Maybe (Val Text)
, _elasticsearchDomainLogPublishingOptionEnabled :: Maybe (Val Bool)
} deriving (Show, Eq)
instance ToJSON ElasticsearchDomainLogPublishingOption where
toJSON ElasticsearchDomainLogPublishingOption{..} =
object $
catMaybes
[ fmap (("CloudWatchLogsLogGroupArn",) . toJSON) _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn
, fmap (("Enabled",) . toJSON) _elasticsearchDomainLogPublishingOptionEnabled
]
-- | Constructor for 'ElasticsearchDomainLogPublishingOption' containing
-- required fields as arguments.
elasticsearchDomainLogPublishingOption
:: ElasticsearchDomainLogPublishingOption
elasticsearchDomainLogPublishingOption =
ElasticsearchDomainLogPublishingOption
{ _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn = Nothing
, _elasticsearchDomainLogPublishingOptionEnabled = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-cloudwatchlogsloggrouparn
edlpoCloudWatchLogsLogGroupArn :: Lens' ElasticsearchDomainLogPublishingOption (Maybe (Val Text))
edlpoCloudWatchLogsLogGroupArn = lens _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn (\s a -> s { _elasticsearchDomainLogPublishingOptionCloudWatchLogsLogGroupArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-enabled
edlpoEnabled :: Lens' ElasticsearchDomainLogPublishingOption (Maybe (Val Bool))
edlpoEnabled = lens _elasticsearchDomainLogPublishingOptionEnabled (\s a -> s { _elasticsearchDomainLogPublishingOptionEnabled = a })