module Stratosphere.ARCRegionSwitch.Plan.EksResourceScalingConfigurationProperty (
        module Exports, EksResourceScalingConfigurationProperty(..),
        mkEksResourceScalingConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ARCRegionSwitch.Plan.EksClusterProperty as Exports
import {-# SOURCE #-} Stratosphere.ARCRegionSwitch.Plan.EksResourceScalingUngracefulProperty as Exports
import {-# SOURCE #-} Stratosphere.ARCRegionSwitch.Plan.KubernetesResourceTypeProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data EksResourceScalingConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html>
    EksResourceScalingConfigurationProperty {EksResourceScalingConfigurationProperty -> ()
haddock_workaround_ :: (),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-capacitymonitoringapproach>
                                             EksResourceScalingConfigurationProperty -> Maybe Object
capacityMonitoringApproach :: (Prelude.Maybe JSON.Object),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-eksclusters>
                                             EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
eksClusters :: (Prelude.Maybe [EksClusterProperty]),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-kubernetesresourcetype>
                                             EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
kubernetesResourceType :: KubernetesResourceTypeProperty,
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-scalingresources>
                                             EksResourceScalingConfigurationProperty -> Maybe Object
scalingResources :: (Prelude.Maybe JSON.Object),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-targetpercent>
                                             EksResourceScalingConfigurationProperty -> Maybe (Value Double)
targetPercent :: (Prelude.Maybe (Value Prelude.Double)),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-timeoutminutes>
                                             EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: (Prelude.Maybe (Value Prelude.Double)),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-ungraceful>
                                             EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
ungraceful :: (Prelude.Maybe EksResourceScalingUngracefulProperty)}
  deriving stock (EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty -> Bool
(EksResourceScalingConfigurationProperty
 -> EksResourceScalingConfigurationProperty -> Bool)
-> (EksResourceScalingConfigurationProperty
    -> EksResourceScalingConfigurationProperty -> Bool)
-> Eq EksResourceScalingConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty -> Bool
== :: EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty -> Bool
$c/= :: EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty -> Bool
/= :: EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty -> Bool
Prelude.Eq, Int -> EksResourceScalingConfigurationProperty -> ShowS
[EksResourceScalingConfigurationProperty] -> ShowS
EksResourceScalingConfigurationProperty -> String
(Int -> EksResourceScalingConfigurationProperty -> ShowS)
-> (EksResourceScalingConfigurationProperty -> String)
-> ([EksResourceScalingConfigurationProperty] -> ShowS)
-> Show EksResourceScalingConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EksResourceScalingConfigurationProperty -> ShowS
showsPrec :: Int -> EksResourceScalingConfigurationProperty -> ShowS
$cshow :: EksResourceScalingConfigurationProperty -> String
show :: EksResourceScalingConfigurationProperty -> String
$cshowList :: [EksResourceScalingConfigurationProperty] -> ShowS
showList :: [EksResourceScalingConfigurationProperty] -> ShowS
Prelude.Show)
mkEksResourceScalingConfigurationProperty ::
  KubernetesResourceTypeProperty
  -> EksResourceScalingConfigurationProperty
mkEksResourceScalingConfigurationProperty :: KubernetesResourceTypeProperty
-> EksResourceScalingConfigurationProperty
mkEksResourceScalingConfigurationProperty KubernetesResourceTypeProperty
kubernetesResourceType
  = EksResourceScalingConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       kubernetesResourceType :: KubernetesResourceTypeProperty
kubernetesResourceType = KubernetesResourceTypeProperty
kubernetesResourceType,
       capacityMonitoringApproach :: Maybe Object
capacityMonitoringApproach = Maybe Object
forall a. Maybe a
Prelude.Nothing,
       eksClusters :: Maybe [EksClusterProperty]
eksClusters = Maybe [EksClusterProperty]
forall a. Maybe a
Prelude.Nothing, scalingResources :: Maybe Object
scalingResources = Maybe Object
forall a. Maybe a
Prelude.Nothing,
       targetPercent :: Maybe (Value Double)
targetPercent = Maybe (Value Double)
forall a. Maybe a
Prelude.Nothing, timeoutMinutes :: Maybe (Value Double)
timeoutMinutes = Maybe (Value Double)
forall a. Maybe a
Prelude.Nothing,
       ungraceful :: Maybe EksResourceScalingUngracefulProperty
ungraceful = Maybe EksResourceScalingUngracefulProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties EksResourceScalingConfigurationProperty where
  toResourceProperties :: EksResourceScalingConfigurationProperty -> ResourceProperties
toResourceProperties EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ARCRegionSwitch::Plan.EksResourceScalingConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [Key
"KubernetesResourceType" Key -> KubernetesResourceTypeProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= KubernetesResourceTypeProperty
kubernetesResourceType]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CapacityMonitoringApproach"
                                 (Object -> (Key, Value)) -> Maybe Object -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Object
capacityMonitoringApproach,
                               Key -> [EksClusterProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EksClusters" ([EksClusterProperty] -> (Key, Value))
-> Maybe [EksClusterProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [EksClusterProperty]
eksClusters,
                               Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ScalingResources" (Object -> (Key, Value)) -> Maybe Object -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Object
scalingResources,
                               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..=) Key
"TargetPercent" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
targetPercent,
                               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..=) Key
"TimeoutMinutes" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
timeoutMinutes,
                               Key -> EksResourceScalingUngracefulProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ungraceful" (EksResourceScalingUngracefulProperty -> (Key, Value))
-> Maybe EksResourceScalingUngracefulProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EksResourceScalingUngracefulProperty
ungraceful]))}
instance JSON.ToJSON EksResourceScalingConfigurationProperty where
  toJSON :: EksResourceScalingConfigurationProperty -> Value
