module Stratosphere.ARCRegionSwitch.Plan.EksResourceScalingUngracefulProperty (
        EksResourceScalingUngracefulProperty(..),
        mkEksResourceScalingUngracefulProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data EksResourceScalingUngracefulProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingungraceful.html>
    EksResourceScalingUngracefulProperty {EksResourceScalingUngracefulProperty -> ()
haddock_workaround_ :: (),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingungraceful.html#cfn-arcregionswitch-plan-eksresourcescalingungraceful-minimumsuccesspercentage>
                                          EksResourceScalingUngracefulProperty -> Value Double
minimumSuccessPercentage :: (Value Prelude.Double)}
  deriving stock (EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty -> Bool
(EksResourceScalingUngracefulProperty
 -> EksResourceScalingUngracefulProperty -> Bool)
-> (EksResourceScalingUngracefulProperty
    -> EksResourceScalingUngracefulProperty -> Bool)
-> Eq EksResourceScalingUngracefulProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty -> Bool
== :: EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty -> Bool
$c/= :: EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty -> Bool
/= :: EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty -> Bool
Prelude.Eq, Int -> EksResourceScalingUngracefulProperty -> ShowS
[EksResourceScalingUngracefulProperty] -> ShowS
EksResourceScalingUngracefulProperty -> String
(Int -> EksResourceScalingUngracefulProperty -> ShowS)
-> (EksResourceScalingUngracefulProperty -> String)
-> ([EksResourceScalingUngracefulProperty] -> ShowS)
-> Show EksResourceScalingUngracefulProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EksResourceScalingUngracefulProperty -> ShowS
showsPrec :: Int -> EksResourceScalingUngracefulProperty -> ShowS
$cshow :: EksResourceScalingUngracefulProperty -> String
show :: EksResourceScalingUngracefulProperty -> String
$cshowList :: [EksResourceScalingUngracefulProperty] -> ShowS
showList :: [EksResourceScalingUngracefulProperty] -> ShowS
Prelude.Show)
mkEksResourceScalingUngracefulProperty ::
  Value Prelude.Double -> EksResourceScalingUngracefulProperty
mkEksResourceScalingUngracefulProperty :: Value Double -> EksResourceScalingUngracefulProperty
mkEksResourceScalingUngracefulProperty Value Double
minimumSuccessPercentage
  = EksResourceScalingUngracefulProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       minimumSuccessPercentage :: Value Double
minimumSuccessPercentage = Value Double
minimumSuccessPercentage}
instance ToResourceProperties EksResourceScalingUngracefulProperty where
  toResourceProperties :: EksResourceScalingUngracefulProperty -> ResourceProperties
toResourceProperties EksResourceScalingUngracefulProperty {()
Value Double
haddock_workaround_ :: EksResourceScalingUngracefulProperty -> ()
minimumSuccessPercentage :: EksResourceScalingUngracefulProperty -> Value Double
haddock_workaround_ :: ()
minimumSuccessPercentage :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ARCRegionSwitch::Plan.EksResourceScalingUngraceful",
         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 EksResourceScalingUngracefulProperty where
  toJSON :: EksResourceScalingUngracefulProperty -> Value
toJSON EksResourceScalingUngracefulProperty {()
Value Double
haddock_workaround_ :: EksResourceScalingUngracefulProperty -> ()
minimumSuccessPercentage :: EksResourceScalingUngracefulProperty -> 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" EksResourceScalingUngracefulProperty where
  type PropertyType "MinimumSuccessPercentage" EksResourceScalingUngracefulProperty = Value Prelude.Double
  set :: PropertyType
  "MinimumSuccessPercentage" EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty
-> EksResourceScalingUngracefulProperty
set PropertyType
  "MinimumSuccessPercentage" EksResourceScalingUngracefulProperty
newValue EksResourceScalingUngracefulProperty {()
Value Double
haddock_workaround_ :: EksResourceScalingUngracefulProperty -> ()
minimumSuccessPercentage :: EksResourceScalingUngracefulProperty -> Value Double
haddock_workaround_ :: ()
minimumSuccessPercentage :: Value Double
..}
    = EksResourceScalingUngracefulProperty
        {minimumSuccessPercentage :: Value Double
minimumSuccessPercentage = PropertyType
  "MinimumSuccessPercentage" EksResourceScalingUngracefulProperty
Value Double
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}