{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.AutoScalingPlans.Types.ScalingInstruction where
import Amazonka.AutoScalingPlans.Types.CustomizedLoadMetricSpecification
import Amazonka.AutoScalingPlans.Types.PredefinedLoadMetricSpecification
import Amazonka.AutoScalingPlans.Types.PredictiveScalingMaxCapacityBehavior
import Amazonka.AutoScalingPlans.Types.PredictiveScalingMode
import Amazonka.AutoScalingPlans.Types.ScalableDimension
import Amazonka.AutoScalingPlans.Types.ScalingPolicyUpdateBehavior
import Amazonka.AutoScalingPlans.Types.ServiceNamespace
import Amazonka.AutoScalingPlans.Types.TargetTrackingConfiguration
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
data ScalingInstruction = ScalingInstruction'
{
ScalingInstruction -> Maybe Natural
scheduledActionBufferTime :: Prelude.Maybe Prelude.Natural,
ScalingInstruction -> Maybe Int
predictiveScalingMaxCapacityBuffer :: Prelude.Maybe Prelude.Int,
ScalingInstruction -> Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior :: Prelude.Maybe ScalingPolicyUpdateBehavior,
ScalingInstruction -> Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification :: Prelude.Maybe CustomizedLoadMetricSpecification,
ScalingInstruction -> Maybe PredictiveScalingMode
predictiveScalingMode :: Prelude.Maybe PredictiveScalingMode,
ScalingInstruction -> Maybe Bool
disableDynamicScaling :: Prelude.Maybe Prelude.Bool,
ScalingInstruction -> Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior :: Prelude.Maybe PredictiveScalingMaxCapacityBehavior,
ScalingInstruction -> Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification :: Prelude.Maybe PredefinedLoadMetricSpecification,
ScalingInstruction -> ServiceNamespace
serviceNamespace :: ServiceNamespace,
ScalingInstruction -> Text
resourceId :: Prelude.Text,
ScalingInstruction -> ScalableDimension
scalableDimension :: ScalableDimension,
ScalingInstruction -> Int
minCapacity :: Prelude.Int,
ScalingInstruction -> Int
maxCapacity :: Prelude.Int,
ScalingInstruction -> [TargetTrackingConfiguration]
targetTrackingConfigurations :: [TargetTrackingConfiguration]
}
deriving (ScalingInstruction -> ScalingInstruction -> Bool
(ScalingInstruction -> ScalingInstruction -> Bool)
-> (ScalingInstruction -> ScalingInstruction -> Bool)
-> Eq ScalingInstruction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ScalingInstruction -> ScalingInstruction -> Bool
$c/= :: ScalingInstruction -> ScalingInstruction -> Bool
== :: ScalingInstruction -> ScalingInstruction -> Bool
$c== :: ScalingInstruction -> ScalingInstruction -> Bool
Prelude.Eq, ReadPrec [ScalingInstruction]
ReadPrec ScalingInstruction
Int -> ReadS ScalingInstruction
ReadS [ScalingInstruction]
(Int -> ReadS ScalingInstruction)
-> ReadS [ScalingInstruction]
-> ReadPrec ScalingInstruction
-> ReadPrec [ScalingInstruction]
-> Read ScalingInstruction
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ScalingInstruction]
$creadListPrec :: ReadPrec [ScalingInstruction]
readPrec :: ReadPrec ScalingInstruction
$creadPrec :: ReadPrec ScalingInstruction
readList :: ReadS [ScalingInstruction]
$creadList :: ReadS [ScalingInstruction]
readsPrec :: Int -> ReadS ScalingInstruction
$creadsPrec :: Int -> ReadS ScalingInstruction
Prelude.Read, Int -> ScalingInstruction -> ShowS
[ScalingInstruction] -> ShowS
ScalingInstruction -> String
(Int -> ScalingInstruction -> ShowS)
-> (ScalingInstruction -> String)
-> ([ScalingInstruction] -> ShowS)
-> Show ScalingInstruction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ScalingInstruction] -> ShowS
$cshowList :: [ScalingInstruction] -> ShowS
show :: ScalingInstruction -> String
$cshow :: ScalingInstruction -> String
showsPrec :: Int -> ScalingInstruction -> ShowS
$cshowsPrec :: Int -> ScalingInstruction -> ShowS
Prelude.Show, (forall x. ScalingInstruction -> Rep ScalingInstruction x)
-> (forall x. Rep ScalingInstruction x -> ScalingInstruction)
-> Generic ScalingInstruction
forall x. Rep ScalingInstruction x -> ScalingInstruction
forall x. ScalingInstruction -> Rep ScalingInstruction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ScalingInstruction x -> ScalingInstruction
$cfrom :: forall x. ScalingInstruction -> Rep ScalingInstruction x
Prelude.Generic)
newScalingInstruction ::
ServiceNamespace ->
Prelude.Text ->
ScalableDimension ->
Prelude.Int ->
Prelude.Int ->
ScalingInstruction
newScalingInstruction :: ServiceNamespace
-> Text -> ScalableDimension -> Int -> Int -> ScalingInstruction
newScalingInstruction
ServiceNamespace
pServiceNamespace_
Text
pResourceId_
ScalableDimension
pScalableDimension_
Int
pMinCapacity_
Int
pMaxCapacity_ =
ScalingInstruction' :: Maybe Natural
-> Maybe Int
-> Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction
ScalingInstruction'
{ $sel:scheduledActionBufferTime:ScalingInstruction' :: Maybe Natural
scheduledActionBufferTime =
Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:predictiveScalingMaxCapacityBuffer:ScalingInstruction' :: Maybe Int
predictiveScalingMaxCapacityBuffer = Maybe Int
forall a. Maybe a
Prelude.Nothing,
$sel:scalingPolicyUpdateBehavior:ScalingInstruction' :: Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior = Maybe ScalingPolicyUpdateBehavior
forall a. Maybe a
Prelude.Nothing,
$sel:customizedLoadMetricSpecification:ScalingInstruction' :: Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification = Maybe CustomizedLoadMetricSpecification
forall a. Maybe a
Prelude.Nothing,
$sel:predictiveScalingMode:ScalingInstruction' :: Maybe PredictiveScalingMode
predictiveScalingMode = Maybe PredictiveScalingMode
forall a. Maybe a
Prelude.Nothing,
$sel:disableDynamicScaling:ScalingInstruction' :: Maybe Bool
disableDynamicScaling = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
$sel:predictiveScalingMaxCapacityBehavior:ScalingInstruction' :: Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior =
Maybe PredictiveScalingMaxCapacityBehavior
forall a. Maybe a
Prelude.Nothing,
$sel:predefinedLoadMetricSpecification:ScalingInstruction' :: Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification = Maybe PredefinedLoadMetricSpecification
forall a. Maybe a
Prelude.Nothing,
$sel:serviceNamespace:ScalingInstruction' :: ServiceNamespace
serviceNamespace = ServiceNamespace
pServiceNamespace_,
$sel:resourceId:ScalingInstruction' :: Text
resourceId = Text
pResourceId_,
$sel:scalableDimension:ScalingInstruction' :: ScalableDimension
scalableDimension = ScalableDimension
pScalableDimension_,
$sel:minCapacity:ScalingInstruction' :: Int
minCapacity = Int
pMinCapacity_,
$sel:maxCapacity:ScalingInstruction' :: Int
maxCapacity = Int
pMaxCapacity_,
$sel:targetTrackingConfigurations:ScalingInstruction' :: [TargetTrackingConfiguration]
targetTrackingConfigurations = [TargetTrackingConfiguration]
forall a. Monoid a => a
Prelude.mempty
}
scalingInstruction_scheduledActionBufferTime :: Lens.Lens' ScalingInstruction (Prelude.Maybe Prelude.Natural)
scalingInstruction_scheduledActionBufferTime :: (Maybe Natural -> f (Maybe Natural))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_scheduledActionBufferTime = (ScalingInstruction -> Maybe Natural)
-> (ScalingInstruction -> Maybe Natural -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
(Maybe Natural)
(Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe Natural
scheduledActionBufferTime :: Maybe Natural
$sel:scheduledActionBufferTime:ScalingInstruction' :: ScalingInstruction -> Maybe Natural
scheduledActionBufferTime} -> Maybe Natural
scheduledActionBufferTime) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe Natural
a -> ScalingInstruction
s {$sel:scheduledActionBufferTime:ScalingInstruction' :: Maybe Natural
scheduledActionBufferTime = Maybe Natural
a} :: ScalingInstruction)
scalingInstruction_predictiveScalingMaxCapacityBuffer :: Lens.Lens' ScalingInstruction (Prelude.Maybe Prelude.Int)
scalingInstruction_predictiveScalingMaxCapacityBuffer :: (Maybe Int -> f (Maybe Int))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_predictiveScalingMaxCapacityBuffer = (ScalingInstruction -> Maybe Int)
-> (ScalingInstruction -> Maybe Int -> ScalingInstruction)
-> Lens
ScalingInstruction ScalingInstruction (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe Int
predictiveScalingMaxCapacityBuffer :: Maybe Int
$sel:predictiveScalingMaxCapacityBuffer:ScalingInstruction' :: ScalingInstruction -> Maybe Int
predictiveScalingMaxCapacityBuffer} -> Maybe Int
predictiveScalingMaxCapacityBuffer) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe Int
a -> ScalingInstruction
s {$sel:predictiveScalingMaxCapacityBuffer:ScalingInstruction' :: Maybe Int
predictiveScalingMaxCapacityBuffer = Maybe Int
a} :: ScalingInstruction)
scalingInstruction_scalingPolicyUpdateBehavior :: Lens.Lens' ScalingInstruction (Prelude.Maybe ScalingPolicyUpdateBehavior)
scalingInstruction_scalingPolicyUpdateBehavior :: (Maybe ScalingPolicyUpdateBehavior
-> f (Maybe ScalingPolicyUpdateBehavior))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_scalingPolicyUpdateBehavior = (ScalingInstruction -> Maybe ScalingPolicyUpdateBehavior)
-> (ScalingInstruction
-> Maybe ScalingPolicyUpdateBehavior -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
(Maybe ScalingPolicyUpdateBehavior)
(Maybe ScalingPolicyUpdateBehavior)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior :: Maybe ScalingPolicyUpdateBehavior
$sel:scalingPolicyUpdateBehavior:ScalingInstruction' :: ScalingInstruction -> Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior} -> Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe ScalingPolicyUpdateBehavior
a -> ScalingInstruction
s {$sel:scalingPolicyUpdateBehavior:ScalingInstruction' :: Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior = Maybe ScalingPolicyUpdateBehavior
a} :: ScalingInstruction)
scalingInstruction_customizedLoadMetricSpecification :: Lens.Lens' ScalingInstruction (Prelude.Maybe CustomizedLoadMetricSpecification)
scalingInstruction_customizedLoadMetricSpecification :: (Maybe CustomizedLoadMetricSpecification
-> f (Maybe CustomizedLoadMetricSpecification))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_customizedLoadMetricSpecification = (ScalingInstruction -> Maybe CustomizedLoadMetricSpecification)
-> (ScalingInstruction
-> Maybe CustomizedLoadMetricSpecification -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
(Maybe CustomizedLoadMetricSpecification)
(Maybe CustomizedLoadMetricSpecification)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification :: Maybe CustomizedLoadMetricSpecification
$sel:customizedLoadMetricSpecification:ScalingInstruction' :: ScalingInstruction -> Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification} -> Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe CustomizedLoadMetricSpecification
a -> ScalingInstruction
s {$sel:customizedLoadMetricSpecification:ScalingInstruction' :: Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification = Maybe CustomizedLoadMetricSpecification
a} :: ScalingInstruction)
scalingInstruction_predictiveScalingMode :: Lens.Lens' ScalingInstruction (Prelude.Maybe PredictiveScalingMode)
scalingInstruction_predictiveScalingMode :: (Maybe PredictiveScalingMode -> f (Maybe PredictiveScalingMode))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_predictiveScalingMode = (ScalingInstruction -> Maybe PredictiveScalingMode)
-> (ScalingInstruction
-> Maybe PredictiveScalingMode -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
(Maybe PredictiveScalingMode)
(Maybe PredictiveScalingMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe PredictiveScalingMode
predictiveScalingMode :: Maybe PredictiveScalingMode
$sel:predictiveScalingMode:ScalingInstruction' :: ScalingInstruction -> Maybe PredictiveScalingMode
predictiveScalingMode} -> Maybe PredictiveScalingMode
predictiveScalingMode) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe PredictiveScalingMode
a -> ScalingInstruction
s {$sel:predictiveScalingMode:ScalingInstruction' :: Maybe PredictiveScalingMode
predictiveScalingMode = Maybe PredictiveScalingMode
a} :: ScalingInstruction)
scalingInstruction_disableDynamicScaling :: Lens.Lens' ScalingInstruction (Prelude.Maybe Prelude.Bool)
scalingInstruction_disableDynamicScaling :: (Maybe Bool -> f (Maybe Bool))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_disableDynamicScaling = (ScalingInstruction -> Maybe Bool)
-> (ScalingInstruction -> Maybe Bool -> ScalingInstruction)
-> Lens
ScalingInstruction ScalingInstruction (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe Bool
disableDynamicScaling :: Maybe Bool
$sel:disableDynamicScaling:ScalingInstruction' :: ScalingInstruction -> Maybe Bool
disableDynamicScaling} -> Maybe Bool
disableDynamicScaling) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe Bool
a -> ScalingInstruction
s {$sel:disableDynamicScaling:ScalingInstruction' :: Maybe Bool
disableDynamicScaling = Maybe Bool
a} :: ScalingInstruction)
scalingInstruction_predictiveScalingMaxCapacityBehavior :: Lens.Lens' ScalingInstruction (Prelude.Maybe PredictiveScalingMaxCapacityBehavior)
scalingInstruction_predictiveScalingMaxCapacityBehavior :: (Maybe PredictiveScalingMaxCapacityBehavior
-> f (Maybe PredictiveScalingMaxCapacityBehavior))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_predictiveScalingMaxCapacityBehavior = (ScalingInstruction -> Maybe PredictiveScalingMaxCapacityBehavior)
-> (ScalingInstruction
-> Maybe PredictiveScalingMaxCapacityBehavior
-> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
(Maybe PredictiveScalingMaxCapacityBehavior)
(Maybe PredictiveScalingMaxCapacityBehavior)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior :: Maybe PredictiveScalingMaxCapacityBehavior
$sel:predictiveScalingMaxCapacityBehavior:ScalingInstruction' :: ScalingInstruction -> Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior} -> Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe PredictiveScalingMaxCapacityBehavior
a -> ScalingInstruction
s {$sel:predictiveScalingMaxCapacityBehavior:ScalingInstruction' :: Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior = Maybe PredictiveScalingMaxCapacityBehavior
a} :: ScalingInstruction)
scalingInstruction_predefinedLoadMetricSpecification :: Lens.Lens' ScalingInstruction (Prelude.Maybe PredefinedLoadMetricSpecification)
scalingInstruction_predefinedLoadMetricSpecification :: (Maybe PredefinedLoadMetricSpecification
-> f (Maybe PredefinedLoadMetricSpecification))
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_predefinedLoadMetricSpecification = (ScalingInstruction -> Maybe PredefinedLoadMetricSpecification)
-> (ScalingInstruction
-> Maybe PredefinedLoadMetricSpecification -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
(Maybe PredefinedLoadMetricSpecification)
(Maybe PredefinedLoadMetricSpecification)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification :: Maybe PredefinedLoadMetricSpecification
$sel:predefinedLoadMetricSpecification:ScalingInstruction' :: ScalingInstruction -> Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification} -> Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification) (\s :: ScalingInstruction
s@ScalingInstruction' {} Maybe PredefinedLoadMetricSpecification
a -> ScalingInstruction
s {$sel:predefinedLoadMetricSpecification:ScalingInstruction' :: Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification = Maybe PredefinedLoadMetricSpecification
a} :: ScalingInstruction)
scalingInstruction_serviceNamespace :: Lens.Lens' ScalingInstruction ServiceNamespace
scalingInstruction_serviceNamespace :: (ServiceNamespace -> f ServiceNamespace)
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_serviceNamespace = (ScalingInstruction -> ServiceNamespace)
-> (ScalingInstruction -> ServiceNamespace -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
ServiceNamespace
ServiceNamespace
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {ServiceNamespace
serviceNamespace :: ServiceNamespace
$sel:serviceNamespace:ScalingInstruction' :: ScalingInstruction -> ServiceNamespace
serviceNamespace} -> ServiceNamespace
serviceNamespace) (\s :: ScalingInstruction
s@ScalingInstruction' {} ServiceNamespace
a -> ScalingInstruction
s {$sel:serviceNamespace:ScalingInstruction' :: ServiceNamespace
serviceNamespace = ServiceNamespace
a} :: ScalingInstruction)
scalingInstruction_resourceId :: Lens.Lens' ScalingInstruction Prelude.Text
scalingInstruction_resourceId :: (Text -> f Text) -> ScalingInstruction -> f ScalingInstruction
scalingInstruction_resourceId = (ScalingInstruction -> Text)
-> (ScalingInstruction -> Text -> ScalingInstruction)
-> Lens ScalingInstruction ScalingInstruction Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Text
resourceId :: Text
$sel:resourceId:ScalingInstruction' :: ScalingInstruction -> Text
resourceId} -> Text
resourceId) (\s :: ScalingInstruction
s@ScalingInstruction' {} Text
a -> ScalingInstruction
s {$sel:resourceId:ScalingInstruction' :: Text
resourceId = Text
a} :: ScalingInstruction)
scalingInstruction_scalableDimension :: Lens.Lens' ScalingInstruction ScalableDimension
scalingInstruction_scalableDimension :: (ScalableDimension -> f ScalableDimension)
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_scalableDimension = (ScalingInstruction -> ScalableDimension)
-> (ScalingInstruction -> ScalableDimension -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
ScalableDimension
ScalableDimension
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {ScalableDimension
scalableDimension :: ScalableDimension
$sel:scalableDimension:ScalingInstruction' :: ScalingInstruction -> ScalableDimension
scalableDimension} -> ScalableDimension
scalableDimension) (\s :: ScalingInstruction
s@ScalingInstruction' {} ScalableDimension
a -> ScalingInstruction
s {$sel:scalableDimension:ScalingInstruction' :: ScalableDimension
scalableDimension = ScalableDimension
a} :: ScalingInstruction)
scalingInstruction_minCapacity :: Lens.Lens' ScalingInstruction Prelude.Int
scalingInstruction_minCapacity :: (Int -> f Int) -> ScalingInstruction -> f ScalingInstruction
scalingInstruction_minCapacity = (ScalingInstruction -> Int)
-> (ScalingInstruction -> Int -> ScalingInstruction)
-> Lens ScalingInstruction ScalingInstruction Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Int
minCapacity :: Int
$sel:minCapacity:ScalingInstruction' :: ScalingInstruction -> Int
minCapacity} -> Int
minCapacity) (\s :: ScalingInstruction
s@ScalingInstruction' {} Int
a -> ScalingInstruction
s {$sel:minCapacity:ScalingInstruction' :: Int
minCapacity = Int
a} :: ScalingInstruction)
scalingInstruction_maxCapacity :: Lens.Lens' ScalingInstruction Prelude.Int
scalingInstruction_maxCapacity :: (Int -> f Int) -> ScalingInstruction -> f ScalingInstruction
scalingInstruction_maxCapacity = (ScalingInstruction -> Int)
-> (ScalingInstruction -> Int -> ScalingInstruction)
-> Lens ScalingInstruction ScalingInstruction Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {Int
maxCapacity :: Int
$sel:maxCapacity:ScalingInstruction' :: ScalingInstruction -> Int
maxCapacity} -> Int
maxCapacity) (\s :: ScalingInstruction
s@ScalingInstruction' {} Int
a -> ScalingInstruction
s {$sel:maxCapacity:ScalingInstruction' :: Int
maxCapacity = Int
a} :: ScalingInstruction)
scalingInstruction_targetTrackingConfigurations :: Lens.Lens' ScalingInstruction [TargetTrackingConfiguration]
scalingInstruction_targetTrackingConfigurations :: ([TargetTrackingConfiguration] -> f [TargetTrackingConfiguration])
-> ScalingInstruction -> f ScalingInstruction
scalingInstruction_targetTrackingConfigurations = (ScalingInstruction -> [TargetTrackingConfiguration])
-> (ScalingInstruction
-> [TargetTrackingConfiguration] -> ScalingInstruction)
-> Lens
ScalingInstruction
ScalingInstruction
[TargetTrackingConfiguration]
[TargetTrackingConfiguration]
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ScalingInstruction' {[TargetTrackingConfiguration]
targetTrackingConfigurations :: [TargetTrackingConfiguration]
$sel:targetTrackingConfigurations:ScalingInstruction' :: ScalingInstruction -> [TargetTrackingConfiguration]
targetTrackingConfigurations} -> [TargetTrackingConfiguration]
targetTrackingConfigurations) (\s :: ScalingInstruction
s@ScalingInstruction' {} [TargetTrackingConfiguration]
a -> ScalingInstruction
s {$sel:targetTrackingConfigurations:ScalingInstruction' :: [TargetTrackingConfiguration]
targetTrackingConfigurations = [TargetTrackingConfiguration]
a} :: ScalingInstruction) (([TargetTrackingConfiguration] -> f [TargetTrackingConfiguration])
-> ScalingInstruction -> f ScalingInstruction)
-> (([TargetTrackingConfiguration]
-> f [TargetTrackingConfiguration])
-> [TargetTrackingConfiguration]
-> f [TargetTrackingConfiguration])
-> ([TargetTrackingConfiguration]
-> f [TargetTrackingConfiguration])
-> ScalingInstruction
-> f ScalingInstruction
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([TargetTrackingConfiguration] -> f [TargetTrackingConfiguration])
-> [TargetTrackingConfiguration] -> f [TargetTrackingConfiguration]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.FromJSON ScalingInstruction where
parseJSON :: Value -> Parser ScalingInstruction
parseJSON =
String
-> (Object -> Parser ScalingInstruction)
-> Value
-> Parser ScalingInstruction
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"ScalingInstruction"
( \Object
x ->
Maybe Natural
-> Maybe Int
-> Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction
ScalingInstruction'
(Maybe Natural
-> Maybe Int
-> Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe Natural)
-> Parser
(Maybe Int
-> Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ScheduledActionBufferTime")
Parser
(Maybe Int
-> Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe Int)
-> Parser
(Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PredictiveScalingMaxCapacityBuffer")
Parser
(Maybe ScalingPolicyUpdateBehavior
-> Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe ScalingPolicyUpdateBehavior)
-> Parser
(Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ScalingPolicyUpdateBehavior)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ScalingPolicyUpdateBehavior")
Parser
(Maybe CustomizedLoadMetricSpecification
-> Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe CustomizedLoadMetricSpecification)
-> Parser
(Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CustomizedLoadMetricSpecification)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CustomizedLoadMetricSpecification")
Parser
(Maybe PredictiveScalingMode
-> Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe PredictiveScalingMode)
-> Parser
(Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PredictiveScalingMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PredictiveScalingMode")
Parser
(Maybe Bool
-> Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe Bool)
-> Parser
(Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DisableDynamicScaling")
Parser
(Maybe PredictiveScalingMaxCapacityBehavior
-> Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe PredictiveScalingMaxCapacityBehavior)
-> Parser
(Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe PredictiveScalingMaxCapacityBehavior)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PredictiveScalingMaxCapacityBehavior")
Parser
(Maybe PredefinedLoadMetricSpecification
-> ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser (Maybe PredefinedLoadMetricSpecification)
-> Parser
(ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PredefinedLoadMetricSpecification)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PredefinedLoadMetricSpecification")
Parser
(ServiceNamespace
-> Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser ServiceNamespace
-> Parser
(Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser ServiceNamespace
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"ServiceNamespace")
Parser
(Text
-> ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser Text
-> Parser
(ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"ResourceId")
Parser
(ScalableDimension
-> Int
-> Int
-> [TargetTrackingConfiguration]
-> ScalingInstruction)
-> Parser ScalableDimension
-> Parser
(Int -> Int -> [TargetTrackingConfiguration] -> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser ScalableDimension
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"ScalableDimension")
Parser
(Int -> Int -> [TargetTrackingConfiguration] -> ScalingInstruction)
-> Parser Int
-> Parser
(Int -> [TargetTrackingConfiguration] -> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"MinCapacity")
Parser (Int -> [TargetTrackingConfiguration] -> ScalingInstruction)
-> Parser Int
-> Parser ([TargetTrackingConfiguration] -> ScalingInstruction)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Core..: Text
"MaxCapacity")
Parser ([TargetTrackingConfiguration] -> ScalingInstruction)
-> Parser [TargetTrackingConfiguration]
-> Parser ScalingInstruction
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe [TargetTrackingConfiguration])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TargetTrackingConfigurations"
Parser (Maybe [TargetTrackingConfiguration])
-> [TargetTrackingConfiguration]
-> Parser [TargetTrackingConfiguration]
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= [TargetTrackingConfiguration]
forall a. Monoid a => a
Prelude.mempty
)
)
instance Prelude.Hashable ScalingInstruction
instance Prelude.NFData ScalingInstruction
instance Core.ToJSON ScalingInstruction where
toJSON :: ScalingInstruction -> Value
toJSON ScalingInstruction' {Int
[TargetTrackingConfiguration]
Maybe Bool
Maybe Int
Maybe Natural
Maybe CustomizedLoadMetricSpecification
Maybe PredefinedLoadMetricSpecification
Maybe PredictiveScalingMaxCapacityBehavior
Maybe PredictiveScalingMode
Maybe ScalingPolicyUpdateBehavior
Text
ScalableDimension
ServiceNamespace
targetTrackingConfigurations :: [TargetTrackingConfiguration]
maxCapacity :: Int
minCapacity :: Int
scalableDimension :: ScalableDimension
resourceId :: Text
serviceNamespace :: ServiceNamespace
predefinedLoadMetricSpecification :: Maybe PredefinedLoadMetricSpecification
predictiveScalingMaxCapacityBehavior :: Maybe PredictiveScalingMaxCapacityBehavior
disableDynamicScaling :: Maybe Bool
predictiveScalingMode :: Maybe PredictiveScalingMode
customizedLoadMetricSpecification :: Maybe CustomizedLoadMetricSpecification
scalingPolicyUpdateBehavior :: Maybe ScalingPolicyUpdateBehavior
predictiveScalingMaxCapacityBuffer :: Maybe Int
scheduledActionBufferTime :: Maybe Natural
$sel:targetTrackingConfigurations:ScalingInstruction' :: ScalingInstruction -> [TargetTrackingConfiguration]
$sel:maxCapacity:ScalingInstruction' :: ScalingInstruction -> Int
$sel:minCapacity:ScalingInstruction' :: ScalingInstruction -> Int
$sel:scalableDimension:ScalingInstruction' :: ScalingInstruction -> ScalableDimension
$sel:resourceId:ScalingInstruction' :: ScalingInstruction -> Text
$sel:serviceNamespace:ScalingInstruction' :: ScalingInstruction -> ServiceNamespace
$sel:predefinedLoadMetricSpecification:ScalingInstruction' :: ScalingInstruction -> Maybe PredefinedLoadMetricSpecification
$sel:predictiveScalingMaxCapacityBehavior:ScalingInstruction' :: ScalingInstruction -> Maybe PredictiveScalingMaxCapacityBehavior
$sel:disableDynamicScaling:ScalingInstruction' :: ScalingInstruction -> Maybe Bool
$sel:predictiveScalingMode:ScalingInstruction' :: ScalingInstruction -> Maybe PredictiveScalingMode
$sel:customizedLoadMetricSpecification:ScalingInstruction' :: ScalingInstruction -> Maybe CustomizedLoadMetricSpecification
$sel:scalingPolicyUpdateBehavior:ScalingInstruction' :: ScalingInstruction -> Maybe ScalingPolicyUpdateBehavior
$sel:predictiveScalingMaxCapacityBuffer:ScalingInstruction' :: ScalingInstruction -> Maybe Int
$sel:scheduledActionBufferTime:ScalingInstruction' :: ScalingInstruction -> Maybe Natural
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"ScheduledActionBufferTime" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
scheduledActionBufferTime,
(Text
"PredictiveScalingMaxCapacityBuffer" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
predictiveScalingMaxCapacityBuffer,
(Text
"ScalingPolicyUpdateBehavior" Text -> ScalingPolicyUpdateBehavior -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ScalingPolicyUpdateBehavior -> Pair)
-> Maybe ScalingPolicyUpdateBehavior -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScalingPolicyUpdateBehavior
scalingPolicyUpdateBehavior,
(Text
"CustomizedLoadMetricSpecification" Text -> CustomizedLoadMetricSpecification -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(CustomizedLoadMetricSpecification -> Pair)
-> Maybe CustomizedLoadMetricSpecification -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CustomizedLoadMetricSpecification
customizedLoadMetricSpecification,
(Text
"PredictiveScalingMode" Text -> PredictiveScalingMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(PredictiveScalingMode -> Pair)
-> Maybe PredictiveScalingMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PredictiveScalingMode
predictiveScalingMode,
(Text
"DisableDynamicScaling" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
disableDynamicScaling,
(Text
"PredictiveScalingMaxCapacityBehavior" Text -> PredictiveScalingMaxCapacityBehavior -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(PredictiveScalingMaxCapacityBehavior -> Pair)
-> Maybe PredictiveScalingMaxCapacityBehavior -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PredictiveScalingMaxCapacityBehavior
predictiveScalingMaxCapacityBehavior,
(Text
"PredefinedLoadMetricSpecification" Text -> PredefinedLoadMetricSpecification -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(PredefinedLoadMetricSpecification -> Pair)
-> Maybe PredefinedLoadMetricSpecification -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PredefinedLoadMetricSpecification
predefinedLoadMetricSpecification,
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
(Text
"ServiceNamespace" Text -> ServiceNamespace -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= ServiceNamespace
serviceNamespace),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"ResourceId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
resourceId),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
(Text
"ScalableDimension" Text -> ScalableDimension -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= ScalableDimension
scalableDimension),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"MinCapacity" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Int
minCapacity),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"MaxCapacity" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Int
maxCapacity),
Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
( Text
"TargetTrackingConfigurations"
Text -> [TargetTrackingConfiguration] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= [TargetTrackingConfiguration]
targetTrackingConfigurations
)
]
)