stratosphere-0.58.0: library-gen/Stratosphere/ResourceProperties/ApplicationInsightsApplicationCustomComponent.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html
module Stratosphere.ResourceProperties.ApplicationInsightsApplicationCustomComponent where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- ApplicationInsightsApplicationCustomComponent. See
-- 'applicationInsightsApplicationCustomComponent' for a more convenient
-- constructor.
data ApplicationInsightsApplicationCustomComponent =
ApplicationInsightsApplicationCustomComponent
{ _applicationInsightsApplicationCustomComponentComponentName :: Val Text
, _applicationInsightsApplicationCustomComponentResourceList :: ValList Text
} deriving (Show, Eq)
instance ToJSON ApplicationInsightsApplicationCustomComponent where
toJSON ApplicationInsightsApplicationCustomComponent{..} =
object $
catMaybes
[ (Just . ("ComponentName",) . toJSON) _applicationInsightsApplicationCustomComponentComponentName
, (Just . ("ResourceList",) . toJSON) _applicationInsightsApplicationCustomComponentResourceList
]
-- | Constructor for 'ApplicationInsightsApplicationCustomComponent'
-- containing required fields as arguments.
applicationInsightsApplicationCustomComponent
:: Val Text -- ^ 'aiaccComponentName'
-> ValList Text -- ^ 'aiaccResourceList'
-> ApplicationInsightsApplicationCustomComponent
applicationInsightsApplicationCustomComponent componentNamearg resourceListarg =
ApplicationInsightsApplicationCustomComponent
{ _applicationInsightsApplicationCustomComponentComponentName = componentNamearg
, _applicationInsightsApplicationCustomComponentResourceList = resourceListarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html#cfn-applicationinsights-application-customcomponent-componentname
aiaccComponentName :: Lens' ApplicationInsightsApplicationCustomComponent (Val Text)
aiaccComponentName = lens _applicationInsightsApplicationCustomComponentComponentName (\s a -> s { _applicationInsightsApplicationCustomComponentComponentName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-customcomponent.html#cfn-applicationinsights-application-customcomponent-resourcelist
aiaccResourceList :: Lens' ApplicationInsightsApplicationCustomComponent (ValList Text)
aiaccResourceList = lens _applicationInsightsApplicationCustomComponentResourceList (\s a -> s { _applicationInsightsApplicationCustomComponentResourceList = a })