toJSON EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [Key
"KubernetesResourceType" Key -> KubernetesResourceTypeProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= KubernetesResourceTypeProperty
kubernetesResourceType]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CapacityMonitoringApproach"
                    (Object -> (Key, Value)) -> Maybe Object -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Object
capacityMonitoringApproach,
                  Key -> [EksClusterProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EksClusters" ([EksClusterProperty] -> (Key, Value))
-> Maybe [EksClusterProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [EksClusterProperty]
eksClusters,
                  Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ScalingResources" (Object -> (Key, Value)) -> Maybe Object -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Object
scalingResources,
                  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..=) Key
"TargetPercent" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
targetPercent,
                  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..=) Key
"TimeoutMinutes" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
timeoutMinutes,
                  Key -> EksResourceScalingUngracefulProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ungraceful" (EksResourceScalingUngracefulProperty -> (Key, Value))
-> Maybe EksResourceScalingUngracefulProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EksResourceScalingUngracefulProperty
ungraceful])))
instance Property "CapacityMonitoringApproach" EksResourceScalingConfigurationProperty where
  type PropertyType "CapacityMonitoringApproach" EksResourceScalingConfigurationProperty = JSON.Object
  set :: PropertyType
  "CapacityMonitoringApproach"
  EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType
  "CapacityMonitoringApproach"
  EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {capacityMonitoringApproach :: Maybe Object
capacityMonitoringApproach = Object -> Maybe Object
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure Object
PropertyType
  "CapacityMonitoringApproach"
  EksResourceScalingConfigurationProperty
newValue, Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: ()
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
instance Property "EksClusters" EksResourceScalingConfigurationProperty where
  type PropertyType "EksClusters" EksResourceScalingConfigurationProperty = [EksClusterProperty]
  set :: PropertyType "EksClusters" EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType "EksClusters" EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {eksClusters :: Maybe [EksClusterProperty]
eksClusters = [EksClusterProperty] -> Maybe [EksClusterProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [EksClusterProperty]
PropertyType "EksClusters" EksResourceScalingConfigurationProperty
newValue, Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
instance Property "KubernetesResourceType" EksResourceScalingConfigurationProperty where
  type PropertyType "KubernetesResourceType" EksResourceScalingConfigurationProperty = KubernetesResourceTypeProperty
  set :: PropertyType
  "KubernetesResourceType" EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType
  "KubernetesResourceType" EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {kubernetesResourceType :: KubernetesResourceTypeProperty
kubernetesResourceType = PropertyType
  "KubernetesResourceType" EksResourceScalingConfigurationProperty
KubernetesResourceTypeProperty
newValue, Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
instance Property "ScalingResources" EksResourceScalingConfigurationProperty where
  type PropertyType "ScalingResources" EksResourceScalingConfigurationProperty = JSON.Object
  set :: PropertyType
  "ScalingResources" EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType
  "ScalingResources" EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {scalingResources :: Maybe Object
scalingResources = Object -> Maybe Object
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure Object
PropertyType
  "ScalingResources" EksResourceScalingConfigurationProperty
newValue, Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
instance Property "TargetPercent" EksResourceScalingConfigurationProperty where
  type PropertyType "TargetPercent" EksResourceScalingConfigurationProperty = Value Prelude.Double
  set :: PropertyType
  "TargetPercent" EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType
  "TargetPercent" EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {targetPercent :: Maybe (Value Double)
targetPercent = Value Double -> Maybe (Value Double)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "TargetPercent" EksResourceScalingConfigurationProperty
Value Double
newValue, Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
instance Property "TimeoutMinutes" EksResourceScalingConfigurationProperty where
  type PropertyType "TimeoutMinutes" EksResourceScalingConfigurationProperty = Value Prelude.Double
  set :: PropertyType
  "TimeoutMinutes" EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType
  "TimeoutMinutes" EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {timeoutMinutes :: Maybe (Value Double)
timeoutMinutes = Value Double -> Maybe (Value Double)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "TimeoutMinutes" EksResourceScalingConfigurationProperty
Value Double
newValue, Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
instance Property "Ungraceful" EksResourceScalingConfigurationProperty where
  type PropertyType "Ungraceful" EksResourceScalingConfigurationProperty = EksResourceScalingUngracefulProperty
  set :: PropertyType "Ungraceful" EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
-> EksResourceScalingConfigurationProperty
set PropertyType "Ungraceful" EksResourceScalingConfigurationProperty
newValue EksResourceScalingConfigurationProperty {Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
Maybe EksResourceScalingUngracefulProperty
()
KubernetesResourceTypeProperty
haddock_workaround_ :: EksResourceScalingConfigurationProperty -> ()
capacityMonitoringApproach :: EksResourceScalingConfigurationProperty -> Maybe Object
eksClusters :: EksResourceScalingConfigurationProperty
-> Maybe [EksClusterProperty]
kubernetesResourceType :: EksResourceScalingConfigurationProperty
-> KubernetesResourceTypeProperty
scalingResources :: EksResourceScalingConfigurationProperty -> Maybe Object
targetPercent :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
timeoutMinutes :: EksResourceScalingConfigurationProperty -> Maybe (Value Double)
ungraceful :: EksResourceScalingConfigurationProperty
-> Maybe EksResourceScalingUngracefulProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
ungraceful :: Maybe EksResourceScalingUngracefulProperty
..}
    = EksResourceScalingConfigurationProperty
        {ungraceful :: Maybe EksResourceScalingUngracefulProperty
ungraceful = EksResourceScalingUngracefulProperty
-> Maybe EksResourceScalingUngracefulProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Ungraceful" EksResourceScalingConfigurationProperty
EksResourceScalingUngracefulProperty
newValue, Maybe [EksClusterProperty]
Maybe Object
Maybe (Value Double)
()
KubernetesResourceTypeProperty
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
haddock_workaround_ :: ()
capacityMonitoringApproach :: Maybe Object
eksClusters :: Maybe [EksClusterProperty]
kubernetesResourceType :: KubernetesResourceTypeProperty
scalingResources :: Maybe Object
targetPercent :: Maybe (Value Double)
timeoutMinutes :: Maybe (Value Double)
..}