module Stratosphere.AutoScaling.ScalingPolicy (
        module Exports, ScalingPolicy(..), mkScalingPolicy
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.StepAdjustmentProperty as Exports
import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingConfigurationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ScalingPolicy
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html>
    ScalingPolicy {ScalingPolicy -> ()
haddock_workaround_ :: (),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-adjustmenttype>
                   ScalingPolicy -> Maybe (Value Text)
adjustmentType :: (Prelude.Maybe (Value Prelude.Text)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-autoscalinggroupname>
                   ScalingPolicy -> Value Text
autoScalingGroupName :: (Value Prelude.Text),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-cooldown>
                   ScalingPolicy -> Maybe (Value Text)
cooldown :: (Prelude.Maybe (Value Prelude.Text)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-estimatedinstancewarmup>
                   ScalingPolicy -> Maybe (Value Integer)
estimatedInstanceWarmup :: (Prelude.Maybe (Value Prelude.Integer)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-metricaggregationtype>
                   ScalingPolicy -> Maybe (Value Text)
metricAggregationType :: (Prelude.Maybe (Value Prelude.Text)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-minadjustmentmagnitude>
                   ScalingPolicy -> Maybe (Value Integer)
minAdjustmentMagnitude :: (Prelude.Maybe (Value Prelude.Integer)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-policytype>
                   ScalingPolicy -> Maybe (Value Text)
policyType :: (Prelude.Maybe (Value Prelude.Text)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration>
                   ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
predictiveScalingConfiguration :: (Prelude.Maybe PredictiveScalingConfigurationProperty),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-scalingadjustment>
                   ScalingPolicy -> Maybe (Value Integer)
scalingAdjustment :: (Prelude.Maybe (Value Prelude.Integer)),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-stepadjustments>
                   ScalingPolicy -> Maybe [StepAdjustmentProperty]
stepAdjustments :: (Prelude.Maybe [StepAdjustmentProperty]),
                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration>
                   ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
targetTrackingConfiguration :: (Prelude.Maybe TargetTrackingConfigurationProperty)}
  deriving stock (ScalingPolicy -> ScalingPolicy -> Bool
(ScalingPolicy -> ScalingPolicy -> Bool)
-> (ScalingPolicy -> ScalingPolicy -> Bool) -> Eq ScalingPolicy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ScalingPolicy -> ScalingPolicy -> Bool
== :: ScalingPolicy -> ScalingPolicy -> Bool
$c/= :: ScalingPolicy -> ScalingPolicy -> Bool
/= :: ScalingPolicy -> ScalingPolicy -> Bool
Prelude.Eq, Int -> ScalingPolicy -> ShowS
[ScalingPolicy] -> ShowS
ScalingPolicy -> String
(Int -> ScalingPolicy -> ShowS)
-> (ScalingPolicy -> String)
-> ([ScalingPolicy] -> ShowS)
-> Show ScalingPolicy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ScalingPolicy -> ShowS
showsPrec :: Int -> ScalingPolicy -> ShowS
$cshow :: ScalingPolicy -> String
show :: ScalingPolicy -> String
$cshowList :: [ScalingPolicy] -> ShowS
showList :: [ScalingPolicy] -> ShowS
Prelude.Show)
mkScalingPolicy :: Value Prelude.Text -> ScalingPolicy
mkScalingPolicy :: Value Text -> ScalingPolicy
mkScalingPolicy Value Text
autoScalingGroupName
  = ScalingPolicy
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       autoScalingGroupName :: Value Text
autoScalingGroupName = Value Text
autoScalingGroupName,
       adjustmentType :: Maybe (Value Text)
adjustmentType = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, cooldown :: Maybe (Value Text)
cooldown = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       estimatedInstanceWarmup :: Maybe (Value Integer)
estimatedInstanceWarmup = Maybe (Value Integer)
forall a. Maybe a
Prelude.Nothing,
       metricAggregationType :: Maybe (Value Text)
metricAggregationType = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       minAdjustmentMagnitude :: Maybe (Value Integer)
minAdjustmentMagnitude = Maybe (Value Integer)
forall a. Maybe a
Prelude.Nothing,
       policyType :: Maybe (Value Text)
policyType = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
predictiveScalingConfiguration = Maybe PredictiveScalingConfigurationProperty
forall a. Maybe a
Prelude.Nothing,
       scalingAdjustment :: Maybe (Value Integer)
scalingAdjustment = Maybe (Value Integer)
forall a. Maybe a
Prelude.Nothing,
       stepAdjustments :: Maybe [StepAdjustmentProperty]
stepAdjustments = Maybe [StepAdjustmentProperty]
forall a. Maybe a
Prelude.Nothing,
       targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
targetTrackingConfiguration = Maybe TargetTrackingConfigurationProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ScalingPolicy where
  toResourceProperties :: ScalingPolicy -> ResourceProperties
toResourceProperties ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AutoScaling::ScalingPolicy",
         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
"AutoScalingGroupName" 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
autoScalingGroupName]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [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..=) Key
"AdjustmentType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
adjustmentType,
                               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..=) Key
"Cooldown" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
cooldown,
                               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..=) Key
"EstimatedInstanceWarmup"
                                 (Value Integer -> (Key, Value))
-> Maybe (Value Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Integer)
estimatedInstanceWarmup,
                               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..=) Key
"MetricAggregationType"
                                 (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
metricAggregationType,
                               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..=) Key
"MinAdjustmentMagnitude"
                                 (Value Integer -> (Key, Value))
-> Maybe (Value Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Integer)
minAdjustmentMagnitude,
                               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..=) Key
"PolicyType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
policyType,
                               Key -> PredictiveScalingConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"PredictiveScalingConfiguration"
                                 (PredictiveScalingConfigurationProperty -> (Key, Value))
-> Maybe PredictiveScalingConfigurationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PredictiveScalingConfigurationProperty
predictiveScalingConfiguration,
                               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..=) Key
"ScalingAdjustment" (Value Integer -> (Key, Value))
-> Maybe (Value Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Integer)
scalingAdjustment,
                               Key -> [StepAdjustmentProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"StepAdjustments" ([StepAdjustmentProperty] -> (Key, Value))
-> Maybe [StepAdjustmentProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [StepAdjustmentProperty]
stepAdjustments,
                               Key -> TargetTrackingConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TargetTrackingConfiguration"
                                 (TargetTrackingConfigurationProperty -> (Key, Value))
-> Maybe TargetTrackingConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TargetTrackingConfigurationProperty
targetTrackingConfiguration]))}
instance JSON.ToJSON ScalingPolicy where
  toJSON :: ScalingPolicy -> Value
