module Stratosphere.MediaLive.Channel.AudioNormalizationSettingsProperty ( AudioNormalizationSettingsProperty(..), mkAudioNormalizationSettingsProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data AudioNormalizationSettingsProperty = -- | See: AudioNormalizationSettingsProperty {haddock_workaround_ :: (), -- | See: algorithm :: (Prelude.Maybe (Value Prelude.Text)), -- | See: algorithmControl :: (Prelude.Maybe (Value Prelude.Text)), -- | See: targetLkfs :: (Prelude.Maybe (Value Prelude.Double))} deriving stock (Prelude.Eq, Prelude.Show) mkAudioNormalizationSettingsProperty :: AudioNormalizationSettingsProperty mkAudioNormalizationSettingsProperty = AudioNormalizationSettingsProperty {haddock_workaround_ = (), algorithm = Prelude.Nothing, algorithmControl = Prelude.Nothing, targetLkfs = Prelude.Nothing} instance ToResourceProperties AudioNormalizationSettingsProperty where toResourceProperties AudioNormalizationSettingsProperty {..} = ResourceProperties {awsType = "AWS::MediaLive::Channel.AudioNormalizationSettings", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "Algorithm" Prelude.<$> algorithm, (JSON..=) "AlgorithmControl" Prelude.<$> algorithmControl, (JSON..=) "TargetLkfs" Prelude.<$> targetLkfs])} instance JSON.ToJSON AudioNormalizationSettingsProperty where toJSON AudioNormalizationSettingsProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "Algorithm" Prelude.<$> algorithm, (JSON..=) "AlgorithmControl" Prelude.<$> algorithmControl, (JSON..=) "TargetLkfs" Prelude.<$> targetLkfs])) instance Property "Algorithm" AudioNormalizationSettingsProperty where type PropertyType "Algorithm" AudioNormalizationSettingsProperty = Value Prelude.Text set newValue AudioNormalizationSettingsProperty {..} = AudioNormalizationSettingsProperty {algorithm = Prelude.pure newValue, ..} instance Property "AlgorithmControl" AudioNormalizationSettingsProperty where type PropertyType "AlgorithmControl" AudioNormalizationSettingsProperty = Value Prelude.Text set newValue AudioNormalizationSettingsProperty {..} = AudioNormalizationSettingsProperty {algorithmControl = Prelude.pure newValue, ..} instance Property "TargetLkfs" AudioNormalizationSettingsProperty where type PropertyType "TargetLkfs" AudioNormalizationSettingsProperty = Value Prelude.Double set newValue AudioNormalizationSettingsProperty {..} = AudioNormalizationSettingsProperty {targetLkfs = Prelude.pure newValue, ..}