module Stratosphere.SSM.MaintenanceWindowTask.CloudWatchOutputConfigProperty ( CloudWatchOutputConfigProperty(..), mkCloudWatchOutputConfigProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data CloudWatchOutputConfigProperty = -- | See: CloudWatchOutputConfigProperty {haddock_workaround_ :: (), -- | See: cloudWatchLogGroupName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: cloudWatchOutputEnabled :: (Prelude.Maybe (Value Prelude.Bool))} deriving stock (Prelude.Eq, Prelude.Show) mkCloudWatchOutputConfigProperty :: CloudWatchOutputConfigProperty mkCloudWatchOutputConfigProperty = CloudWatchOutputConfigProperty {haddock_workaround_ = (), cloudWatchLogGroupName = Prelude.Nothing, cloudWatchOutputEnabled = Prelude.Nothing} instance ToResourceProperties CloudWatchOutputConfigProperty where toResourceProperties CloudWatchOutputConfigProperty {..} = ResourceProperties {awsType = "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "CloudWatchLogGroupName" Prelude.<$> cloudWatchLogGroupName, (JSON..=) "CloudWatchOutputEnabled" Prelude.<$> cloudWatchOutputEnabled])} instance JSON.ToJSON CloudWatchOutputConfigProperty where toJSON CloudWatchOutputConfigProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "CloudWatchLogGroupName" Prelude.<$> cloudWatchLogGroupName, (JSON..=) "CloudWatchOutputEnabled" Prelude.<$> cloudWatchOutputEnabled])) instance Property "CloudWatchLogGroupName" CloudWatchOutputConfigProperty where type PropertyType "CloudWatchLogGroupName" CloudWatchOutputConfigProperty = Value Prelude.Text set newValue CloudWatchOutputConfigProperty {..} = CloudWatchOutputConfigProperty {cloudWatchLogGroupName = Prelude.pure newValue, ..} instance Property "CloudWatchOutputEnabled" CloudWatchOutputConfigProperty where type PropertyType "CloudWatchOutputEnabled" CloudWatchOutputConfigProperty = Value Prelude.Bool set newValue CloudWatchOutputConfigProperty {..} = CloudWatchOutputConfigProperty {cloudWatchOutputEnabled = Prelude.pure newValue, ..}