module Stratosphere.Batch.JobDefinition.TaskContainerDependencyProperty (
        TaskContainerDependencyProperty(..),
        mkTaskContainerDependencyProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TaskContainerDependencyProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html>
    TaskContainerDependencyProperty {TaskContainerDependencyProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html#cfn-batch-jobdefinition-taskcontainerdependency-condition>
                                     TaskContainerDependencyProperty -> Value Text
condition :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html#cfn-batch-jobdefinition-taskcontainerdependency-containername>
                                     TaskContainerDependencyProperty -> Value Text
containerName :: (Value Prelude.Text)}
  deriving stock (TaskContainerDependencyProperty
-> TaskContainerDependencyProperty -> Bool
(TaskContainerDependencyProperty
 -> TaskContainerDependencyProperty -> Bool)
-> (TaskContainerDependencyProperty
    -> TaskContainerDependencyProperty -> Bool)
-> Eq TaskContainerDependencyProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TaskContainerDependencyProperty
-> TaskContainerDependencyProperty -> Bool
== :: TaskContainerDependencyProperty
-> TaskContainerDependencyProperty -> Bool
$c/= :: TaskContainerDependencyProperty
-> TaskContainerDependencyProperty -> Bool
/= :: TaskContainerDependencyProperty
-> TaskContainerDependencyProperty -> Bool
Prelude.Eq, Int -> TaskContainerDependencyProperty -> ShowS
[TaskContainerDependencyProperty] -> ShowS
TaskContainerDependencyProperty -> String
(Int -> TaskContainerDependencyProperty -> ShowS)
-> (TaskContainerDependencyProperty -> String)
-> ([TaskContainerDependencyProperty] -> ShowS)
-> Show TaskContainerDependencyProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TaskContainerDependencyProperty -> ShowS
showsPrec :: Int -> TaskContainerDependencyProperty -> ShowS
$cshow :: TaskContainerDependencyProperty -> String
show :: TaskContainerDependencyProperty -> String
$cshowList :: [TaskContainerDependencyProperty] -> ShowS
showList :: [TaskContainerDependencyProperty] -> ShowS
Prelude.Show)
mkTaskContainerDependencyProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> TaskContainerDependencyProperty
mkTaskContainerDependencyProperty :: Value Text -> Value Text -> TaskContainerDependencyProperty
mkTaskContainerDependencyProperty Value Text
condition Value Text
containerName
  = TaskContainerDependencyProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), condition :: Value Text
condition = Value Text
condition,
       containerName :: Value Text
containerName = Value Text
containerName}
instance ToResourceProperties TaskContainerDependencyProperty where
  toResourceProperties :: TaskContainerDependencyProperty -> ResourceProperties
toResourceProperties TaskContainerDependencyProperty {()
Value Text
haddock_workaround_ :: TaskContainerDependencyProperty -> ()
condition :: TaskContainerDependencyProperty -> Value Text
containerName :: TaskContainerDependencyProperty -> Value Text
haddock_workaround_ :: ()
condition :: Value Text
containerName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Batch::JobDefinition.TaskContainerDependency",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Condition" 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
condition,
                       Key
"ContainerName" 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
containerName]}
instance JSON.ToJSON TaskContainerDependencyProperty where
  toJSON :: TaskContainerDependencyProperty -> Value
toJSON TaskContainerDependencyProperty {()
Value Text
haddock_workaround_ :: TaskContainerDependencyProperty -> ()
condition :: TaskContainerDependencyProperty -> Value Text
containerName :: TaskContainerDependencyProperty -> Value Text
haddock_workaround_ :: ()
condition :: Value Text
containerName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Condition" 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
condition,
         Key
"ContainerName" 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
containerName]
instance Property "Condition" TaskContainerDependencyProperty where
  type PropertyType "Condition" TaskContainerDependencyProperty = Value Prelude.Text
  set :: PropertyType "Condition" TaskContainerDependencyProperty
-> TaskContainerDependencyProperty
-> TaskContainerDependencyProperty
set PropertyType "Condition" TaskContainerDependencyProperty
newValue TaskContainerDependencyProperty {()
Value Text
haddock_workaround_ :: TaskContainerDependencyProperty -> ()
condition :: TaskContainerDependencyProperty -> Value Text
containerName :: TaskContainerDependencyProperty -> Value Text
haddock_workaround_ :: ()
condition :: Value Text
containerName :: Value Text
..}
    = TaskContainerDependencyProperty {condition :: Value Text
condition = PropertyType "Condition" TaskContainerDependencyProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
containerName :: Value Text
haddock_workaround_ :: ()
containerName :: Value Text
..}
instance Property "ContainerName" TaskContainerDependencyProperty where
  type PropertyType "ContainerName" TaskContainerDependencyProperty = Value Prelude.Text
  set :: PropertyType "ContainerName" TaskContainerDependencyProperty
-> TaskContainerDependencyProperty
-> TaskContainerDependencyProperty
set PropertyType "ContainerName" TaskContainerDependencyProperty
newValue TaskContainerDependencyProperty {()
Value Text
haddock_workaround_ :: TaskContainerDependencyProperty -> ()
condition :: TaskContainerDependencyProperty -> Value Text
containerName :: TaskContainerDependencyProperty -> Value Text
haddock_workaround_ :: ()
condition :: Value Text
containerName :: Value Text
..}
    = TaskContainerDependencyProperty {containerName :: Value Text
containerName = PropertyType "ContainerName" TaskContainerDependencyProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
condition :: Value Text
haddock_workaround_ :: ()
condition :: Value Text
..}