{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Batch.Types.ContainerProperties where
import Amazonka.Batch.Types.FargatePlatformConfiguration
import Amazonka.Batch.Types.KeyValuePair
import Amazonka.Batch.Types.LinuxParameters
import Amazonka.Batch.Types.LogConfiguration
import Amazonka.Batch.Types.MountPoint
import Amazonka.Batch.Types.NetworkConfiguration
import Amazonka.Batch.Types.ResourceRequirement
import Amazonka.Batch.Types.Secret
import Amazonka.Batch.Types.Ulimit
import Amazonka.Batch.Types.Volume
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
data ContainerProperties = ContainerProperties'
  { 
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe [Text]
command :: Prelude.Maybe [Prelude.Text],
    
    
    
    
    
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe [KeyValuePair]
environment :: Prelude.Maybe [KeyValuePair],
    
    
    
    
    
    ContainerProperties -> Maybe Text
executionRoleArn :: Prelude.Maybe Prelude.Text,
    
    
    
    ContainerProperties -> Maybe FargatePlatformConfiguration
fargatePlatformConfiguration :: Prelude.Maybe FargatePlatformConfiguration,
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe Text
image :: Prelude.Maybe Prelude.Text,
    
    
    
    
    
    ContainerProperties -> Maybe Text
instanceType :: Prelude.Maybe Prelude.Text,
    
    
    
    
    ContainerProperties -> Maybe Text
jobRoleArn :: Prelude.Maybe Prelude.Text,
    
    
    ContainerProperties -> Maybe LinuxParameters
linuxParameters :: Prelude.Maybe LinuxParameters,
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe LogConfiguration
logConfiguration :: Prelude.Maybe LogConfiguration,
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe Int
memory :: Prelude.Maybe Prelude.Int,
    
    
    
    
    
    
    
    ContainerProperties -> Maybe [MountPoint]
mountPoints :: Prelude.Maybe [MountPoint],
    
    
    
    ContainerProperties -> Maybe NetworkConfiguration
networkConfiguration :: Prelude.Maybe NetworkConfiguration,
    
    
    
    
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe Bool
privileged :: Prelude.Maybe Prelude.Bool,
    
    
    
    
    
    
    ContainerProperties -> Maybe Bool
readonlyRootFilesystem :: Prelude.Maybe Prelude.Bool,
    
    
    ContainerProperties -> Maybe [ResourceRequirement]
resourceRequirements :: Prelude.Maybe [ResourceRequirement],
    
    
    
    ContainerProperties -> Maybe [Secret]
secrets :: Prelude.Maybe [Secret],
    
    
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe [Ulimit]
ulimits :: Prelude.Maybe [Ulimit],
    
    
    
    
    
    
    
    ContainerProperties -> Maybe Text
user :: Prelude.Maybe Prelude.Text,
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ContainerProperties -> Maybe Int
vcpus :: Prelude.Maybe Prelude.Int,
    
    ContainerProperties -> Maybe [Volume]
volumes :: Prelude.Maybe [Volume]
  }
  deriving (ContainerProperties -> ContainerProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ContainerProperties -> ContainerProperties -> Bool
$c/= :: ContainerProperties -> ContainerProperties -> Bool
== :: ContainerProperties -> ContainerProperties -> Bool
$c== :: ContainerProperties -> ContainerProperties -> Bool
Prelude.Eq, ReadPrec [ContainerProperties]
ReadPrec ContainerProperties
Int -> ReadS ContainerProperties
ReadS [ContainerProperties]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ContainerProperties]
$creadListPrec :: ReadPrec [ContainerProperties]
readPrec :: ReadPrec ContainerProperties
$creadPrec :: ReadPrec ContainerProperties
readList :: ReadS [ContainerProperties]
$creadList :: ReadS [ContainerProperties]
readsPrec :: Int -> ReadS ContainerProperties
$creadsPrec :: Int -> ReadS ContainerProperties
Prelude.Read, Int -> ContainerProperties -> ShowS
[ContainerProperties] -> ShowS
ContainerProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ContainerProperties] -> ShowS
$cshowList :: [ContainerProperties] -> ShowS
show :: ContainerProperties -> String
$cshow :: ContainerProperties -> String
showsPrec :: Int -> ContainerProperties -> ShowS
$cshowsPrec :: Int -> ContainerProperties -> ShowS
Prelude.Show, forall x. Rep ContainerProperties x -> ContainerProperties
forall x. ContainerProperties -> Rep ContainerProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ContainerProperties x -> ContainerProperties
$cfrom :: forall x. ContainerProperties -> Rep ContainerProperties x
Prelude.Generic)
newContainerProperties ::
  ContainerProperties
