module Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty (
AvailabilityZoneImpairmentPolicyProperty(..),
mkAvailabilityZoneImpairmentPolicyProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AvailabilityZoneImpairmentPolicyProperty
=
AvailabilityZoneImpairmentPolicyProperty {AvailabilityZoneImpairmentPolicyProperty -> ()
haddock_workaround_ :: (),
AvailabilityZoneImpairmentPolicyProperty -> Value Text
impairedZoneHealthCheckBehavior :: (Value Prelude.Text),
AvailabilityZoneImpairmentPolicyProperty -> Value Bool
zonalShiftEnabled :: (Value Prelude.Bool)}
deriving stock (AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool
(AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool)
-> (AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool)
-> Eq AvailabilityZoneImpairmentPolicyProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool
== :: AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool
$c/= :: AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool
/= :: AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty -> Bool
Prelude.Eq, Int -> AvailabilityZoneImpairmentPolicyProperty -> ShowS
[AvailabilityZoneImpairmentPolicyProperty] -> ShowS
AvailabilityZoneImpairmentPolicyProperty -> String
(Int -> AvailabilityZoneImpairmentPolicyProperty -> ShowS)
-> (AvailabilityZoneImpairmentPolicyProperty -> String)
-> ([AvailabilityZoneImpairmentPolicyProperty] -> ShowS)
-> Show AvailabilityZoneImpairmentPolicyProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AvailabilityZoneImpairmentPolicyProperty -> ShowS
showsPrec :: Int -> AvailabilityZoneImpairmentPolicyProperty -> ShowS
$cshow :: AvailabilityZoneImpairmentPolicyProperty -> String
show :: AvailabilityZoneImpairmentPolicyProperty -> String
$cshowList :: [AvailabilityZoneImpairmentPolicyProperty] -> ShowS
showList :: [AvailabilityZoneImpairmentPolicyProperty] -> ShowS
Prelude.Show)
mkAvailabilityZoneImpairmentPolicyProperty ::
Value Prelude.Text
-> Value Prelude.Bool -> AvailabilityZoneImpairmentPolicyProperty
mkAvailabilityZoneImpairmentPolicyProperty :: Value Text
-> Value Bool -> AvailabilityZoneImpairmentPolicyProperty
mkAvailabilityZoneImpairmentPolicyProperty
Value Text
impairedZoneHealthCheckBehavior
Value Bool
zonalShiftEnabled
= AvailabilityZoneImpairmentPolicyProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (),
impairedZoneHealthCheckBehavior :: Value Text
impairedZoneHealthCheckBehavior = Value Text
impairedZoneHealthCheckBehavior,
zonalShiftEnabled :: Value Bool
zonalShiftEnabled = Value Bool
zonalShiftEnabled}
instance ToResourceProperties AvailabilityZoneImpairmentPolicyProperty where
toResourceProperties :: AvailabilityZoneImpairmentPolicyProperty -> ResourceProperties
toResourceProperties AvailabilityZoneImpairmentPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: AvailabilityZoneImpairmentPolicyProperty -> ()
impairedZoneHealthCheckBehavior :: AvailabilityZoneImpairmentPolicyProperty -> Value Text
zonalShiftEnabled :: AvailabilityZoneImpairmentPolicyProperty -> Value Bool
haddock_workaround_ :: ()
impairedZoneHealthCheckBehavior :: Value Text
zonalShiftEnabled :: Value Bool
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::AutoScaling::AutoScalingGroup.AvailabilityZoneImpairmentPolicy",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"ImpairedZoneHealthCheckBehavior"
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
impairedZoneHealthCheckBehavior,
Key
"ZonalShiftEnabled" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
zonalShiftEnabled]}
instance JSON.ToJSON AvailabilityZoneImpairmentPolicyProperty where
toJSON :: AvailabilityZoneImpairmentPolicyProperty -> Value
toJSON AvailabilityZoneImpairmentPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: AvailabilityZoneImpairmentPolicyProperty -> ()
impairedZoneHealthCheckBehavior :: AvailabilityZoneImpairmentPolicyProperty -> Value Text
zonalShiftEnabled :: AvailabilityZoneImpairmentPolicyProperty -> Value Bool
haddock_workaround_ :: ()
impairedZoneHealthCheckBehavior :: Value Text
zonalShiftEnabled :: Value Bool
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"ImpairedZoneHealthCheckBehavior"
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
impairedZoneHealthCheckBehavior,
Key
"ZonalShiftEnabled" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
zonalShiftEnabled]
instance Property "ImpairedZoneHealthCheckBehavior" AvailabilityZoneImpairmentPolicyProperty where
type PropertyType "ImpairedZoneHealthCheckBehavior" AvailabilityZoneImpairmentPolicyProperty = Value Prelude.Text
set :: PropertyType
"ImpairedZoneHealthCheckBehavior"
AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty
set PropertyType
"ImpairedZoneHealthCheckBehavior"
AvailabilityZoneImpairmentPolicyProperty
newValue AvailabilityZoneImpairmentPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: AvailabilityZoneImpairmentPolicyProperty -> ()
impairedZoneHealthCheckBehavior :: AvailabilityZoneImpairmentPolicyProperty -> Value Text
zonalShiftEnabled :: AvailabilityZoneImpairmentPolicyProperty -> Value Bool
haddock_workaround_ :: ()
impairedZoneHealthCheckBehavior :: Value Text
zonalShiftEnabled :: Value Bool
..}
= AvailabilityZoneImpairmentPolicyProperty
{impairedZoneHealthCheckBehavior :: Value Text
impairedZoneHealthCheckBehavior = PropertyType
"ImpairedZoneHealthCheckBehavior"
AvailabilityZoneImpairmentPolicyProperty
Value Text
newValue, ()
Value Bool
haddock_workaround_ :: ()
zonalShiftEnabled :: Value Bool
haddock_workaround_ :: ()
zonalShiftEnabled :: Value Bool
..}
instance Property "ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty where
type PropertyType "ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty = Value Prelude.Bool
set :: PropertyType
"ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty
-> AvailabilityZoneImpairmentPolicyProperty
set PropertyType
"ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty
newValue AvailabilityZoneImpairmentPolicyProperty {()
Value Bool
Value Text
haddock_workaround_ :: AvailabilityZoneImpairmentPolicyProperty -> ()
impairedZoneHealthCheckBehavior :: AvailabilityZoneImpairmentPolicyProperty -> Value Text
zonalShiftEnabled :: AvailabilityZoneImpairmentPolicyProperty -> Value Bool
haddock_workaround_ :: ()
impairedZoneHealthCheckBehavior :: Value Text
zonalShiftEnabled :: Value Bool
..}
= AvailabilityZoneImpairmentPolicyProperty
{zonalShiftEnabled :: Value Bool
zonalShiftEnabled = PropertyType
"ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty
Value Bool
newValue, ()
Value Text
haddock_workaround_ :: ()
impairedZoneHealthCheckBehavior :: Value Text
haddock_workaround_ :: ()
impairedZoneHealthCheckBehavior :: Value Text
..}