stratosphere-0.58.0: library-gen/Stratosphere/ResourceProperties/ApplicationInsightsApplicationComponentConfiguration.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html
module Stratosphere.ResourceProperties.ApplicationInsightsApplicationComponentConfiguration where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.ApplicationInsightsApplicationConfigurationDetails
import Stratosphere.ResourceProperties.ApplicationInsightsApplicationSubComponentTypeConfiguration
-- | Full data type definition for
-- ApplicationInsightsApplicationComponentConfiguration. See
-- 'applicationInsightsApplicationComponentConfiguration' for a more
-- convenient constructor.
data ApplicationInsightsApplicationComponentConfiguration =
ApplicationInsightsApplicationComponentConfiguration
{ _applicationInsightsApplicationComponentConfigurationConfigurationDetails :: Maybe ApplicationInsightsApplicationConfigurationDetails
, _applicationInsightsApplicationComponentConfigurationSubComponentTypeConfigurations :: Maybe [ApplicationInsightsApplicationSubComponentTypeConfiguration]
} deriving (Show, Eq)
instance ToJSON ApplicationInsightsApplicationComponentConfiguration where
toJSON ApplicationInsightsApplicationComponentConfiguration{..} =
object $
catMaybes
[ fmap (("ConfigurationDetails",) . toJSON) _applicationInsightsApplicationComponentConfigurationConfigurationDetails
, fmap (("SubComponentTypeConfigurations",) . toJSON) _applicationInsightsApplicationComponentConfigurationSubComponentTypeConfigurations
]
-- | Constructor for 'ApplicationInsightsApplicationComponentConfiguration'
-- containing required fields as arguments.
applicationInsightsApplicationComponentConfiguration
:: ApplicationInsightsApplicationComponentConfiguration
applicationInsightsApplicationComponentConfiguration =
ApplicationInsightsApplicationComponentConfiguration
{ _applicationInsightsApplicationComponentConfigurationConfigurationDetails = Nothing
, _applicationInsightsApplicationComponentConfigurationSubComponentTypeConfigurations = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html#cfn-applicationinsights-application-componentconfiguration-configurationdetails
aiaccConfigurationDetails :: Lens' ApplicationInsightsApplicationComponentConfiguration (Maybe ApplicationInsightsApplicationConfigurationDetails)
aiaccConfigurationDetails = lens _applicationInsightsApplicationComponentConfigurationConfigurationDetails (\s a -> s { _applicationInsightsApplicationComponentConfigurationConfigurationDetails = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-componentconfiguration.html#cfn-applicationinsights-application-componentconfiguration-subcomponenttypeconfigurations
aiaccSubComponentTypeConfigurations :: Lens' ApplicationInsightsApplicationComponentConfiguration (Maybe [ApplicationInsightsApplicationSubComponentTypeConfiguration])
aiaccSubComponentTypeConfigurations = lens _applicationInsightsApplicationComponentConfigurationSubComponentTypeConfigurations (\s a -> s { _applicationInsightsApplicationComponentConfigurationSubComponentTypeConfigurations = a })