stratosphere-0.51.0: library-gen/Stratosphere/ResourceProperties/MSKClusterBrokerLogs.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html
module Stratosphere.ResourceProperties.MSKClusterBrokerLogs where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.MSKClusterCloudWatchLogs
import Stratosphere.ResourceProperties.MSKClusterFirehose
import Stratosphere.ResourceProperties.MSKClusterS3
-- | Full data type definition for MSKClusterBrokerLogs. See
-- 'mskClusterBrokerLogs' for a more convenient constructor.
data MSKClusterBrokerLogs =
MSKClusterBrokerLogs
{ _mSKClusterBrokerLogsCloudWatchLogs :: Maybe MSKClusterCloudWatchLogs
, _mSKClusterBrokerLogsFirehose :: Maybe MSKClusterFirehose
, _mSKClusterBrokerLogsS3 :: Maybe MSKClusterS3
} deriving (Show, Eq)
instance ToJSON MSKClusterBrokerLogs where
toJSON MSKClusterBrokerLogs{..} =
object $
catMaybes
[ fmap (("CloudWatchLogs",) . toJSON) _mSKClusterBrokerLogsCloudWatchLogs
, fmap (("Firehose",) . toJSON) _mSKClusterBrokerLogsFirehose
, fmap (("S3",) . toJSON) _mSKClusterBrokerLogsS3
]
-- | Constructor for 'MSKClusterBrokerLogs' containing required fields as
-- arguments.
mskClusterBrokerLogs
:: MSKClusterBrokerLogs
mskClusterBrokerLogs =
MSKClusterBrokerLogs
{ _mSKClusterBrokerLogsCloudWatchLogs = Nothing
, _mSKClusterBrokerLogsFirehose = Nothing
, _mSKClusterBrokerLogsS3 = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-cloudwatchlogs
mskcblCloudWatchLogs :: Lens' MSKClusterBrokerLogs (Maybe MSKClusterCloudWatchLogs)
mskcblCloudWatchLogs = lens _mSKClusterBrokerLogsCloudWatchLogs (\s a -> s { _mSKClusterBrokerLogsCloudWatchLogs = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-firehose
mskcblFirehose :: Lens' MSKClusterBrokerLogs (Maybe MSKClusterFirehose)
mskcblFirehose = lens _mSKClusterBrokerLogsFirehose (\s a -> s { _mSKClusterBrokerLogsFirehose = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokerlogs.html#cfn-msk-cluster-brokerlogs-s3
mskcblS3 :: Lens' MSKClusterBrokerLogs (Maybe MSKClusterS3)
mskcblS3 = lens _mSKClusterBrokerLogsS3 (\s a -> s { _mSKClusterBrokerLogsS3 = a })