module Stratosphere.ApplicationInsights.Application.SubComponentConfigurationDetailsProperty ( module Exports, SubComponentConfigurationDetailsProperty(..), mkSubComponentConfigurationDetailsProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.ApplicationInsights.Application.AlarmMetricProperty as Exports import {-# SOURCE #-} Stratosphere.ApplicationInsights.Application.LogProperty as Exports import {-# SOURCE #-} Stratosphere.ApplicationInsights.Application.ProcessProperty as Exports import {-# SOURCE #-} Stratosphere.ApplicationInsights.Application.WindowsEventProperty as Exports import Stratosphere.ResourceProperties data SubComponentConfigurationDetailsProperty = -- | See: SubComponentConfigurationDetailsProperty {haddock_workaround_ :: (), -- | See: alarmMetrics :: (Prelude.Maybe [AlarmMetricProperty]), -- | See: logs :: (Prelude.Maybe [LogProperty]), -- | See: processes :: (Prelude.Maybe [ProcessProperty]), -- | See: windowsEvents :: (Prelude.Maybe [WindowsEventProperty])} deriving stock (Prelude.Eq, Prelude.Show) mkSubComponentConfigurationDetailsProperty :: SubComponentConfigurationDetailsProperty mkSubComponentConfigurationDetailsProperty = SubComponentConfigurationDetailsProperty {haddock_workaround_ = (), alarmMetrics = Prelude.Nothing, logs = Prelude.Nothing, processes = Prelude.Nothing, windowsEvents = Prelude.Nothing} instance ToResourceProperties SubComponentConfigurationDetailsProperty where toResourceProperties SubComponentConfigurationDetailsProperty {..} = ResourceProperties {awsType = "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AlarmMetrics" Prelude.<$> alarmMetrics, (JSON..=) "Logs" Prelude.<$> logs, (JSON..=) "Processes" Prelude.<$> processes, (JSON..=) "WindowsEvents" Prelude.<$> windowsEvents])} instance JSON.ToJSON SubComponentConfigurationDetailsProperty where toJSON SubComponentConfigurationDetailsProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AlarmMetrics" Prelude.<$> alarmMetrics, (JSON..=) "Logs" Prelude.<$> logs, (JSON..=) "Processes" Prelude.<$> processes, (JSON..=) "WindowsEvents" Prelude.<$> windowsEvents])) instance Property "AlarmMetrics" SubComponentConfigurationDetailsProperty where type PropertyType "AlarmMetrics" SubComponentConfigurationDetailsProperty = [AlarmMetricProperty] set newValue SubComponentConfigurationDetailsProperty {..} = SubComponentConfigurationDetailsProperty {alarmMetrics = Prelude.pure newValue, ..} instance Property "Logs" SubComponentConfigurationDetailsProperty where type PropertyType "Logs" SubComponentConfigurationDetailsProperty = [LogProperty] set newValue SubComponentConfigurationDetailsProperty {..} = SubComponentConfigurationDetailsProperty {logs = Prelude.pure newValue, ..} instance Property "Processes" SubComponentConfigurationDetailsProperty where type PropertyType "Processes" SubComponentConfigurationDetailsProperty = [ProcessProperty] set newValue SubComponentConfigurationDetailsProperty {..} = SubComponentConfigurationDetailsProperty {processes = Prelude.pure newValue, ..} instance Property "WindowsEvents" SubComponentConfigurationDetailsProperty where type PropertyType "WindowsEvents" SubComponentConfigurationDetailsProperty = [WindowsEventProperty] set newValue SubComponentConfigurationDetailsProperty {..} = SubComponentConfigurationDetailsProperty {windowsEvents = Prelude.pure newValue, ..}