module Stratosphere.ECS.Service.DeploymentAlarmsProperty ( DeploymentAlarmsProperty(..), mkDeploymentAlarmsProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data DeploymentAlarmsProperty = -- | See: DeploymentAlarmsProperty {haddock_workaround_ :: (), -- | See: alarmNames :: (ValueList Prelude.Text), -- | See: enable :: (Value Prelude.Bool), -- | See: rollback :: (Value Prelude.Bool)} deriving stock (Prelude.Eq, Prelude.Show) mkDeploymentAlarmsProperty :: ValueList Prelude.Text -> Value Prelude.Bool -> Value Prelude.Bool -> DeploymentAlarmsProperty mkDeploymentAlarmsProperty alarmNames enable rollback = DeploymentAlarmsProperty {haddock_workaround_ = (), alarmNames = alarmNames, enable = enable, rollback = rollback} instance ToResourceProperties DeploymentAlarmsProperty where toResourceProperties DeploymentAlarmsProperty {..} = ResourceProperties {awsType = "AWS::ECS::Service.DeploymentAlarms", supportsTags = Prelude.False, properties = ["AlarmNames" JSON..= alarmNames, "Enable" JSON..= enable, "Rollback" JSON..= rollback]} instance JSON.ToJSON DeploymentAlarmsProperty where toJSON DeploymentAlarmsProperty {..} = JSON.object ["AlarmNames" JSON..= alarmNames, "Enable" JSON..= enable, "Rollback" JSON..= rollback] instance Property "AlarmNames" DeploymentAlarmsProperty where type PropertyType "AlarmNames" DeploymentAlarmsProperty = ValueList Prelude.Text set newValue DeploymentAlarmsProperty {..} = DeploymentAlarmsProperty {alarmNames = newValue, ..} instance Property "Enable" DeploymentAlarmsProperty where type PropertyType "Enable" DeploymentAlarmsProperty = Value Prelude.Bool set newValue DeploymentAlarmsProperty {..} = DeploymentAlarmsProperty {enable = newValue, ..} instance Property "Rollback" DeploymentAlarmsProperty where type PropertyType "Rollback" DeploymentAlarmsProperty = Value Prelude.Bool set newValue DeploymentAlarmsProperty {..} = DeploymentAlarmsProperty {rollback = newValue, ..}