newContainerProperties :: ContainerProperties
newContainerProperties =
  ContainerProperties'
    { $sel:command:ContainerProperties' :: Maybe [Text]
command = forall a. Maybe a
Prelude.Nothing,
      $sel:environment:ContainerProperties' :: Maybe [KeyValuePair]
environment = forall a. Maybe a
Prelude.Nothing,
      $sel:executionRoleArn:ContainerProperties' :: Maybe Text
executionRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:fargatePlatformConfiguration:ContainerProperties' :: Maybe FargatePlatformConfiguration
fargatePlatformConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:image:ContainerProperties' :: Maybe Text
image = forall a. Maybe a
Prelude.Nothing,
      $sel:instanceType:ContainerProperties' :: Maybe Text
instanceType = forall a. Maybe a
Prelude.Nothing,
      $sel:jobRoleArn:ContainerProperties' :: Maybe Text
jobRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:linuxParameters:ContainerProperties' :: Maybe LinuxParameters
linuxParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:logConfiguration:ContainerProperties' :: Maybe LogConfiguration
logConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:memory:ContainerProperties' :: Maybe Int
memory = forall a. Maybe a
Prelude.Nothing,
      $sel:mountPoints:ContainerProperties' :: Maybe [MountPoint]
mountPoints = forall a. Maybe a
Prelude.Nothing,
      $sel:networkConfiguration:ContainerProperties' :: Maybe NetworkConfiguration
networkConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:privileged:ContainerProperties' :: Maybe Bool
privileged = forall a. Maybe a
Prelude.Nothing,
      $sel:readonlyRootFilesystem:ContainerProperties' :: Maybe Bool
readonlyRootFilesystem = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceRequirements:ContainerProperties' :: Maybe [ResourceRequirement]
resourceRequirements = forall a. Maybe a
Prelude.Nothing,
      $sel:secrets:ContainerProperties' :: Maybe [Secret]
secrets = forall a. Maybe a
Prelude.Nothing,
      $sel:ulimits:ContainerProperties' :: Maybe [Ulimit]
ulimits = forall a. Maybe a
Prelude.Nothing,
      $sel:user:ContainerProperties' :: Maybe Text
user = forall a. Maybe a
Prelude.Nothing,
      $sel:vcpus:ContainerProperties' :: Maybe Int
vcpus = forall a. Maybe a
Prelude.Nothing,
      $sel:volumes:ContainerProperties' :: Maybe [Volume]
volumes = forall a. Maybe a
Prelude.Nothing
    }
