stratosphere-0.58.0: library-gen/Stratosphere/ResourceProperties/ApplicationInsightsApplicationWindowsEvent.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html
module Stratosphere.ResourceProperties.ApplicationInsightsApplicationWindowsEvent where
import Stratosphere.ResourceImports
-- | Full data type definition for ApplicationInsightsApplicationWindowsEvent.
-- See 'applicationInsightsApplicationWindowsEvent' for a more convenient
-- constructor.
data ApplicationInsightsApplicationWindowsEvent =
ApplicationInsightsApplicationWindowsEvent
{ _applicationInsightsApplicationWindowsEventEventLevels :: ValList Text
, _applicationInsightsApplicationWindowsEventEventName :: Val Text
, _applicationInsightsApplicationWindowsEventLogGroupName :: Val Text
, _applicationInsightsApplicationWindowsEventPatternSet :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON ApplicationInsightsApplicationWindowsEvent where
toJSON ApplicationInsightsApplicationWindowsEvent{..} =
object $
catMaybes
[ (Just . ("EventLevels",) . toJSON) _applicationInsightsApplicationWindowsEventEventLevels
, (Just . ("EventName",) . toJSON) _applicationInsightsApplicationWindowsEventEventName
, (Just . ("LogGroupName",) . toJSON) _applicationInsightsApplicationWindowsEventLogGroupName
, fmap (("PatternSet",) . toJSON) _applicationInsightsApplicationWindowsEventPatternSet
]
-- | Constructor for 'ApplicationInsightsApplicationWindowsEvent' containing
-- required fields as arguments.
applicationInsightsApplicationWindowsEvent
:: ValList Text -- ^ 'aiaweEventLevels'
-> Val Text -- ^ 'aiaweEventName'
-> Val Text -- ^ 'aiaweLogGroupName'
-> ApplicationInsightsApplicationWindowsEvent
applicationInsightsApplicationWindowsEvent eventLevelsarg eventNamearg logGroupNamearg =
ApplicationInsightsApplicationWindowsEvent
{ _applicationInsightsApplicationWindowsEventEventLevels = eventLevelsarg
, _applicationInsightsApplicationWindowsEventEventName = eventNamearg
, _applicationInsightsApplicationWindowsEventLogGroupName = logGroupNamearg
, _applicationInsightsApplicationWindowsEventPatternSet = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-eventlevels
aiaweEventLevels :: Lens' ApplicationInsightsApplicationWindowsEvent (ValList Text)
aiaweEventLevels = lens _applicationInsightsApplicationWindowsEventEventLevels (\s a -> s { _applicationInsightsApplicationWindowsEventEventLevels = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-eventname
aiaweEventName :: Lens' ApplicationInsightsApplicationWindowsEvent (Val Text)
aiaweEventName = lens _applicationInsightsApplicationWindowsEventEventName (\s a -> s { _applicationInsightsApplicationWindowsEventEventName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-loggroupname
aiaweLogGroupName :: Lens' ApplicationInsightsApplicationWindowsEvent (Val Text)
aiaweLogGroupName = lens _applicationInsightsApplicationWindowsEventLogGroupName (\s a -> s { _applicationInsightsApplicationWindowsEventLogGroupName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-windowsevent.html#cfn-applicationinsights-application-windowsevent-patternset
aiawePatternSet :: Lens' ApplicationInsightsApplicationWindowsEvent (Maybe (Val Text))
aiawePatternSet = lens _applicationInsightsApplicationWindowsEventPatternSet (\s a -> s { _applicationInsightsApplicationWindowsEventPatternSet = a })