module Stratosphere.ElasticLoadBalancing.LoadBalancer.HealthCheckProperty ( HealthCheckProperty(..), mkHealthCheckProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data HealthCheckProperty = -- | See: HealthCheckProperty {haddock_workaround_ :: (), -- | See: healthyThreshold :: (Value Prelude.Text), -- | See: interval :: (Value Prelude.Text), -- | See: target :: (Value Prelude.Text), -- | See: timeout :: (Value Prelude.Text), -- | See: unhealthyThreshold :: (Value Prelude.Text)} deriving stock (Prelude.Eq, Prelude.Show) mkHealthCheckProperty :: Value Prelude.Text -> Value Prelude.Text -> Value Prelude.Text -> Value Prelude.Text -> Value Prelude.Text -> HealthCheckProperty mkHealthCheckProperty healthyThreshold interval target timeout unhealthyThreshold = HealthCheckProperty {haddock_workaround_ = (), healthyThreshold = healthyThreshold, interval = interval, target = target, timeout = timeout, unhealthyThreshold = unhealthyThreshold} instance ToResourceProperties HealthCheckProperty where toResourceProperties HealthCheckProperty {..} = ResourceProperties {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck", supportsTags = Prelude.False, properties = ["HealthyThreshold" JSON..= healthyThreshold, "Interval" JSON..= interval, "Target" JSON..= target, "Timeout" JSON..= timeout, "UnhealthyThreshold" JSON..= unhealthyThreshold]} instance JSON.ToJSON HealthCheckProperty where toJSON HealthCheckProperty {..} = JSON.object ["HealthyThreshold" JSON..= healthyThreshold, "Interval" JSON..= interval, "Target" JSON..= target, "Timeout" JSON..= timeout, "UnhealthyThreshold" JSON..= unhealthyThreshold] instance Property "HealthyThreshold" HealthCheckProperty where type PropertyType "HealthyThreshold" HealthCheckProperty = Value Prelude.Text set newValue HealthCheckProperty {..} = HealthCheckProperty {healthyThreshold = newValue, ..} instance Property "Interval" HealthCheckProperty where type PropertyType "Interval" HealthCheckProperty = Value Prelude.Text set newValue HealthCheckProperty {..} = HealthCheckProperty {interval = newValue, ..} instance Property "Target" HealthCheckProperty where type PropertyType "Target" HealthCheckProperty = Value Prelude.Text set newValue HealthCheckProperty {..} = HealthCheckProperty {target = newValue, ..} instance Property "Timeout" HealthCheckProperty where type PropertyType "Timeout" HealthCheckProperty = Value Prelude.Text set newValue HealthCheckProperty {..} = HealthCheckProperty {timeout = newValue, ..} instance Property "UnhealthyThreshold" HealthCheckProperty where type PropertyType "UnhealthyThreshold" HealthCheckProperty = Value Prelude.Text set newValue HealthCheckProperty {..} = HealthCheckProperty {unhealthyThreshold = newValue, ..}