containerProperties_command :: Lens.Lens' ContainerProperties (Prelude.Maybe [Prelude.Text])
containerProperties_command :: Lens' ContainerProperties (Maybe [Text])
containerProperties_command = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [Text]
command :: Maybe [Text]
$sel:command:ContainerProperties' :: ContainerProperties -> Maybe [Text]
command} -> Maybe [Text]
command) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [Text]
a -> ContainerProperties
s {$sel:command:ContainerProperties' :: Maybe [Text]
command = Maybe [Text]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerProperties_environment :: Lens.Lens' ContainerProperties (Prelude.Maybe [KeyValuePair])
containerProperties_environment :: Lens' ContainerProperties (Maybe [KeyValuePair])
containerProperties_environment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [KeyValuePair]
environment :: Maybe [KeyValuePair]
$sel:environment:ContainerProperties' :: ContainerProperties -> Maybe [KeyValuePair]
environment} -> Maybe [KeyValuePair]
environment) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [KeyValuePair]
a -> ContainerProperties
s {$sel:environment:ContainerProperties' :: Maybe [KeyValuePair]
environment = Maybe [KeyValuePair]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerProperties_executionRoleArn :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Text)
containerProperties_executionRoleArn :: Lens' ContainerProperties (Maybe Text)
containerProperties_executionRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Text
executionRoleArn :: Maybe Text
$sel:executionRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
executionRoleArn} -> Maybe Text
executionRoleArn) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Text
a -> ContainerProperties
s {$sel:executionRoleArn:ContainerProperties' :: Maybe Text
executionRoleArn = Maybe Text
a} :: ContainerProperties)
containerProperties_fargatePlatformConfiguration :: Lens.Lens' ContainerProperties (Prelude.Maybe FargatePlatformConfiguration)
containerProperties_fargatePlatformConfiguration :: Lens' ContainerProperties (Maybe FargatePlatformConfiguration)
containerProperties_fargatePlatformConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe FargatePlatformConfiguration
fargatePlatformConfiguration :: Maybe FargatePlatformConfiguration
$sel:fargatePlatformConfiguration:ContainerProperties' :: ContainerProperties -> Maybe FargatePlatformConfiguration
fargatePlatformConfiguration} -> Maybe FargatePlatformConfiguration
fargatePlatformConfiguration) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe FargatePlatformConfiguration
a -> ContainerProperties
s {$sel:fargatePlatformConfiguration:ContainerProperties' :: Maybe FargatePlatformConfiguration
fargatePlatformConfiguration = Maybe FargatePlatformConfiguration
a} :: ContainerProperties)
containerProperties_image :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Text)
containerProperties_image :: Lens' ContainerProperties (Maybe Text)
containerProperties_image = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Text
image :: Maybe Text
$sel:image:ContainerProperties' :: ContainerProperties -> Maybe Text
image} -> Maybe Text
image) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Text
a -> ContainerProperties
s {$sel:image:ContainerProperties' :: Maybe Text
image = Maybe Text
a} :: ContainerProperties)
containerProperties_instanceType :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Text)
containerProperties_instanceType :: Lens' ContainerProperties (Maybe Text)
containerProperties_instanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Text
instanceType :: Maybe Text
$sel:instanceType:ContainerProperties' :: ContainerProperties -> Maybe Text
instanceType} -> Maybe Text
instanceType) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Text
a -> ContainerProperties
s {$sel:instanceType:ContainerProperties' :: Maybe Text
instanceType = Maybe Text
a} :: ContainerProperties)
containerProperties_jobRoleArn :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Text)
containerProperties_jobRoleArn :: Lens' ContainerProperties (Maybe Text)
containerProperties_jobRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Text
jobRoleArn :: Maybe Text
$sel:jobRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
jobRoleArn} -> Maybe Text
jobRoleArn) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Text
a -> ContainerProperties
s {$sel:jobRoleArn:ContainerProperties' :: Maybe Text
jobRoleArn = Maybe Text
a} :: ContainerProperties)
containerProperties_linuxParameters :: Lens.Lens' ContainerProperties (Prelude.Maybe LinuxParameters)
containerProperties_linuxParameters :: Lens' ContainerProperties (Maybe LinuxParameters)
containerProperties_linuxParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe LinuxParameters
linuxParameters :: Maybe LinuxParameters
$sel:linuxParameters:ContainerProperties' :: ContainerProperties -> Maybe LinuxParameters
linuxParameters} -> Maybe LinuxParameters
linuxParameters) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe LinuxParameters
a -> ContainerProperties
s {$sel:linuxParameters:ContainerProperties' :: Maybe LinuxParameters
linuxParameters = Maybe LinuxParameters
a} :: ContainerProperties)
containerProperties_logConfiguration :: Lens.Lens' ContainerProperties (Prelude.Maybe LogConfiguration)
containerProperties_logConfiguration :: Lens' ContainerProperties (Maybe LogConfiguration)
containerProperties_logConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe LogConfiguration
logConfiguration :: Maybe LogConfiguration
$sel:logConfiguration:ContainerProperties' :: ContainerProperties -> Maybe LogConfiguration
logConfiguration} -> Maybe LogConfiguration
logConfiguration) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe LogConfiguration
a -> ContainerProperties
s {$sel:logConfiguration:ContainerProperties' :: Maybe LogConfiguration
logConfiguration = Maybe LogConfiguration
a} :: ContainerProperties)
containerProperties_memory :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Int)
containerProperties_memory :: Lens' ContainerProperties (Maybe Int)
containerProperties_memory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Int
memory :: Maybe Int
$sel:memory:ContainerProperties' :: ContainerProperties -> Maybe Int
memory} -> Maybe Int
memory) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Int
a -> ContainerProperties
s {$sel:memory:ContainerProperties' :: Maybe Int
memory = Maybe Int
a} :: ContainerProperties)
containerProperties_mountPoints :: Lens.Lens' ContainerProperties (Prelude.Maybe [MountPoint])
containerProperties_mountPoints :: Lens' ContainerProperties (Maybe [MountPoint])
containerProperties_mountPoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [MountPoint]
mountPoints :: Maybe [MountPoint]
$sel:mountPoints:ContainerProperties' :: ContainerProperties -> Maybe [MountPoint]
mountPoints} -> Maybe [MountPoint]
mountPoints) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [MountPoint]
a -> ContainerProperties
s {$sel:mountPoints:ContainerProperties' :: Maybe [MountPoint]
mountPoints = Maybe [MountPoint]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerProperties_networkConfiguration :: Lens.Lens' ContainerProperties (Prelude.Maybe NetworkConfiguration)
containerProperties_networkConfiguration :: Lens' ContainerProperties (Maybe NetworkConfiguration)
containerProperties_networkConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe NetworkConfiguration
networkConfiguration :: Maybe NetworkConfiguration
$sel:networkConfiguration:ContainerProperties' :: ContainerProperties -> Maybe NetworkConfiguration
networkConfiguration} -> Maybe NetworkConfiguration
networkConfiguration) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe NetworkConfiguration
a -> ContainerProperties
s {$sel:networkConfiguration:ContainerProperties' :: Maybe NetworkConfiguration
networkConfiguration = Maybe NetworkConfiguration
a} :: ContainerProperties)
containerProperties_privileged :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Bool)
containerProperties_privileged :: Lens' ContainerProperties (Maybe Bool)
containerProperties_privileged = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Bool
privileged :: Maybe Bool
$sel:privileged:ContainerProperties' :: ContainerProperties -> Maybe Bool
privileged} -> Maybe Bool
privileged) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Bool
a -> ContainerProperties
s {$sel:privileged:ContainerProperties' :: Maybe Bool
privileged = Maybe Bool
a} :: ContainerProperties)
containerProperties_readonlyRootFilesystem :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Bool)
containerProperties_readonlyRootFilesystem :: Lens' ContainerProperties (Maybe Bool)
containerProperties_readonlyRootFilesystem = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Bool
readonlyRootFilesystem :: Maybe Bool
$sel:readonlyRootFilesystem:ContainerProperties' :: ContainerProperties -> Maybe Bool
readonlyRootFilesystem} -> Maybe Bool
readonlyRootFilesystem) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Bool
a -> ContainerProperties
s {$sel:readonlyRootFilesystem:ContainerProperties' :: Maybe Bool
readonlyRootFilesystem = Maybe Bool
a} :: ContainerProperties)
containerProperties_resourceRequirements :: Lens.Lens' ContainerProperties (Prelude.Maybe [ResourceRequirement])
containerProperties_resourceRequirements :: Lens' ContainerProperties (Maybe [ResourceRequirement])
containerProperties_resourceRequirements = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [ResourceRequirement]
resourceRequirements :: Maybe [ResourceRequirement]
$sel:resourceRequirements:ContainerProperties' :: ContainerProperties -> Maybe [ResourceRequirement]
resourceRequirements} -> Maybe [ResourceRequirement]
resourceRequirements) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [ResourceRequirement]
a -> ContainerProperties
s {$sel:resourceRequirements:ContainerProperties' :: Maybe [ResourceRequirement]
resourceRequirements = Maybe [ResourceRequirement]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerProperties_secrets :: Lens.Lens' ContainerProperties (Prelude.Maybe [Secret])
containerProperties_secrets :: Lens' ContainerProperties (Maybe [Secret])
containerProperties_secrets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [Secret]
secrets :: Maybe [Secret]
$sel:secrets:ContainerProperties' :: ContainerProperties -> Maybe [Secret]
secrets} -> Maybe [Secret]
secrets) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [Secret]
a -> ContainerProperties
s {$sel:secrets:ContainerProperties' :: Maybe [Secret]
secrets = Maybe [Secret]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerProperties_ulimits :: Lens.Lens' ContainerProperties (Prelude.Maybe [Ulimit])
containerProperties_ulimits :: Lens' ContainerProperties (Maybe [Ulimit])
containerProperties_ulimits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [Ulimit]
ulimits :: Maybe [Ulimit]
$sel:ulimits:ContainerProperties' :: ContainerProperties -> Maybe [Ulimit]
ulimits} -> Maybe [Ulimit]
ulimits) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [Ulimit]
a -> ContainerProperties
s {$sel:ulimits:ContainerProperties' :: Maybe [Ulimit]
ulimits = Maybe [Ulimit]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerProperties_user :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Text)
containerProperties_user :: Lens' ContainerProperties (Maybe Text)
containerProperties_user = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Text
user :: Maybe Text
$sel:user:ContainerProperties' :: ContainerProperties -> Maybe Text
user} -> Maybe Text
user) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Text
a -> ContainerProperties
s {$sel:user:ContainerProperties' :: Maybe Text
user = Maybe Text
a} :: ContainerProperties)
containerProperties_vcpus :: Lens.Lens' ContainerProperties (Prelude.Maybe Prelude.Int)
containerProperties_vcpus :: Lens' ContainerProperties (Maybe Int)
containerProperties_vcpus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe Int
vcpus :: Maybe Int
$sel:vcpus:ContainerProperties' :: ContainerProperties -> Maybe Int
vcpus} -> Maybe Int
vcpus) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe Int
a -> ContainerProperties
s {$sel:vcpus:ContainerProperties' :: Maybe Int
vcpus = Maybe Int
a} :: ContainerProperties)
containerProperties_volumes :: Lens.Lens' ContainerProperties (Prelude.Maybe [Volume])
containerProperties_volumes :: Lens' ContainerProperties (Maybe [Volume])
containerProperties_volumes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerProperties' {Maybe [Volume]
volumes :: Maybe [Volume]
$sel:volumes:ContainerProperties' :: ContainerProperties -> Maybe [Volume]
volumes} -> Maybe [Volume]
volumes) (\s :: ContainerProperties
s@ContainerProperties' {} Maybe [Volume]
a -> ContainerProperties
s {$sel:volumes:ContainerProperties' :: Maybe [Volume]
volumes = Maybe [Volume]
a} :: ContainerProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromJSON ContainerProperties where
  parseJSON :: Value -> Parser ContainerProperties
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ContainerProperties"
      ( \Object
x ->
          Maybe [Text]
-> Maybe [KeyValuePair]
-> Maybe Text
-> Maybe FargatePlatformConfiguration
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe LinuxParameters
-> Maybe LogConfiguration
-> Maybe Int
-> Maybe [MountPoint]
-> Maybe NetworkConfiguration
-> Maybe Bool
-> Maybe Bool
-> Maybe [ResourceRequirement]
-> Maybe [Secret]
-> Maybe [Ulimit]
-> Maybe Text
-> Maybe Int
-> Maybe [Volume]
-> ContainerProperties
ContainerProperties'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"command" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"environment" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"executionRoleArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fargatePlatformConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"image")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"instanceType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"jobRoleArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"linuxParameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"logConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"memory")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"mountPoints" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"networkConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"privileged")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"readonlyRootFilesystem")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceRequirements"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"secrets" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ulimits" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"user")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"vcpus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"volumes" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
      )
instance Prelude.Hashable ContainerProperties where
  hashWithSalt :: Int -> ContainerProperties -> Int
hashWithSalt Int
_salt ContainerProperties' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [KeyValuePair]
Maybe [MountPoint]
Maybe [ResourceRequirement]
Maybe [Secret]
Maybe [Ulimit]
Maybe [Volume]
Maybe Text
Maybe FargatePlatformConfiguration
Maybe NetworkConfiguration
Maybe LogConfiguration
Maybe LinuxParameters
volumes :: Maybe [Volume]
vcpus :: Maybe Int
user :: Maybe Text
ulimits :: Maybe [Ulimit]
secrets :: Maybe [Secret]
resourceRequirements :: Maybe [ResourceRequirement]
readonlyRootFilesystem :: Maybe Bool
privileged :: Maybe Bool
networkConfiguration :: Maybe NetworkConfiguration
mountPoints :: Maybe [MountPoint]
memory :: Maybe Int
logConfiguration :: Maybe LogConfiguration
linuxParameters :: Maybe LinuxParameters
jobRoleArn :: Maybe Text
instanceType :: Maybe Text
image :: Maybe Text
fargatePlatformConfiguration :: Maybe FargatePlatformConfiguration
executionRoleArn :: Maybe Text
environment :: Maybe [KeyValuePair]
command :: Maybe [Text]
$sel:volumes:ContainerProperties' :: ContainerProperties -> Maybe [Volume]
$sel:vcpus:ContainerProperties' :: ContainerProperties -> Maybe Int
$sel:user:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:ulimits:ContainerProperties' :: ContainerProperties -> Maybe [Ulimit]
$sel:secrets:ContainerProperties' :: ContainerProperties -> Maybe [Secret]
$sel:resourceRequirements:ContainerProperties' :: ContainerProperties -> Maybe [ResourceRequirement]
$sel:readonlyRootFilesystem:ContainerProperties' :: ContainerProperties -> Maybe Bool
$sel:privileged:ContainerProperties' :: ContainerProperties -> Maybe Bool
$sel:networkConfiguration:ContainerProperties' :: ContainerProperties -> Maybe NetworkConfiguration
$sel:mountPoints:ContainerProperties' :: ContainerProperties -> Maybe [MountPoint]
$sel:memory:ContainerProperties' :: ContainerProperties -> Maybe Int
$sel:logConfiguration:ContainerProperties' :: ContainerProperties -> Maybe LogConfiguration
$sel:linuxParameters:ContainerProperties' :: ContainerProperties -> Maybe LinuxParameters
$sel:jobRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:instanceType:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:image:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:fargatePlatformConfiguration:ContainerProperties' :: ContainerProperties -> Maybe FargatePlatformConfiguration
$sel:executionRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:environment:ContainerProperties' :: ContainerProperties -> Maybe [KeyValuePair]
$sel:command:ContainerProperties' :: ContainerProperties -> Maybe [Text]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
command
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [KeyValuePair]
environment
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
executionRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FargatePlatformConfiguration
fargatePlatformConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
image
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
instanceType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
jobRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LinuxParameters
linuxParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LogConfiguration
logConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
memory
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [MountPoint]
mountPoints
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NetworkConfiguration
networkConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
privileged
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
readonlyRootFilesystem
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ResourceRequirement]
resourceRequirements
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Secret]
secrets
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Ulimit]
ulimits
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
user
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
vcpus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Volume]
volumes
instance Prelude.NFData ContainerProperties where
  rnf :: ContainerProperties -> ()
