module Stratosphere.KafkaConnect.Connector.ScaleOutPolicyProperty (
        ScaleOutPolicyProperty(..), mkScaleOutPolicyProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ScaleOutPolicyProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleoutpolicy.html>
    ScaleOutPolicyProperty {ScaleOutPolicyProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kafkaconnect-connector-scaleoutpolicy.html#cfn-kafkaconnect-connector-scaleoutpolicy-cpuutilizationpercentage>
                            ScaleOutPolicyProperty -> Value Integer
cpuUtilizationPercentage :: (Value Prelude.Integer)}
  deriving stock (ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool
(ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool)
-> (ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool)
-> Eq ScaleOutPolicyProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool
== :: ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool
$c/= :: ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool
/= :: ScaleOutPolicyProperty -> ScaleOutPolicyProperty -> Bool
Prelude.Eq, Int -> ScaleOutPolicyProperty -> ShowS
[ScaleOutPolicyProperty] -> ShowS
ScaleOutPolicyProperty -> String
(Int -> ScaleOutPolicyProperty -> ShowS)
-> (ScaleOutPolicyProperty -> String)
-> ([ScaleOutPolicyProperty] -> ShowS)
-> Show ScaleOutPolicyProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ScaleOutPolicyProperty -> ShowS
showsPrec :: Int -> ScaleOutPolicyProperty -> ShowS
$cshow :: ScaleOutPolicyProperty -> String
show :: ScaleOutPolicyProperty -> String
$cshowList :: [ScaleOutPolicyProperty] -> ShowS
showList :: [ScaleOutPolicyProperty] -> ShowS
Prelude.Show)
mkScaleOutPolicyProperty ::
  Value Prelude.Integer -> ScaleOutPolicyProperty
mkScaleOutPolicyProperty :: Value Integer -> ScaleOutPolicyProperty
mkScaleOutPolicyProperty Value Integer
cpuUtilizationPercentage
  = ScaleOutPolicyProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       cpuUtilizationPercentage :: Value Integer
cpuUtilizationPercentage = Value Integer
cpuUtilizationPercentage}
instance ToResourceProperties ScaleOutPolicyProperty where
  toResourceProperties :: ScaleOutPolicyProperty -> ResourceProperties
toResourceProperties ScaleOutPolicyProperty {()
Value Integer
haddock_workaround_ :: ScaleOutPolicyProperty -> ()
cpuUtilizationPercentage :: ScaleOutPolicyProperty -> Value Integer
haddock_workaround_ :: ()
cpuUtilizationPercentage :: Value Integer
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::KafkaConnect::Connector.ScaleOutPolicy",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CpuUtilizationPercentage"
                         Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
cpuUtilizationPercentage]}
instance JSON.ToJSON ScaleOutPolicyProperty where
  toJSON :: ScaleOutPolicyProperty -> Value
toJSON ScaleOutPolicyProperty {()
Value Integer
haddock_workaround_ :: ScaleOutPolicyProperty -> ()
cpuUtilizationPercentage :: ScaleOutPolicyProperty -> Value Integer
haddock_workaround_ :: ()
cpuUtilizationPercentage :: Value Integer
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CpuUtilizationPercentage" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
cpuUtilizationPercentage]
instance Property "CpuUtilizationPercentage" ScaleOutPolicyProperty where
  type PropertyType "CpuUtilizationPercentage" ScaleOutPolicyProperty = Value Prelude.Integer
  set :: PropertyType "CpuUtilizationPercentage" ScaleOutPolicyProperty
-> ScaleOutPolicyProperty -> ScaleOutPolicyProperty
set PropertyType "CpuUtilizationPercentage" ScaleOutPolicyProperty
newValue ScaleOutPolicyProperty {()
Value Integer
haddock_workaround_ :: ScaleOutPolicyProperty -> ()
cpuUtilizationPercentage :: ScaleOutPolicyProperty -> Value Integer
haddock_workaround_ :: ()
cpuUtilizationPercentage :: Value Integer
..}
    = ScaleOutPolicyProperty {cpuUtilizationPercentage :: Value Integer
cpuUtilizationPercentage = PropertyType "CpuUtilizationPercentage" ScaleOutPolicyProperty
Value Integer
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}