module Stratosphere.Lambda.Version.ProvisionedConcurrencyConfigurationProperty (
        ProvisionedConcurrencyConfigurationProperty(..),
        mkProvisionedConcurrencyConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ProvisionedConcurrencyConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html>
    ProvisionedConcurrencyConfigurationProperty {ProvisionedConcurrencyConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html#cfn-lambda-version-provisionedconcurrencyconfiguration-provisionedconcurrentexecutions>
                                                 ProvisionedConcurrencyConfigurationProperty -> Value Integer
provisionedConcurrentExecutions :: (Value Prelude.Integer)}
  deriving stock (ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty -> Bool
(ProvisionedConcurrencyConfigurationProperty
 -> ProvisionedConcurrencyConfigurationProperty -> Bool)
-> (ProvisionedConcurrencyConfigurationProperty
    -> ProvisionedConcurrencyConfigurationProperty -> Bool)
-> Eq ProvisionedConcurrencyConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty -> Bool
== :: ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty -> Bool
$c/= :: ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty -> Bool
/= :: ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty -> Bool
Prelude.Eq, Int -> ProvisionedConcurrencyConfigurationProperty -> ShowS
[ProvisionedConcurrencyConfigurationProperty] -> ShowS
ProvisionedConcurrencyConfigurationProperty -> String
(Int -> ProvisionedConcurrencyConfigurationProperty -> ShowS)
-> (ProvisionedConcurrencyConfigurationProperty -> String)
-> ([ProvisionedConcurrencyConfigurationProperty] -> ShowS)
-> Show ProvisionedConcurrencyConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProvisionedConcurrencyConfigurationProperty -> ShowS
showsPrec :: Int -> ProvisionedConcurrencyConfigurationProperty -> ShowS
$cshow :: ProvisionedConcurrencyConfigurationProperty -> String
show :: ProvisionedConcurrencyConfigurationProperty -> String
$cshowList :: [ProvisionedConcurrencyConfigurationProperty] -> ShowS
showList :: [ProvisionedConcurrencyConfigurationProperty] -> ShowS
Prelude.Show)
mkProvisionedConcurrencyConfigurationProperty ::
  Value Prelude.Integer
  -> ProvisionedConcurrencyConfigurationProperty
mkProvisionedConcurrencyConfigurationProperty :: Value Integer -> ProvisionedConcurrencyConfigurationProperty
mkProvisionedConcurrencyConfigurationProperty
  Value Integer
provisionedConcurrentExecutions
  = ProvisionedConcurrencyConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       provisionedConcurrentExecutions :: Value Integer
provisionedConcurrentExecutions = Value Integer
provisionedConcurrentExecutions}
instance ToResourceProperties ProvisionedConcurrencyConfigurationProperty where
  toResourceProperties :: ProvisionedConcurrencyConfigurationProperty -> ResourceProperties
toResourceProperties
    ProvisionedConcurrencyConfigurationProperty {()
Value Integer
haddock_workaround_ :: ProvisionedConcurrencyConfigurationProperty -> ()
provisionedConcurrentExecutions :: ProvisionedConcurrencyConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
provisionedConcurrentExecutions :: Value Integer
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Lambda::Version.ProvisionedConcurrencyConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ProvisionedConcurrentExecutions"
                         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
provisionedConcurrentExecutions]}
instance JSON.ToJSON ProvisionedConcurrencyConfigurationProperty where
  toJSON :: ProvisionedConcurrencyConfigurationProperty -> Value
toJSON ProvisionedConcurrencyConfigurationProperty {()
Value Integer
haddock_workaround_ :: ProvisionedConcurrencyConfigurationProperty -> ()
provisionedConcurrentExecutions :: ProvisionedConcurrencyConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
provisionedConcurrentExecutions :: Value Integer
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ProvisionedConcurrentExecutions"
           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
provisionedConcurrentExecutions]
instance Property "ProvisionedConcurrentExecutions" ProvisionedConcurrencyConfigurationProperty where
  type PropertyType "ProvisionedConcurrentExecutions" ProvisionedConcurrencyConfigurationProperty = Value Prelude.Integer
  set :: PropertyType
  "ProvisionedConcurrentExecutions"
  ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty
-> ProvisionedConcurrencyConfigurationProperty
set PropertyType
  "ProvisionedConcurrentExecutions"
  ProvisionedConcurrencyConfigurationProperty
newValue ProvisionedConcurrencyConfigurationProperty {()
Value Integer
haddock_workaround_ :: ProvisionedConcurrencyConfigurationProperty -> ()
provisionedConcurrentExecutions :: ProvisionedConcurrencyConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
provisionedConcurrentExecutions :: Value Integer
..}
    = ProvisionedConcurrencyConfigurationProperty
        {provisionedConcurrentExecutions :: Value Integer
provisionedConcurrentExecutions = PropertyType
  "ProvisionedConcurrentExecutions"
  ProvisionedConcurrencyConfigurationProperty
Value Integer
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}