rnf ContainerProperties' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [KeyValuePair]
Maybe [MountPoint]
Maybe [ResourceRequirement]
Maybe [Secret]
Maybe [Ulimit]
Maybe [Volume]
Maybe Text
Maybe FargatePlatformConfiguration
Maybe NetworkConfiguration
Maybe LogConfiguration
Maybe LinuxParameters
volumes :: Maybe [Volume]
vcpus :: Maybe Int
user :: Maybe Text
ulimits :: Maybe [Ulimit]
secrets :: Maybe [Secret]
resourceRequirements :: Maybe [ResourceRequirement]
readonlyRootFilesystem :: Maybe Bool
privileged :: Maybe Bool
networkConfiguration :: Maybe NetworkConfiguration
mountPoints :: Maybe [MountPoint]
memory :: Maybe Int
logConfiguration :: Maybe LogConfiguration
linuxParameters :: Maybe LinuxParameters
jobRoleArn :: Maybe Text
instanceType :: Maybe Text
image :: Maybe Text
fargatePlatformConfiguration :: Maybe FargatePlatformConfiguration
executionRoleArn :: Maybe Text
environment :: Maybe [KeyValuePair]
command :: Maybe [Text]
$sel:volumes:ContainerProperties' :: ContainerProperties -> Maybe [Volume]
$sel:vcpus:ContainerProperties' :: ContainerProperties -> Maybe Int
$sel:user:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:ulimits:ContainerProperties' :: ContainerProperties -> Maybe [Ulimit]
$sel:secrets:ContainerProperties' :: ContainerProperties -> Maybe [Secret]
$sel:resourceRequirements:ContainerProperties' :: ContainerProperties -> Maybe [ResourceRequirement]
$sel:readonlyRootFilesystem:ContainerProperties' :: ContainerProperties -> Maybe Bool
$sel:privileged:ContainerProperties' :: ContainerProperties -> Maybe Bool
$sel:networkConfiguration:ContainerProperties' :: ContainerProperties -> Maybe NetworkConfiguration
$sel:mountPoints:ContainerProperties' :: ContainerProperties -> Maybe [MountPoint]
$sel:memory:ContainerProperties' :: ContainerProperties -> Maybe Int
$sel:logConfiguration:ContainerProperties' :: ContainerProperties -> Maybe LogConfiguration
$sel:linuxParameters:ContainerProperties' :: ContainerProperties -> Maybe LinuxParameters
$sel:jobRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:instanceType:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:image:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:fargatePlatformConfiguration:ContainerProperties' :: ContainerProperties -> Maybe FargatePlatformConfiguration
$sel:executionRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:environment:ContainerProperties' :: ContainerProperties -> Maybe [KeyValuePair]
$sel:command:ContainerProperties' :: ContainerProperties -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
command
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [KeyValuePair]
environment
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FargatePlatformConfiguration
fargatePlatformConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
image
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
instanceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LinuxParameters
linuxParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LogConfiguration
logConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
memory
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [MountPoint]
mountPoints
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NetworkConfiguration
networkConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
privileged
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
readonlyRootFilesystem
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ResourceRequirement]
resourceRequirements
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Secret]
secrets
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Ulimit]
ulimits
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
user
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
vcpus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Volume]
volumes
instance Data.ToJSON ContainerProperties where
  toJSON :: ContainerProperties -> Value
