{-# 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.DynamoDB.Types.AutoScalingSettingsUpdate where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DynamoDB.Types.AttributeValue
import Amazonka.DynamoDB.Types.AutoScalingPolicyUpdate
import Amazonka.DynamoDB.Types.WriteRequest
import qualified Amazonka.Prelude as Prelude
data AutoScalingSettingsUpdate = AutoScalingSettingsUpdate'
{
AutoScalingSettingsUpdate -> Maybe Bool
autoScalingDisabled :: Prelude.Maybe Prelude.Bool,
AutoScalingSettingsUpdate -> Maybe Text
autoScalingRoleArn :: Prelude.Maybe Prelude.Text,
AutoScalingSettingsUpdate -> Maybe Natural
maximumUnits :: Prelude.Maybe Prelude.Natural,
AutoScalingSettingsUpdate -> Maybe Natural
minimumUnits :: Prelude.Maybe Prelude.Natural,
AutoScalingSettingsUpdate -> Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate :: Prelude.Maybe AutoScalingPolicyUpdate
}
deriving (AutoScalingSettingsUpdate -> AutoScalingSettingsUpdate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AutoScalingSettingsUpdate -> AutoScalingSettingsUpdate -> Bool
$c/= :: AutoScalingSettingsUpdate -> AutoScalingSettingsUpdate -> Bool
== :: AutoScalingSettingsUpdate -> AutoScalingSettingsUpdate -> Bool
$c== :: AutoScalingSettingsUpdate -> AutoScalingSettingsUpdate -> Bool
Prelude.Eq, ReadPrec [AutoScalingSettingsUpdate]
ReadPrec AutoScalingSettingsUpdate
Int -> ReadS AutoScalingSettingsUpdate
ReadS [AutoScalingSettingsUpdate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AutoScalingSettingsUpdate]
$creadListPrec :: ReadPrec [AutoScalingSettingsUpdate]
readPrec :: ReadPrec AutoScalingSettingsUpdate
$creadPrec :: ReadPrec AutoScalingSettingsUpdate
readList :: ReadS [AutoScalingSettingsUpdate]
$creadList :: ReadS [AutoScalingSettingsUpdate]
readsPrec :: Int -> ReadS AutoScalingSettingsUpdate
$creadsPrec :: Int -> ReadS AutoScalingSettingsUpdate
Prelude.Read, Int -> AutoScalingSettingsUpdate -> ShowS
[AutoScalingSettingsUpdate] -> ShowS
AutoScalingSettingsUpdate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AutoScalingSettingsUpdate] -> ShowS
$cshowList :: [AutoScalingSettingsUpdate] -> ShowS
show :: AutoScalingSettingsUpdate -> String
$cshow :: AutoScalingSettingsUpdate -> String
showsPrec :: Int -> AutoScalingSettingsUpdate -> ShowS
$cshowsPrec :: Int -> AutoScalingSettingsUpdate -> ShowS
Prelude.Show, forall x.
Rep AutoScalingSettingsUpdate x -> AutoScalingSettingsUpdate
forall x.
AutoScalingSettingsUpdate -> Rep AutoScalingSettingsUpdate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AutoScalingSettingsUpdate x -> AutoScalingSettingsUpdate
$cfrom :: forall x.
AutoScalingSettingsUpdate -> Rep AutoScalingSettingsUpdate x
Prelude.Generic)
newAutoScalingSettingsUpdate ::
AutoScalingSettingsUpdate
newAutoScalingSettingsUpdate :: AutoScalingSettingsUpdate
newAutoScalingSettingsUpdate =
AutoScalingSettingsUpdate'
{ $sel:autoScalingDisabled:AutoScalingSettingsUpdate' :: Maybe Bool
autoScalingDisabled =
forall a. Maybe a
Prelude.Nothing,
$sel:autoScalingRoleArn:AutoScalingSettingsUpdate' :: Maybe Text
autoScalingRoleArn = forall a. Maybe a
Prelude.Nothing,
$sel:maximumUnits:AutoScalingSettingsUpdate' :: Maybe Natural
maximumUnits = forall a. Maybe a
Prelude.Nothing,
$sel:minimumUnits:AutoScalingSettingsUpdate' :: Maybe Natural
minimumUnits = forall a. Maybe a
Prelude.Nothing,
$sel:scalingPolicyUpdate:AutoScalingSettingsUpdate' :: Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate = forall a. Maybe a
Prelude.Nothing
}
autoScalingSettingsUpdate_autoScalingDisabled :: Lens.Lens' AutoScalingSettingsUpdate (Prelude.Maybe Prelude.Bool)
autoScalingSettingsUpdate_autoScalingDisabled :: Lens' AutoScalingSettingsUpdate (Maybe Bool)
autoScalingSettingsUpdate_autoScalingDisabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoScalingSettingsUpdate' {Maybe Bool
autoScalingDisabled :: Maybe Bool
$sel:autoScalingDisabled:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Bool
autoScalingDisabled} -> Maybe Bool
autoScalingDisabled) (\s :: AutoScalingSettingsUpdate
s@AutoScalingSettingsUpdate' {} Maybe Bool
a -> AutoScalingSettingsUpdate
s {$sel:autoScalingDisabled:AutoScalingSettingsUpdate' :: Maybe Bool
autoScalingDisabled = Maybe Bool
a} :: AutoScalingSettingsUpdate)
autoScalingSettingsUpdate_autoScalingRoleArn :: Lens.Lens' AutoScalingSettingsUpdate (Prelude.Maybe Prelude.Text)
autoScalingSettingsUpdate_autoScalingRoleArn :: Lens' AutoScalingSettingsUpdate (Maybe Text)
autoScalingSettingsUpdate_autoScalingRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoScalingSettingsUpdate' {Maybe Text
autoScalingRoleArn :: Maybe Text
$sel:autoScalingRoleArn:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Text
autoScalingRoleArn} -> Maybe Text
autoScalingRoleArn) (\s :: AutoScalingSettingsUpdate
s@AutoScalingSettingsUpdate' {} Maybe Text
a -> AutoScalingSettingsUpdate
s {$sel:autoScalingRoleArn:AutoScalingSettingsUpdate' :: Maybe Text
autoScalingRoleArn = Maybe Text
a} :: AutoScalingSettingsUpdate)
autoScalingSettingsUpdate_maximumUnits :: Lens.Lens' AutoScalingSettingsUpdate (Prelude.Maybe Prelude.Natural)
autoScalingSettingsUpdate_maximumUnits :: Lens' AutoScalingSettingsUpdate (Maybe Natural)
autoScalingSettingsUpdate_maximumUnits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoScalingSettingsUpdate' {Maybe Natural
maximumUnits :: Maybe Natural
$sel:maximumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
maximumUnits} -> Maybe Natural
maximumUnits) (\s :: AutoScalingSettingsUpdate
s@AutoScalingSettingsUpdate' {} Maybe Natural
a -> AutoScalingSettingsUpdate
s {$sel:maximumUnits:AutoScalingSettingsUpdate' :: Maybe Natural
maximumUnits = Maybe Natural
a} :: AutoScalingSettingsUpdate)
autoScalingSettingsUpdate_minimumUnits :: Lens.Lens' AutoScalingSettingsUpdate (Prelude.Maybe Prelude.Natural)
autoScalingSettingsUpdate_minimumUnits :: Lens' AutoScalingSettingsUpdate (Maybe Natural)
autoScalingSettingsUpdate_minimumUnits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoScalingSettingsUpdate' {Maybe Natural
minimumUnits :: Maybe Natural
$sel:minimumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
minimumUnits} -> Maybe Natural
minimumUnits) (\s :: AutoScalingSettingsUpdate
s@AutoScalingSettingsUpdate' {} Maybe Natural
a -> AutoScalingSettingsUpdate
s {$sel:minimumUnits:AutoScalingSettingsUpdate' :: Maybe Natural
minimumUnits = Maybe Natural
a} :: AutoScalingSettingsUpdate)
autoScalingSettingsUpdate_scalingPolicyUpdate :: Lens.Lens' AutoScalingSettingsUpdate (Prelude.Maybe AutoScalingPolicyUpdate)
autoScalingSettingsUpdate_scalingPolicyUpdate :: Lens' AutoScalingSettingsUpdate (Maybe AutoScalingPolicyUpdate)
autoScalingSettingsUpdate_scalingPolicyUpdate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AutoScalingSettingsUpdate' {Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate :: Maybe AutoScalingPolicyUpdate
$sel:scalingPolicyUpdate:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate} -> Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate) (\s :: AutoScalingSettingsUpdate
s@AutoScalingSettingsUpdate' {} Maybe AutoScalingPolicyUpdate
a -> AutoScalingSettingsUpdate
s {$sel:scalingPolicyUpdate:AutoScalingSettingsUpdate' :: Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate = Maybe AutoScalingPolicyUpdate
a} :: AutoScalingSettingsUpdate)
instance Prelude.Hashable AutoScalingSettingsUpdate where
hashWithSalt :: Int -> AutoScalingSettingsUpdate -> Int
hashWithSalt Int
_salt AutoScalingSettingsUpdate' {Maybe Bool
Maybe Natural
Maybe Text
Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate :: Maybe AutoScalingPolicyUpdate
minimumUnits :: Maybe Natural
maximumUnits :: Maybe Natural
autoScalingRoleArn :: Maybe Text
autoScalingDisabled :: Maybe Bool
$sel:scalingPolicyUpdate:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe AutoScalingPolicyUpdate
$sel:minimumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
$sel:maximumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
$sel:autoScalingRoleArn:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Text
$sel:autoScalingDisabled:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
autoScalingDisabled
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
autoScalingRoleArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maximumUnits
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
minimumUnits
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate
instance Prelude.NFData AutoScalingSettingsUpdate where
rnf :: AutoScalingSettingsUpdate -> ()
rnf AutoScalingSettingsUpdate' {Maybe Bool
Maybe Natural
Maybe Text
Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate :: Maybe AutoScalingPolicyUpdate
minimumUnits :: Maybe Natural
maximumUnits :: Maybe Natural
autoScalingRoleArn :: Maybe Text
autoScalingDisabled :: Maybe Bool
$sel:scalingPolicyUpdate:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe AutoScalingPolicyUpdate
$sel:minimumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
$sel:maximumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
$sel:autoScalingRoleArn:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Text
$sel:autoScalingDisabled:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
autoScalingDisabled
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
autoScalingRoleArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maximumUnits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
minimumUnits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate
instance Data.ToJSON AutoScalingSettingsUpdate where
toJSON :: AutoScalingSettingsUpdate -> Value
toJSON AutoScalingSettingsUpdate' {Maybe Bool
Maybe Natural
Maybe Text
Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate :: Maybe AutoScalingPolicyUpdate
minimumUnits :: Maybe Natural
maximumUnits :: Maybe Natural
autoScalingRoleArn :: Maybe Text
autoScalingDisabled :: Maybe Bool
$sel:scalingPolicyUpdate:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe AutoScalingPolicyUpdate
$sel:minimumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
$sel:maximumUnits:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Natural
$sel:autoScalingRoleArn:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Text
$sel:autoScalingDisabled:AutoScalingSettingsUpdate' :: AutoScalingSettingsUpdate -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AutoScalingDisabled" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
autoScalingDisabled,
(Key
"AutoScalingRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
autoScalingRoleArn,
(Key
"MaximumUnits" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maximumUnits,
(Key
"MinimumUnits" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
minimumUnits,
(Key
"ScalingPolicyUpdate" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AutoScalingPolicyUpdate
scalingPolicyUpdate
]
)