module Stratosphere.IoT.JobTemplate.ExponentialRolloutRateProperty (
module Exports, ExponentialRolloutRateProperty(..),
mkExponentialRolloutRateProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoT.JobTemplate.RateIncreaseCriteriaProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ExponentialRolloutRateProperty
=
ExponentialRolloutRateProperty {ExponentialRolloutRateProperty -> ()
haddock_workaround_ :: (),
ExponentialRolloutRateProperty -> Value Integer
baseRatePerMinute :: (Value Prelude.Integer),
ExponentialRolloutRateProperty -> Value Double
incrementFactor :: (Value Prelude.Double),
ExponentialRolloutRateProperty -> RateIncreaseCriteriaProperty
rateIncreaseCriteria :: RateIncreaseCriteriaProperty}
deriving stock (ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool
(ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool)
-> (ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool)
-> Eq ExponentialRolloutRateProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool
== :: ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool
$c/= :: ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool
/= :: ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> Bool
Prelude.Eq, Int -> ExponentialRolloutRateProperty -> ShowS
[ExponentialRolloutRateProperty] -> ShowS
ExponentialRolloutRateProperty -> String
(Int -> ExponentialRolloutRateProperty -> ShowS)
-> (ExponentialRolloutRateProperty -> String)
-> ([ExponentialRolloutRateProperty] -> ShowS)
-> Show ExponentialRolloutRateProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ExponentialRolloutRateProperty -> ShowS
showsPrec :: Int -> ExponentialRolloutRateProperty -> ShowS
$cshow :: ExponentialRolloutRateProperty -> String
show :: ExponentialRolloutRateProperty -> String
$cshowList :: [ExponentialRolloutRateProperty] -> ShowS
showList :: [ExponentialRolloutRateProperty] -> ShowS
Prelude.Show)
mkExponentialRolloutRateProperty ::
Value Prelude.Integer
-> Value Prelude.Double
-> RateIncreaseCriteriaProperty -> ExponentialRolloutRateProperty
mkExponentialRolloutRateProperty :: Value Integer
-> Value Double
-> RateIncreaseCriteriaProperty
-> ExponentialRolloutRateProperty
mkExponentialRolloutRateProperty
Value Integer
baseRatePerMinute
Value Double
incrementFactor
RateIncreaseCriteriaProperty
rateIncreaseCriteria
= ExponentialRolloutRateProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), baseRatePerMinute :: Value Integer
baseRatePerMinute = Value Integer
baseRatePerMinute,
incrementFactor :: Value Double
incrementFactor = Value Double
incrementFactor,
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
rateIncreaseCriteria = RateIncreaseCriteriaProperty
rateIncreaseCriteria}
instance ToResourceProperties ExponentialRolloutRateProperty where
toResourceProperties :: ExponentialRolloutRateProperty -> ResourceProperties
toResourceProperties ExponentialRolloutRateProperty {()
Value Double
Value Integer
RateIncreaseCriteriaProperty
haddock_workaround_ :: ExponentialRolloutRateProperty -> ()
baseRatePerMinute :: ExponentialRolloutRateProperty -> Value Integer
incrementFactor :: ExponentialRolloutRateProperty -> Value Double
rateIncreaseCriteria :: ExponentialRolloutRateProperty -> RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::IoT::JobTemplate.ExponentialRolloutRate",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"BaseRatePerMinute" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
baseRatePerMinute,
Key
"IncrementFactor" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
incrementFactor,
Key
"RateIncreaseCriteria" Key -> RateIncreaseCriteriaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RateIncreaseCriteriaProperty
rateIncreaseCriteria]}
instance JSON.ToJSON ExponentialRolloutRateProperty where
toJSON :: ExponentialRolloutRateProperty -> Value
toJSON ExponentialRolloutRateProperty {()
Value Double
Value Integer
RateIncreaseCriteriaProperty
haddock_workaround_ :: ExponentialRolloutRateProperty -> ()
baseRatePerMinute :: ExponentialRolloutRateProperty -> Value Integer
incrementFactor :: ExponentialRolloutRateProperty -> Value Double
rateIncreaseCriteria :: ExponentialRolloutRateProperty -> RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"BaseRatePerMinute" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
baseRatePerMinute,
Key
"IncrementFactor" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
incrementFactor,
Key
"RateIncreaseCriteria" Key -> RateIncreaseCriteriaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RateIncreaseCriteriaProperty
rateIncreaseCriteria]
instance Property "BaseRatePerMinute" ExponentialRolloutRateProperty where
type PropertyType "BaseRatePerMinute" ExponentialRolloutRateProperty = Value Prelude.Integer
set :: PropertyType "BaseRatePerMinute" ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> ExponentialRolloutRateProperty
set PropertyType "BaseRatePerMinute" ExponentialRolloutRateProperty
newValue ExponentialRolloutRateProperty {()
Value Double
Value Integer
RateIncreaseCriteriaProperty
haddock_workaround_ :: ExponentialRolloutRateProperty -> ()
baseRatePerMinute :: ExponentialRolloutRateProperty -> Value Integer
incrementFactor :: ExponentialRolloutRateProperty -> Value Double
rateIncreaseCriteria :: ExponentialRolloutRateProperty -> RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
= ExponentialRolloutRateProperty {baseRatePerMinute :: Value Integer
baseRatePerMinute = PropertyType "BaseRatePerMinute" ExponentialRolloutRateProperty
Value Integer
newValue, ()
Value Double
RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
instance Property "IncrementFactor" ExponentialRolloutRateProperty where
type PropertyType "IncrementFactor" ExponentialRolloutRateProperty = Value Prelude.Double
set :: PropertyType "IncrementFactor" ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> ExponentialRolloutRateProperty
set PropertyType "IncrementFactor" ExponentialRolloutRateProperty
newValue ExponentialRolloutRateProperty {()
Value Double
Value Integer
RateIncreaseCriteriaProperty
haddock_workaround_ :: ExponentialRolloutRateProperty -> ()
baseRatePerMinute :: ExponentialRolloutRateProperty -> Value Integer
incrementFactor :: ExponentialRolloutRateProperty -> Value Double
rateIncreaseCriteria :: ExponentialRolloutRateProperty -> RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
= ExponentialRolloutRateProperty {incrementFactor :: Value Double
incrementFactor = PropertyType "IncrementFactor" ExponentialRolloutRateProperty
Value Double
newValue, ()
Value Integer
RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
instance Property "RateIncreaseCriteria" ExponentialRolloutRateProperty where
type PropertyType "RateIncreaseCriteria" ExponentialRolloutRateProperty = RateIncreaseCriteriaProperty
set :: PropertyType "RateIncreaseCriteria" ExponentialRolloutRateProperty
-> ExponentialRolloutRateProperty -> ExponentialRolloutRateProperty
set PropertyType "RateIncreaseCriteria" ExponentialRolloutRateProperty
newValue ExponentialRolloutRateProperty {()
Value Double
Value Integer
RateIncreaseCriteriaProperty
haddock_workaround_ :: ExponentialRolloutRateProperty -> ()
baseRatePerMinute :: ExponentialRolloutRateProperty -> Value Integer
incrementFactor :: ExponentialRolloutRateProperty -> Value Double
rateIncreaseCriteria :: ExponentialRolloutRateProperty -> RateIncreaseCriteriaProperty
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
rateIncreaseCriteria :: RateIncreaseCriteriaProperty
..}
= ExponentialRolloutRateProperty
{rateIncreaseCriteria :: RateIncreaseCriteriaProperty
rateIncreaseCriteria = PropertyType "RateIncreaseCriteria" ExponentialRolloutRateProperty
RateIncreaseCriteriaProperty
newValue, ()
Value Double
Value Integer
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
haddock_workaround_ :: ()
baseRatePerMinute :: Value Integer
incrementFactor :: Value Double
..}