toJSON ContainerProperties' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [KeyValuePair]
Maybe [MountPoint]
Maybe [ResourceRequirement]
Maybe [Secret]
Maybe [Ulimit]
Maybe [Volume]
Maybe Text
Maybe FargatePlatformConfiguration
Maybe NetworkConfiguration
Maybe LogConfiguration
Maybe LinuxParameters
volumes :: Maybe [Volume]
vcpus :: Maybe Int
user :: Maybe Text
ulimits :: Maybe [Ulimit]
secrets :: Maybe [Secret]
resourceRequirements :: Maybe [ResourceRequirement]
readonlyRootFilesystem :: Maybe Bool
privileged :: Maybe Bool
networkConfiguration :: Maybe NetworkConfiguration
mountPoints :: Maybe [MountPoint]
memory :: Maybe Int
logConfiguration :: Maybe LogConfiguration
linuxParameters :: Maybe LinuxParameters
jobRoleArn :: Maybe Text
instanceType :: Maybe Text
image :: Maybe Text
fargatePlatformConfiguration :: Maybe FargatePlatformConfiguration
executionRoleArn :: Maybe Text
environment :: Maybe [KeyValuePair]
command :: Maybe [Text]
$sel:volumes:ContainerProperties' :: ContainerProperties -> Maybe [Volume]
$sel:vcpus:ContainerProperties' :: ContainerProperties -> Maybe Int
$sel:user:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:ulimits:ContainerProperties' :: ContainerProperties -> Maybe [Ulimit]
$sel:secrets:ContainerProperties' :: ContainerProperties -> Maybe [Secret]
$sel:resourceRequirements:ContainerProperties' :: ContainerProperties -> Maybe [ResourceRequirement]
$sel:readonlyRootFilesystem:ContainerProperties' :: ContainerProperties -> Maybe Bool
$sel:privileged:ContainerProperties' :: ContainerProperties -> Maybe Bool
$sel:networkConfiguration:ContainerProperties' :: ContainerProperties -> Maybe NetworkConfiguration
$sel:mountPoints:ContainerProperties' :: ContainerProperties -> Maybe [MountPoint]
$sel:memory:ContainerProperties' :: ContainerProperties -> Maybe Int
$sel:logConfiguration:ContainerProperties' :: ContainerProperties -> Maybe LogConfiguration
$sel:linuxParameters:ContainerProperties' :: ContainerProperties -> Maybe LinuxParameters
$sel:jobRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:instanceType:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:image:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:fargatePlatformConfiguration:ContainerProperties' :: ContainerProperties -> Maybe FargatePlatformConfiguration
$sel:executionRoleArn:ContainerProperties' :: ContainerProperties -> Maybe Text
$sel:environment:ContainerProperties' :: ContainerProperties -> Maybe [KeyValuePair]
$sel:command:ContainerProperties' :: ContainerProperties -> Maybe [Text]
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"command" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
command,
            (Key
"environment" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [KeyValuePair]
environment,
            (Key
"executionRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
executionRoleArn,
            (Key
"fargatePlatformConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FargatePlatformConfiguration
fargatePlatformConfiguration,
            (Key
"image" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
image,
            (Key
"instanceType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
instanceType,
            (Key
"jobRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
jobRoleArn,
            (Key
"linuxParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LinuxParameters
linuxParameters,
            (Key
"logConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LogConfiguration
logConfiguration,
            (Key
"memory" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
memory,
            (Key
"mountPoints" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [MountPoint]
mountPoints,
            (Key
"networkConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NetworkConfiguration
networkConfiguration,
            (Key
"privileged" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
privileged,
            (Key
"readonlyRootFilesystem" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
readonlyRootFilesystem,
            (Key
"resourceRequirements" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ResourceRequirement]
resourceRequirements,
            (Key
"secrets" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Secret]
secrets,
            (Key
"ulimits" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Ulimit]
ulimits,
            (Key
"user" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
user,
            (Key
"vcpus" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
vcpus,
            (Key
"volumes" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Volume]
volumes
          ]
      )