module Stratosphere.Batch.JobDefinition.MultiNodeEcsPropertiesProperty (
        module Exports, MultiNodeEcsPropertiesProperty(..),
        mkMultiNodeEcsPropertiesProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.MultiNodeEcsTaskPropertiesProperty as Exports
import Stratosphere.ResourceProperties
data MultiNodeEcsPropertiesProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecsproperties.html>
    MultiNodeEcsPropertiesProperty {MultiNodeEcsPropertiesProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecsproperties.html#cfn-batch-jobdefinition-multinodeecsproperties-taskproperties>
                                    MultiNodeEcsPropertiesProperty
-> [MultiNodeEcsTaskPropertiesProperty]
taskProperties :: [MultiNodeEcsTaskPropertiesProperty]}
  deriving stock (MultiNodeEcsPropertiesProperty
-> MultiNodeEcsPropertiesProperty -> Bool
(MultiNodeEcsPropertiesProperty
 -> MultiNodeEcsPropertiesProperty -> Bool)
-> (MultiNodeEcsPropertiesProperty
    -> MultiNodeEcsPropertiesProperty -> Bool)
-> Eq MultiNodeEcsPropertiesProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MultiNodeEcsPropertiesProperty
-> MultiNodeEcsPropertiesProperty -> Bool
== :: MultiNodeEcsPropertiesProperty
-> MultiNodeEcsPropertiesProperty -> Bool
$c/= :: MultiNodeEcsPropertiesProperty
-> MultiNodeEcsPropertiesProperty -> Bool
/= :: MultiNodeEcsPropertiesProperty
-> MultiNodeEcsPropertiesProperty -> Bool
Prelude.Eq, Int -> MultiNodeEcsPropertiesProperty -> ShowS
[MultiNodeEcsPropertiesProperty] -> ShowS
MultiNodeEcsPropertiesProperty -> String
(Int -> MultiNodeEcsPropertiesProperty -> ShowS)
-> (MultiNodeEcsPropertiesProperty -> String)
-> ([MultiNodeEcsPropertiesProperty] -> ShowS)
-> Show MultiNodeEcsPropertiesProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MultiNodeEcsPropertiesProperty -> ShowS
showsPrec :: Int -> MultiNodeEcsPropertiesProperty -> ShowS
$cshow :: MultiNodeEcsPropertiesProperty -> String
show :: MultiNodeEcsPropertiesProperty -> String
$cshowList :: [MultiNodeEcsPropertiesProperty] -> ShowS
showList :: [MultiNodeEcsPropertiesProperty] -> ShowS
Prelude.Show)
mkMultiNodeEcsPropertiesProperty ::
  [MultiNodeEcsTaskPropertiesProperty]
  -> MultiNodeEcsPropertiesProperty
mkMultiNodeEcsPropertiesProperty :: [MultiNodeEcsTaskPropertiesProperty]
-> MultiNodeEcsPropertiesProperty
mkMultiNodeEcsPropertiesProperty [MultiNodeEcsTaskPropertiesProperty]
taskProperties
  = MultiNodeEcsPropertiesProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), taskProperties :: [MultiNodeEcsTaskPropertiesProperty]
taskProperties = [MultiNodeEcsTaskPropertiesProperty]
taskProperties}
instance ToResourceProperties MultiNodeEcsPropertiesProperty where
  toResourceProperties :: MultiNodeEcsPropertiesProperty -> ResourceProperties
toResourceProperties MultiNodeEcsPropertiesProperty {[MultiNodeEcsTaskPropertiesProperty]
()
haddock_workaround_ :: MultiNodeEcsPropertiesProperty -> ()
taskProperties :: MultiNodeEcsPropertiesProperty
-> [MultiNodeEcsTaskPropertiesProperty]
haddock_workaround_ :: ()
taskProperties :: [MultiNodeEcsTaskPropertiesProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Batch::JobDefinition.MultiNodeEcsProperties",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"TaskProperties" Key -> [MultiNodeEcsTaskPropertiesProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [MultiNodeEcsTaskPropertiesProperty]
taskProperties]}
instance JSON.ToJSON MultiNodeEcsPropertiesProperty where
  toJSON :: MultiNodeEcsPropertiesProperty -> Value
toJSON MultiNodeEcsPropertiesProperty {[MultiNodeEcsTaskPropertiesProperty]
()
haddock_workaround_ :: MultiNodeEcsPropertiesProperty -> ()
taskProperties :: MultiNodeEcsPropertiesProperty
-> [MultiNodeEcsTaskPropertiesProperty]
haddock_workaround_ :: ()
taskProperties :: [MultiNodeEcsTaskPropertiesProperty]
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"TaskProperties" Key -> [MultiNodeEcsTaskPropertiesProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [MultiNodeEcsTaskPropertiesProperty]
taskProperties]
instance Property "TaskProperties" MultiNodeEcsPropertiesProperty where
  type PropertyType "TaskProperties" MultiNodeEcsPropertiesProperty = [MultiNodeEcsTaskPropertiesProperty]
  set :: PropertyType "TaskProperties" MultiNodeEcsPropertiesProperty
-> MultiNodeEcsPropertiesProperty -> MultiNodeEcsPropertiesProperty
set PropertyType "TaskProperties" MultiNodeEcsPropertiesProperty
newValue MultiNodeEcsPropertiesProperty {[MultiNodeEcsTaskPropertiesProperty]
()
haddock_workaround_ :: MultiNodeEcsPropertiesProperty -> ()
taskProperties :: MultiNodeEcsPropertiesProperty
-> [MultiNodeEcsTaskPropertiesProperty]
haddock_workaround_ :: ()
taskProperties :: [MultiNodeEcsTaskPropertiesProperty]
..}
    = MultiNodeEcsPropertiesProperty {taskProperties :: [MultiNodeEcsTaskPropertiesProperty]
taskProperties = [MultiNodeEcsTaskPropertiesProperty]
PropertyType "TaskProperties" MultiNodeEcsPropertiesProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}