module Stratosphere.Batch.ComputeEnvironment.Ec2ConfigurationObjectProperty (
        Ec2ConfigurationObjectProperty(..),
        mkEc2ConfigurationObjectProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Ec2ConfigurationObjectProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html>
    Ec2ConfigurationObjectProperty {Ec2ConfigurationObjectProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imageidoverride>
                                    Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageIdOverride :: (Prelude.Maybe (Value Prelude.Text)),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imagekubernetesversion>
                                    Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageKubernetesVersion :: (Prelude.Maybe (Value Prelude.Text)),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-ec2configurationobject.html#cfn-batch-computeenvironment-ec2configurationobject-imagetype>
                                    Ec2ConfigurationObjectProperty -> Value Text
imageType :: (Value Prelude.Text)}
  deriving stock (Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Bool
(Ec2ConfigurationObjectProperty
 -> Ec2ConfigurationObjectProperty -> Bool)
-> (Ec2ConfigurationObjectProperty
    -> Ec2ConfigurationObjectProperty -> Bool)
-> Eq Ec2ConfigurationObjectProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Bool
== :: Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Bool
$c/= :: Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Bool
/= :: Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Bool
Prelude.Eq, Int -> Ec2ConfigurationObjectProperty -> ShowS
[Ec2ConfigurationObjectProperty] -> ShowS
Ec2ConfigurationObjectProperty -> String
(Int -> Ec2ConfigurationObjectProperty -> ShowS)
-> (Ec2ConfigurationObjectProperty -> String)
-> ([Ec2ConfigurationObjectProperty] -> ShowS)
-> Show Ec2ConfigurationObjectProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Ec2ConfigurationObjectProperty -> ShowS
showsPrec :: Int -> Ec2ConfigurationObjectProperty -> ShowS
$cshow :: Ec2ConfigurationObjectProperty -> String
show :: Ec2ConfigurationObjectProperty -> String
$cshowList :: [Ec2ConfigurationObjectProperty] -> ShowS
showList :: [Ec2ConfigurationObjectProperty] -> ShowS
Prelude.Show)
mkEc2ConfigurationObjectProperty ::
  Value Prelude.Text -> Ec2ConfigurationObjectProperty
mkEc2ConfigurationObjectProperty :: Value Text -> Ec2ConfigurationObjectProperty
mkEc2ConfigurationObjectProperty Value Text
imageType
  = Ec2ConfigurationObjectProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), imageType :: Value Text
imageType = Value Text
imageType,
       imageIdOverride :: Maybe (Value Text)
imageIdOverride = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       imageKubernetesVersion :: Maybe (Value Text)
imageKubernetesVersion = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties Ec2ConfigurationObjectProperty where
  toResourceProperties :: Ec2ConfigurationObjectProperty -> ResourceProperties
toResourceProperties Ec2ConfigurationObjectProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: Ec2ConfigurationObjectProperty -> ()
imageIdOverride :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageKubernetesVersion :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageType :: Ec2ConfigurationObjectProperty -> Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [Key
"ImageType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
imageType]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ImageIdOverride" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
imageIdOverride,
                               Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ImageKubernetesVersion"
                                 (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
imageKubernetesVersion]))}
instance JSON.ToJSON Ec2ConfigurationObjectProperty where
  toJSON :: Ec2ConfigurationObjectProperty -> Value
toJSON Ec2ConfigurationObjectProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: Ec2ConfigurationObjectProperty -> ()
imageIdOverride :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageKubernetesVersion :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageType :: Ec2ConfigurationObjectProperty -> Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [Key
"ImageType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
imageType]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ImageIdOverride" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
imageIdOverride,
                  Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ImageKubernetesVersion"
                    (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
imageKubernetesVersion])))
instance Property "ImageIdOverride" Ec2ConfigurationObjectProperty where
  type PropertyType "ImageIdOverride" Ec2ConfigurationObjectProperty = Value Prelude.Text
  set :: PropertyType "ImageIdOverride" Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Ec2ConfigurationObjectProperty
set PropertyType "ImageIdOverride" Ec2ConfigurationObjectProperty
newValue Ec2ConfigurationObjectProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: Ec2ConfigurationObjectProperty -> ()
imageIdOverride :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageKubernetesVersion :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageType :: Ec2ConfigurationObjectProperty -> Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
..}
    = Ec2ConfigurationObjectProperty
        {imageIdOverride :: Maybe (Value Text)
imageIdOverride = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ImageIdOverride" Ec2ConfigurationObjectProperty
Value Text
newValue, Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
haddock_workaround_ :: ()
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
..}
instance Property "ImageKubernetesVersion" Ec2ConfigurationObjectProperty where
  type PropertyType "ImageKubernetesVersion" Ec2ConfigurationObjectProperty = Value Prelude.Text
  set :: PropertyType
  "ImageKubernetesVersion" Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Ec2ConfigurationObjectProperty
set PropertyType
  "ImageKubernetesVersion" Ec2ConfigurationObjectProperty
newValue Ec2ConfigurationObjectProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: Ec2ConfigurationObjectProperty -> ()
imageIdOverride :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageKubernetesVersion :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageType :: Ec2ConfigurationObjectProperty -> Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
..}
    = Ec2ConfigurationObjectProperty
        {imageKubernetesVersion :: Maybe (Value Text)
imageKubernetesVersion = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "ImageKubernetesVersion" Ec2ConfigurationObjectProperty
Value Text
newValue, Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageType :: Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageType :: Value Text
..}
instance Property "ImageType" Ec2ConfigurationObjectProperty where
  type PropertyType "ImageType" Ec2ConfigurationObjectProperty = Value Prelude.Text
  set :: PropertyType "ImageType" Ec2ConfigurationObjectProperty
-> Ec2ConfigurationObjectProperty -> Ec2ConfigurationObjectProperty
set PropertyType "ImageType" Ec2ConfigurationObjectProperty
newValue Ec2ConfigurationObjectProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: Ec2ConfigurationObjectProperty -> ()
imageIdOverride :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageKubernetesVersion :: Ec2ConfigurationObjectProperty -> Maybe (Value Text)
imageType :: Ec2ConfigurationObjectProperty -> Value Text
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
imageType :: Value Text
..}
    = Ec2ConfigurationObjectProperty {imageType :: Value Text
imageType = PropertyType "ImageType" Ec2ConfigurationObjectProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
haddock_workaround_ :: ()
imageIdOverride :: Maybe (Value Text)
imageKubernetesVersion :: Maybe (Value Text)
..}