toJSON ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = [(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
"AutoScalingGroupName" 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
autoScalingGroupName]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [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..=) Key
"AdjustmentType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
adjustmentType,
                  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..=) Key
"Cooldown" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
cooldown,
                  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..=) Key
"EstimatedInstanceWarmup"
                    (Value Integer -> (Key, Value))
-> Maybe (Value Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Integer)
estimatedInstanceWarmup,
                  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..=) Key
"MetricAggregationType"
                    (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
metricAggregationType,
                  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..=) Key
"MinAdjustmentMagnitude"
                    (Value Integer -> (Key, Value))
-> Maybe (Value Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Integer)
minAdjustmentMagnitude,
                  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..=) Key
"PolicyType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
policyType,
                  Key -> PredictiveScalingConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"PredictiveScalingConfiguration"
                    (PredictiveScalingConfigurationProperty -> (Key, Value))
-> Maybe PredictiveScalingConfigurationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PredictiveScalingConfigurationProperty
predictiveScalingConfiguration,
                  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..=) Key
"ScalingAdjustment" (Value Integer -> (Key, Value))
-> Maybe (Value Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Integer)
scalingAdjustment,
                  Key -> [StepAdjustmentProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"StepAdjustments" ([StepAdjustmentProperty] -> (Key, Value))
-> Maybe [StepAdjustmentProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [StepAdjustmentProperty]
stepAdjustments,
                  Key -> TargetTrackingConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TargetTrackingConfiguration"
                    (TargetTrackingConfigurationProperty -> (Key, Value))
-> Maybe TargetTrackingConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TargetTrackingConfigurationProperty
targetTrackingConfiguration])))
instance Property "AdjustmentType" ScalingPolicy where
  type PropertyType "AdjustmentType" ScalingPolicy = Value Prelude.Text
  set :: PropertyType "AdjustmentType" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "AdjustmentType" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {adjustmentType :: Maybe (Value Text)
adjustmentType = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AdjustmentType" ScalingPolicy
Value Text
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "AutoScalingGroupName" ScalingPolicy where
  type PropertyType "AutoScalingGroupName" ScalingPolicy = Value Prelude.Text
  set :: PropertyType "AutoScalingGroupName" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "AutoScalingGroupName" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {autoScalingGroupName :: Value Text
autoScalingGroupName = PropertyType "AutoScalingGroupName" ScalingPolicy
Value Text
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "Cooldown" ScalingPolicy where
  type PropertyType "Cooldown" ScalingPolicy = Value Prelude.Text
  set :: PropertyType "Cooldown" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "Cooldown" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {cooldown :: Maybe (Value Text)
cooldown = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Cooldown" ScalingPolicy
Value Text
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "EstimatedInstanceWarmup" ScalingPolicy where
  type PropertyType "EstimatedInstanceWarmup" ScalingPolicy = Value Prelude.Integer
  set :: PropertyType "EstimatedInstanceWarmup" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "EstimatedInstanceWarmup" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy
        {estimatedInstanceWarmup :: Maybe (Value Integer)
estimatedInstanceWarmup = Value Integer -> Maybe (Value Integer)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "EstimatedInstanceWarmup" ScalingPolicy
Value Integer
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "MetricAggregationType" ScalingPolicy where
  type PropertyType "MetricAggregationType" ScalingPolicy = Value Prelude.Text
  set :: PropertyType "MetricAggregationType" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "MetricAggregationType" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {metricAggregationType :: Maybe (Value Text)
metricAggregationType = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "MetricAggregationType" ScalingPolicy
Value Text
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "MinAdjustmentMagnitude" ScalingPolicy where
  type PropertyType "MinAdjustmentMagnitude" ScalingPolicy = Value Prelude.Integer
  set :: PropertyType "MinAdjustmentMagnitude" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "MinAdjustmentMagnitude" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy
        {minAdjustmentMagnitude :: Maybe (Value Integer)
minAdjustmentMagnitude = Value Integer -> Maybe (Value Integer)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "MinAdjustmentMagnitude" ScalingPolicy
Value Integer
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "PolicyType" ScalingPolicy where
  type PropertyType "PolicyType" ScalingPolicy = Value Prelude.Text
  set :: PropertyType "PolicyType" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "PolicyType" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {policyType :: Maybe (Value Text)
policyType = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "PolicyType" ScalingPolicy
Value Text
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "PredictiveScalingConfiguration" ScalingPolicy where
  type PropertyType "PredictiveScalingConfiguration" ScalingPolicy = PredictiveScalingConfigurationProperty
  set :: PropertyType "PredictiveScalingConfiguration" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "PredictiveScalingConfiguration" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy
        {predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
predictiveScalingConfiguration = PredictiveScalingConfigurationProperty
-> Maybe PredictiveScalingConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "PredictiveScalingConfiguration" ScalingPolicy
PredictiveScalingConfigurationProperty
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "ScalingAdjustment" ScalingPolicy where
  type PropertyType "ScalingAdjustment" ScalingPolicy = Value Prelude.Integer
  set :: PropertyType "ScalingAdjustment" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "ScalingAdjustment" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {scalingAdjustment :: Maybe (Value Integer)
scalingAdjustment = Value Integer -> Maybe (Value Integer)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ScalingAdjustment" ScalingPolicy
Value Integer
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "StepAdjustments" ScalingPolicy where
  type PropertyType "StepAdjustments" ScalingPolicy = [StepAdjustmentProperty]
  set :: PropertyType "StepAdjustments" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "StepAdjustments" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy {stepAdjustments :: Maybe [StepAdjustmentProperty]
stepAdjustments = [StepAdjustmentProperty] -> Maybe [StepAdjustmentProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [StepAdjustmentProperty]
PropertyType "StepAdjustments" ScalingPolicy
newValue, Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
instance Property "TargetTrackingConfiguration" ScalingPolicy where
  type PropertyType "TargetTrackingConfiguration" ScalingPolicy = TargetTrackingConfigurationProperty
  set :: PropertyType "TargetTrackingConfiguration" ScalingPolicy
-> ScalingPolicy -> ScalingPolicy
set PropertyType "TargetTrackingConfiguration" ScalingPolicy
newValue ScalingPolicy {Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
Maybe TargetTrackingConfigurationProperty
()
Value Text
haddock_workaround_ :: ScalingPolicy -> ()
adjustmentType :: ScalingPolicy -> Maybe (Value Text)
autoScalingGroupName :: ScalingPolicy -> Value Text
cooldown :: ScalingPolicy -> Maybe (Value Text)
estimatedInstanceWarmup :: ScalingPolicy -> Maybe (Value Integer)
metricAggregationType :: ScalingPolicy -> Maybe (Value Text)
minAdjustmentMagnitude :: ScalingPolicy -> Maybe (Value Integer)
policyType :: ScalingPolicy -> Maybe (Value Text)
predictiveScalingConfiguration :: ScalingPolicy -> Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: ScalingPolicy -> Maybe (Value Integer)
stepAdjustments :: ScalingPolicy -> Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: ScalingPolicy -> Maybe TargetTrackingConfigurationProperty
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
..}
    = ScalingPolicy
        {targetTrackingConfiguration :: Maybe TargetTrackingConfigurationProperty
targetTrackingConfiguration = TargetTrackingConfigurationProperty
-> Maybe TargetTrackingConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TargetTrackingConfiguration" ScalingPolicy
TargetTrackingConfigurationProperty
newValue, Maybe [StepAdjustmentProperty]
Maybe (Value Integer)
Maybe (Value Text)
Maybe PredictiveScalingConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
haddock_workaround_ :: ()
adjustmentType :: Maybe (Value Text)
autoScalingGroupName :: Value Text
cooldown :: Maybe (Value Text)
estimatedInstanceWarmup :: Maybe (Value Integer)
metricAggregationType :: Maybe (Value Text)
minAdjustmentMagnitude :: Maybe (Value Integer)
policyType :: Maybe (Value Text)
predictiveScalingConfiguration :: Maybe PredictiveScalingConfigurationProperty
scalingAdjustment :: Maybe (Value Integer)
stepAdjustments :: Maybe [StepAdjustmentProperty]
..}