module Stratosphere.ARCRegionSwitch.Plan.Ec2UngracefulProperty (
        Ec2UngracefulProperty(..), mkEc2UngracefulProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Ec2UngracefulProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2ungraceful.html>
    Ec2UngracefulProperty {Ec2UngracefulProperty -> ()
haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2ungraceful.html#cfn-arcregionswitch-plan-ec2ungraceful-minimumsuccesspercentage>
                           Ec2UngracefulProperty -> Value Double
minimumSuccessPercentage :: (Value Prelude.Double)}
  deriving stock (Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool
(Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool)
-> (Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool)
-> Eq Ec2UngracefulProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool
== :: Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool
$c/= :: Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool
/= :: Ec2UngracefulProperty -> Ec2UngracefulProperty -> Bool
Prelude.Eq, Int -> Ec2UngracefulProperty -> ShowS
[Ec2UngracefulProperty] -> ShowS
Ec2UngracefulProperty -> String
(Int -> Ec2UngracefulProperty -> ShowS)
-> (Ec2UngracefulProperty -> String)
-> ([Ec2UngracefulProperty] -> ShowS)
-> Show Ec2UngracefulProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Ec2UngracefulProperty -> ShowS
showsPrec :: Int -> Ec2UngracefulProperty -> ShowS
$cshow :: Ec2UngracefulProperty -> String
show :: Ec2UngracefulProperty -> String
$cshowList :: [Ec2UngracefulProperty] -> ShowS
showList :: [Ec2UngracefulProperty] -> ShowS
Prelude.Show)
mkEc2UngracefulProperty ::
  Value Prelude.Double -> Ec2UngracefulProperty
mkEc2UngracefulProperty :: Value Double -> Ec2UngracefulProperty
mkEc2UngracefulProperty Value Double
minimumSuccessPercentage
  = Ec2UngracefulProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       minimumSuccessPercentage :: Value Double
minimumSuccessPercentage = Value Double
minimumSuccessPercentage}
instance ToResourceProperties Ec2UngracefulProperty where
  toResourceProperties :: Ec2UngracefulProperty -> ResourceProperties
toResourceProperties Ec2UngracefulProperty {()
Value Double
haddock_workaround_ :: Ec2UngracefulProperty -> ()
minimumSuccessPercentage :: Ec2UngracefulProperty -> Value Double
haddock_workaround_ :: ()
minimumSuccessPercentage :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ARCRegionSwitch::Plan.Ec2Ungraceful",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"MinimumSuccessPercentage"
                         Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
minimumSuccessPercentage]}
instance JSON.ToJSON Ec2UngracefulProperty where
  toJSON :: Ec2UngracefulProperty -> Value
toJSON Ec2UngracefulProperty {()
Value Double
haddock_workaround_ :: Ec2UngracefulProperty -> ()
minimumSuccessPercentage :: Ec2UngracefulProperty -> Value Double
haddock_workaround_ :: ()
minimumSuccessPercentage :: Value Double
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"MinimumSuccessPercentage" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
minimumSuccessPercentage]
instance Property "MinimumSuccessPercentage" Ec2UngracefulProperty where
  type PropertyType "MinimumSuccessPercentage" Ec2UngracefulProperty = Value Prelude.Double
  set :: PropertyType "MinimumSuccessPercentage" Ec2UngracefulProperty
-> Ec2UngracefulProperty -> Ec2UngracefulProperty
set PropertyType "MinimumSuccessPercentage" Ec2UngracefulProperty
newValue Ec2UngracefulProperty {()
Value Double
haddock_workaround_ :: Ec2UngracefulProperty -> ()
minimumSuccessPercentage :: Ec2UngracefulProperty -> Value Double
haddock_workaround_ :: ()
minimumSuccessPercentage :: Value Double
..}
    = Ec2UngracefulProperty {minimumSuccessPercentage :: Value Double
minimumSuccessPercentage = PropertyType "MinimumSuccessPercentage" Ec2UngracefulProperty
Value Double
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}