module Stratosphere.ECS.CapacityProvider.ManagedInstancesStorageConfigurationProperty (
        ManagedInstancesStorageConfigurationProperty(..),
        mkManagedInstancesStorageConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ManagedInstancesStorageConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html>
    ManagedInstancesStorageConfigurationProperty {ManagedInstancesStorageConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html#cfn-ecs-capacityprovider-managedinstancesstorageconfiguration-storagesizegib>
                                                  ManagedInstancesStorageConfigurationProperty -> Value Integer
storageSizeGiB :: (Value Prelude.Integer)}
  deriving stock (ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty -> Bool
(ManagedInstancesStorageConfigurationProperty
 -> ManagedInstancesStorageConfigurationProperty -> Bool)
-> (ManagedInstancesStorageConfigurationProperty
    -> ManagedInstancesStorageConfigurationProperty -> Bool)
-> Eq ManagedInstancesStorageConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty -> Bool
== :: ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty -> Bool
$c/= :: ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty -> Bool
/= :: ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty -> Bool
Prelude.Eq, Int -> ManagedInstancesStorageConfigurationProperty -> ShowS
[ManagedInstancesStorageConfigurationProperty] -> ShowS
ManagedInstancesStorageConfigurationProperty -> String
(Int -> ManagedInstancesStorageConfigurationProperty -> ShowS)
-> (ManagedInstancesStorageConfigurationProperty -> String)
-> ([ManagedInstancesStorageConfigurationProperty] -> ShowS)
-> Show ManagedInstancesStorageConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ManagedInstancesStorageConfigurationProperty -> ShowS
showsPrec :: Int -> ManagedInstancesStorageConfigurationProperty -> ShowS
$cshow :: ManagedInstancesStorageConfigurationProperty -> String
show :: ManagedInstancesStorageConfigurationProperty -> String
$cshowList :: [ManagedInstancesStorageConfigurationProperty] -> ShowS
showList :: [ManagedInstancesStorageConfigurationProperty] -> ShowS
Prelude.Show)
mkManagedInstancesStorageConfigurationProperty ::
  Value Prelude.Integer
  -> ManagedInstancesStorageConfigurationProperty
mkManagedInstancesStorageConfigurationProperty :: Value Integer -> ManagedInstancesStorageConfigurationProperty
mkManagedInstancesStorageConfigurationProperty Value Integer
storageSizeGiB
  = ManagedInstancesStorageConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), storageSizeGiB :: Value Integer
storageSizeGiB = Value Integer
storageSizeGiB}
instance ToResourceProperties ManagedInstancesStorageConfigurationProperty where
  toResourceProperties :: ManagedInstancesStorageConfigurationProperty -> ResourceProperties
toResourceProperties
    ManagedInstancesStorageConfigurationProperty {()
Value Integer
haddock_workaround_ :: ManagedInstancesStorageConfigurationProperty -> ()
storageSizeGiB :: ManagedInstancesStorageConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
storageSizeGiB :: Value Integer
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ECS::CapacityProvider.ManagedInstancesStorageConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"StorageSizeGiB" 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
storageSizeGiB]}
instance JSON.ToJSON ManagedInstancesStorageConfigurationProperty where
  toJSON :: ManagedInstancesStorageConfigurationProperty -> Value
toJSON ManagedInstancesStorageConfigurationProperty {()
Value Integer
haddock_workaround_ :: ManagedInstancesStorageConfigurationProperty -> ()
storageSizeGiB :: ManagedInstancesStorageConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
storageSizeGiB :: Value Integer
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"StorageSizeGiB" 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
storageSizeGiB]
instance Property "StorageSizeGiB" ManagedInstancesStorageConfigurationProperty where
  type PropertyType "StorageSizeGiB" ManagedInstancesStorageConfigurationProperty = Value Prelude.Integer
  set :: PropertyType
  "StorageSizeGiB" ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty
-> ManagedInstancesStorageConfigurationProperty
set PropertyType
  "StorageSizeGiB" ManagedInstancesStorageConfigurationProperty
newValue ManagedInstancesStorageConfigurationProperty {()
Value Integer
haddock_workaround_ :: ManagedInstancesStorageConfigurationProperty -> ()
storageSizeGiB :: ManagedInstancesStorageConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
storageSizeGiB :: Value Integer
..}
    = ManagedInstancesStorageConfigurationProperty
        {storageSizeGiB :: Value Integer
storageSizeGiB = PropertyType
  "StorageSizeGiB" ManagedInstancesStorageConfigurationProperty
Value Integer
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}