stratosphere-batch-1.0.0: gen/Stratosphere/Batch/JobDefinition/TaskContainerPropertiesProperty.hs
module Stratosphere.Batch.JobDefinition.TaskContainerPropertiesProperty (
module Exports, TaskContainerPropertiesProperty(..),
mkTaskContainerPropertiesProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.EnvironmentProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.FirelensConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.LinuxParametersProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.LogConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.MountPointProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.RepositoryCredentialsProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.ResourceRequirementProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.SecretProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.TaskContainerDependencyProperty as Exports
import {-# SOURCE #-} Stratosphere.Batch.JobDefinition.UlimitProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TaskContainerPropertiesProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html>
TaskContainerPropertiesProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-command>
command :: (Prelude.Maybe (ValueList Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-dependson>
dependsOn :: (Prelude.Maybe [TaskContainerDependencyProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-environment>
environment :: (Prelude.Maybe [EnvironmentProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-essential>
essential :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-firelensconfiguration>
firelensConfiguration :: (Prelude.Maybe FirelensConfigurationProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-image>
image :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-linuxparameters>
linuxParameters :: (Prelude.Maybe LinuxParametersProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-logconfiguration>
logConfiguration :: (Prelude.Maybe LogConfigurationProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-mountpoints>
mountPoints :: (Prelude.Maybe [MountPointProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-name>
name :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-privileged>
privileged :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-readonlyrootfilesystem>
readonlyRootFilesystem :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-repositorycredentials>
repositoryCredentials :: (Prelude.Maybe RepositoryCredentialsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-resourcerequirements>
resourceRequirements :: (Prelude.Maybe [ResourceRequirementProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-secrets>
secrets :: (Prelude.Maybe [SecretProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-ulimits>
ulimits :: (Prelude.Maybe [UlimitProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-user>
user :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (Prelude.Eq, Prelude.Show)
mkTaskContainerPropertiesProperty ::
Value Prelude.Text -> TaskContainerPropertiesProperty
mkTaskContainerPropertiesProperty image
= TaskContainerPropertiesProperty
{haddock_workaround_ = (), image = image,
command = Prelude.Nothing, dependsOn = Prelude.Nothing,
environment = Prelude.Nothing, essential = Prelude.Nothing,
firelensConfiguration = Prelude.Nothing,
linuxParameters = Prelude.Nothing,
logConfiguration = Prelude.Nothing, mountPoints = Prelude.Nothing,
name = Prelude.Nothing, privileged = Prelude.Nothing,
readonlyRootFilesystem = Prelude.Nothing,
repositoryCredentials = Prelude.Nothing,
resourceRequirements = Prelude.Nothing, secrets = Prelude.Nothing,
ulimits = Prelude.Nothing, user = Prelude.Nothing}
instance ToResourceProperties TaskContainerPropertiesProperty where
toResourceProperties TaskContainerPropertiesProperty {..}
= ResourceProperties
{awsType = "AWS::Batch::JobDefinition.TaskContainerProperties",
supportsTags = Prelude.False,
properties = Prelude.fromList
((Prelude.<>)
["Image" JSON..= image]
(Prelude.catMaybes
[(JSON..=) "Command" Prelude.<$> command,
(JSON..=) "DependsOn" Prelude.<$> dependsOn,
(JSON..=) "Environment" Prelude.<$> environment,
(JSON..=) "Essential" Prelude.<$> essential,
(JSON..=) "FirelensConfiguration"
Prelude.<$> firelensConfiguration,
(JSON..=) "LinuxParameters" Prelude.<$> linuxParameters,
(JSON..=) "LogConfiguration" Prelude.<$> logConfiguration,
(JSON..=) "MountPoints" Prelude.<$> mountPoints,
(JSON..=) "Name" Prelude.<$> name,
(JSON..=) "Privileged" Prelude.<$> privileged,
(JSON..=) "ReadonlyRootFilesystem"
Prelude.<$> readonlyRootFilesystem,
(JSON..=) "RepositoryCredentials"
Prelude.<$> repositoryCredentials,
(JSON..=) "ResourceRequirements" Prelude.<$> resourceRequirements,
(JSON..=) "Secrets" Prelude.<$> secrets,
(JSON..=) "Ulimits" Prelude.<$> ulimits,
(JSON..=) "User" Prelude.<$> user]))}
instance JSON.ToJSON TaskContainerPropertiesProperty where
toJSON TaskContainerPropertiesProperty {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["Image" JSON..= image]
(Prelude.catMaybes
[(JSON..=) "Command" Prelude.<$> command,
(JSON..=) "DependsOn" Prelude.<$> dependsOn,
(JSON..=) "Environment" Prelude.<$> environment,
(JSON..=) "Essential" Prelude.<$> essential,
(JSON..=) "FirelensConfiguration"
Prelude.<$> firelensConfiguration,
(JSON..=) "LinuxParameters" Prelude.<$> linuxParameters,
(JSON..=) "LogConfiguration" Prelude.<$> logConfiguration,
(JSON..=) "MountPoints" Prelude.<$> mountPoints,
(JSON..=) "Name" Prelude.<$> name,
(JSON..=) "Privileged" Prelude.<$> privileged,
(JSON..=) "ReadonlyRootFilesystem"
Prelude.<$> readonlyRootFilesystem,
(JSON..=) "RepositoryCredentials"
Prelude.<$> repositoryCredentials,
(JSON..=) "ResourceRequirements" Prelude.<$> resourceRequirements,
(JSON..=) "Secrets" Prelude.<$> secrets,
(JSON..=) "Ulimits" Prelude.<$> ulimits,
(JSON..=) "User" Prelude.<$> user])))
instance Property "Command" TaskContainerPropertiesProperty where
type PropertyType "Command" TaskContainerPropertiesProperty = ValueList Prelude.Text
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{command = Prelude.pure newValue, ..}
instance Property "DependsOn" TaskContainerPropertiesProperty where
type PropertyType "DependsOn" TaskContainerPropertiesProperty = [TaskContainerDependencyProperty]
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{dependsOn = Prelude.pure newValue, ..}
instance Property "Environment" TaskContainerPropertiesProperty where
type PropertyType "Environment" TaskContainerPropertiesProperty = [EnvironmentProperty]
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{environment = Prelude.pure newValue, ..}
instance Property "Essential" TaskContainerPropertiesProperty where
type PropertyType "Essential" TaskContainerPropertiesProperty = Value Prelude.Bool
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{essential = Prelude.pure newValue, ..}
instance Property "FirelensConfiguration" TaskContainerPropertiesProperty where
type PropertyType "FirelensConfiguration" TaskContainerPropertiesProperty = FirelensConfigurationProperty
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{firelensConfiguration = Prelude.pure newValue, ..}
instance Property "Image" TaskContainerPropertiesProperty where
type PropertyType "Image" TaskContainerPropertiesProperty = Value Prelude.Text
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty {image = newValue, ..}
instance Property "LinuxParameters" TaskContainerPropertiesProperty where
type PropertyType "LinuxParameters" TaskContainerPropertiesProperty = LinuxParametersProperty
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{linuxParameters = Prelude.pure newValue, ..}
instance Property "LogConfiguration" TaskContainerPropertiesProperty where
type PropertyType "LogConfiguration" TaskContainerPropertiesProperty = LogConfigurationProperty
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{logConfiguration = Prelude.pure newValue, ..}
instance Property "MountPoints" TaskContainerPropertiesProperty where
type PropertyType "MountPoints" TaskContainerPropertiesProperty = [MountPointProperty]
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{mountPoints = Prelude.pure newValue, ..}
instance Property "Name" TaskContainerPropertiesProperty where
type PropertyType "Name" TaskContainerPropertiesProperty = Value Prelude.Text
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{name = Prelude.pure newValue, ..}
instance Property "Privileged" TaskContainerPropertiesProperty where
type PropertyType "Privileged" TaskContainerPropertiesProperty = Value Prelude.Bool
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{privileged = Prelude.pure newValue, ..}
instance Property "ReadonlyRootFilesystem" TaskContainerPropertiesProperty where
type PropertyType "ReadonlyRootFilesystem" TaskContainerPropertiesProperty = Value Prelude.Bool
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{readonlyRootFilesystem = Prelude.pure newValue, ..}
instance Property "RepositoryCredentials" TaskContainerPropertiesProperty where
type PropertyType "RepositoryCredentials" TaskContainerPropertiesProperty = RepositoryCredentialsProperty
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{repositoryCredentials = Prelude.pure newValue, ..}
instance Property "ResourceRequirements" TaskContainerPropertiesProperty where
type PropertyType "ResourceRequirements" TaskContainerPropertiesProperty = [ResourceRequirementProperty]
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{resourceRequirements = Prelude.pure newValue, ..}
instance Property "Secrets" TaskContainerPropertiesProperty where
type PropertyType "Secrets" TaskContainerPropertiesProperty = [SecretProperty]
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{secrets = Prelude.pure newValue, ..}
instance Property "Ulimits" TaskContainerPropertiesProperty where
type PropertyType "Ulimits" TaskContainerPropertiesProperty = [UlimitProperty]
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{ulimits = Prelude.pure newValue, ..}
instance Property "User" TaskContainerPropertiesProperty where
type PropertyType "User" TaskContainerPropertiesProperty = Value Prelude.Text
set newValue TaskContainerPropertiesProperty {..}
= TaskContainerPropertiesProperty
{user = Prelude.pure newValue, ..}