module Stratosphere.EMRContainers.VirtualCluster.ContainerInfoProperty (
        module Exports, ContainerInfoProperty(..), mkContainerInfoProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.EMRContainers.VirtualCluster.EksInfoProperty as Exports
import Stratosphere.ResourceProperties
data ContainerInfoProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html>
    ContainerInfoProperty {ContainerInfoProperty -> ()
haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html#cfn-emrcontainers-virtualcluster-containerinfo-eksinfo>
                           ContainerInfoProperty -> EksInfoProperty
eksInfo :: EksInfoProperty}
  deriving stock (ContainerInfoProperty -> ContainerInfoProperty -> Bool
(ContainerInfoProperty -> ContainerInfoProperty -> Bool)
-> (ContainerInfoProperty -> ContainerInfoProperty -> Bool)
-> Eq ContainerInfoProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ContainerInfoProperty -> ContainerInfoProperty -> Bool
== :: ContainerInfoProperty -> ContainerInfoProperty -> Bool
$c/= :: ContainerInfoProperty -> ContainerInfoProperty -> Bool
/= :: ContainerInfoProperty -> ContainerInfoProperty -> Bool
Prelude.Eq, Int -> ContainerInfoProperty -> ShowS
[ContainerInfoProperty] -> ShowS
ContainerInfoProperty -> String
(Int -> ContainerInfoProperty -> ShowS)
-> (ContainerInfoProperty -> String)
-> ([ContainerInfoProperty] -> ShowS)
-> Show ContainerInfoProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ContainerInfoProperty -> ShowS
showsPrec :: Int -> ContainerInfoProperty -> ShowS
$cshow :: ContainerInfoProperty -> String
show :: ContainerInfoProperty -> String
$cshowList :: [ContainerInfoProperty] -> ShowS
showList :: [ContainerInfoProperty] -> ShowS
Prelude.Show)
mkContainerInfoProperty :: EksInfoProperty -> ContainerInfoProperty
mkContainerInfoProperty :: EksInfoProperty -> ContainerInfoProperty
mkContainerInfoProperty EksInfoProperty
eksInfo
  = ContainerInfoProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), eksInfo :: EksInfoProperty
eksInfo = EksInfoProperty
eksInfo}
instance ToResourceProperties ContainerInfoProperty where
  toResourceProperties :: ContainerInfoProperty -> ResourceProperties
toResourceProperties ContainerInfoProperty {()
EksInfoProperty
haddock_workaround_ :: ContainerInfoProperty -> ()
eksInfo :: ContainerInfoProperty -> EksInfoProperty
haddock_workaround_ :: ()
eksInfo :: EksInfoProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EMRContainers::VirtualCluster.ContainerInfo",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"EksInfo" Key -> EksInfoProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= EksInfoProperty
eksInfo]}
instance JSON.ToJSON ContainerInfoProperty where
  toJSON :: ContainerInfoProperty -> Value
toJSON ContainerInfoProperty {()
EksInfoProperty
haddock_workaround_ :: ContainerInfoProperty -> ()
eksInfo :: ContainerInfoProperty -> EksInfoProperty
haddock_workaround_ :: ()
eksInfo :: EksInfoProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"EksInfo" Key -> EksInfoProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= EksInfoProperty
eksInfo]
instance Property "EksInfo" ContainerInfoProperty where
  type PropertyType "EksInfo" ContainerInfoProperty = EksInfoProperty
  set :: PropertyType "EksInfo" ContainerInfoProperty
-> ContainerInfoProperty -> ContainerInfoProperty
set PropertyType "EksInfo" ContainerInfoProperty
newValue ContainerInfoProperty {()
EksInfoProperty
haddock_workaround_ :: ContainerInfoProperty -> ()
eksInfo :: ContainerInfoProperty -> EksInfoProperty
haddock_workaround_ :: ()
eksInfo :: EksInfoProperty
..}
    = ContainerInfoProperty {eksInfo :: EksInfoProperty
eksInfo = PropertyType "EksInfo" ContainerInfoProperty
EksInfoProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}