{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsDetails
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsDetails where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails

-- | A container definition that describes a container in the task.
--
-- /See:/ 'newAwsEcsTaskDefinitionContainerDefinitionsDetails' smart constructor.
data AwsEcsTaskDefinitionContainerDefinitionsDetails = AwsEcsTaskDefinitionContainerDefinitionsDetails'
  { -- | The command that is passed to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
command :: Prelude.Maybe [Prelude.Text],
    -- | The hostname to use for the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
hostname :: Prelude.Maybe Prelude.Text,
    -- | The image used to start the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
image :: Prelude.Maybe Prelude.Text,
    -- | The private repository authentication credentials to use.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials :: Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails,
    -- | A list of strings to provide custom labels for SELinux and AppArmor
    -- multi-level security systems.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
dockerSecurityOptions :: Prelude.Maybe [Prelude.Text],
    -- | The container health check command and associated configuration
    -- parameters for the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck :: Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails,
    -- | Whether to disable networking within the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
disableNetworking :: Prelude.Maybe Prelude.Bool,
    -- | Data volumes to mount from another container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails],
    -- | The environment variables to pass to a container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails],
    -- | The secrets to pass to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails],
    -- | The entry point that is passed to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
entryPoint :: Prelude.Maybe [Prelude.Text],
    -- | The working directory in which to run commands inside the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
workingDirectory :: Prelude.Maybe Prelude.Text,
    -- | A list of files containing the environment variables to pass to a
    -- container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails],
    -- | The number of seconds to wait before the container is stopped if it
    -- doesn\'t shut down normally on its own.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
stopTimeout :: Prelude.Maybe Prelude.Int,
    -- | Whether the container is given elevated privileges on the host container
    -- instance. The elevated privileges are similar to the root user.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
privileged :: Prelude.Maybe Prelude.Bool,
    -- | A list of ulimits to set in the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails],
    -- | The list of port mappings for the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails],
    -- | The type and amount of a resource to assign to a container. The only
    -- supported resource is a GPU.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails],
    -- | The amount (in MiB) of memory to present to the container. If the
    -- container attempts to exceed the memory specified here, the container is
    -- shut down. The total amount of memory reserved for all containers within
    -- a task must be lower than the task memory value, if one is specified.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
memory :: Prelude.Maybe Prelude.Int,
    -- | A list of hostnames and IP address mappings to append to the
    -- __\/etc\/hosts__ file on the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails],
    -- | A key-value map of labels to add to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe (HashMap Text Text)
dockerLabels :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The user to use inside the container.
    --
    -- The value can use one of the following formats.
    --
    -- -   @ user @
    --
    -- -   @ user @:@ group @
    --
    -- -   @ uid @
    --
    -- -   @ uid @:@ gid @
    --
    -- -   @ user @:@ gid @
    --
    -- -   @ uid @:@ group @
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
user :: Prelude.Maybe Prelude.Text,
    -- | A list of namespaced kernel parameters to set in the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails],
    -- | Linux-specific modifications that are applied to the container, such as
    -- Linux kernel capabilities.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters :: Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails,
    -- | The log configuration specification for the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration :: Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails,
    -- | The FireLens configuration for the container. Specifies and configures a
    -- log router for container logs.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration :: Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails,
    -- | A list of DNS search domains that are presented to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
dnsSearchDomains :: Prelude.Maybe [Prelude.Text],
    -- | Whether to allocate a TTY to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
pseudoTerminal :: Prelude.Maybe Prelude.Bool,
    -- | The dependencies that are defined for container startup and shutdown.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails],
    -- | A list of DNS servers that are presented to the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
dnsServers :: Prelude.Maybe [Prelude.Text],
    -- | The name of the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The mount points for the data volumes in the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints :: Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails],
    -- | If set to true, then containerized applications can be deployed that
    -- require @stdin@ or a @tty@ to be allocated.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
interactive :: Prelude.Maybe Prelude.Bool,
    -- | The number of seconds to wait before giving up on resolving dependencies
    -- for a container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
startTimeout :: Prelude.Maybe Prelude.Int,
    -- | Whether the container is given read-only access to its root file system.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
readonlyRootFilesystem :: Prelude.Maybe Prelude.Bool,
    -- | A list of links for the container in the form @ container_name:alias @.
    -- Allows containers to communicate with each other without the need for
    -- port mappings.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
links :: Prelude.Maybe [Prelude.Text],
    -- | The number of CPU units reserved for the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
cpu :: Prelude.Maybe Prelude.Int,
    -- | Whether the container is essential. All tasks must have at least one
    -- essential container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
essential :: Prelude.Maybe Prelude.Bool,
    -- | The soft limit (in MiB) of memory to reserve for the container.
    AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
memoryReservation :: Prelude.Maybe Prelude.Int
  }
  deriving (AwsEcsTaskDefinitionContainerDefinitionsDetails
-> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool
(AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool)
-> Eq AwsEcsTaskDefinitionContainerDefinitionsDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool
$c/= :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool
== :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool
$c== :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> AwsEcsTaskDefinitionContainerDefinitionsDetails -> Bool
Prelude.Eq, ReadPrec [AwsEcsTaskDefinitionContainerDefinitionsDetails]
ReadPrec AwsEcsTaskDefinitionContainerDefinitionsDetails
Int -> ReadS AwsEcsTaskDefinitionContainerDefinitionsDetails
ReadS [AwsEcsTaskDefinitionContainerDefinitionsDetails]
(Int -> ReadS AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ReadS [AwsEcsTaskDefinitionContainerDefinitionsDetails]
-> ReadPrec AwsEcsTaskDefinitionContainerDefinitionsDetails
-> ReadPrec [AwsEcsTaskDefinitionContainerDefinitionsDetails]
-> Read AwsEcsTaskDefinitionContainerDefinitionsDetails
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AwsEcsTaskDefinitionContainerDefinitionsDetails]
$creadListPrec :: ReadPrec [AwsEcsTaskDefinitionContainerDefinitionsDetails]
readPrec :: ReadPrec AwsEcsTaskDefinitionContainerDefinitionsDetails
$creadPrec :: ReadPrec AwsEcsTaskDefinitionContainerDefinitionsDetails
readList :: ReadS [AwsEcsTaskDefinitionContainerDefinitionsDetails]
$creadList :: ReadS [AwsEcsTaskDefinitionContainerDefinitionsDetails]
readsPrec :: Int -> ReadS AwsEcsTaskDefinitionContainerDefinitionsDetails
$creadsPrec :: Int -> ReadS AwsEcsTaskDefinitionContainerDefinitionsDetails
Prelude.Read, Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails -> ShowS
[AwsEcsTaskDefinitionContainerDefinitionsDetails] -> ShowS
AwsEcsTaskDefinitionContainerDefinitionsDetails -> String
(Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails -> ShowS)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails -> String)
-> ([AwsEcsTaskDefinitionContainerDefinitionsDetails] -> ShowS)
-> Show AwsEcsTaskDefinitionContainerDefinitionsDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AwsEcsTaskDefinitionContainerDefinitionsDetails] -> ShowS
$cshowList :: [AwsEcsTaskDefinitionContainerDefinitionsDetails] -> ShowS
show :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> String
$cshow :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> String
showsPrec :: Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails -> ShowS
$cshowsPrec :: Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails -> ShowS
Prelude.Show, (forall x.
 AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Rep AwsEcsTaskDefinitionContainerDefinitionsDetails x)
-> (forall x.
    Rep AwsEcsTaskDefinitionContainerDefinitionsDetails x
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Generic AwsEcsTaskDefinitionContainerDefinitionsDetails
forall x.
Rep AwsEcsTaskDefinitionContainerDefinitionsDetails x
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
forall x.
AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Rep AwsEcsTaskDefinitionContainerDefinitionsDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AwsEcsTaskDefinitionContainerDefinitionsDetails x
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
$cfrom :: forall x.
AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Rep AwsEcsTaskDefinitionContainerDefinitionsDetails x
Prelude.Generic)

-- |
-- Create a value of 'AwsEcsTaskDefinitionContainerDefinitionsDetails' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'command', 'awsEcsTaskDefinitionContainerDefinitionsDetails_command' - The command that is passed to the container.
--
-- 'hostname', 'awsEcsTaskDefinitionContainerDefinitionsDetails_hostname' - The hostname to use for the container.
--
-- 'image', 'awsEcsTaskDefinitionContainerDefinitionsDetails_image' - The image used to start the container.
--
-- 'repositoryCredentials', 'awsEcsTaskDefinitionContainerDefinitionsDetails_repositoryCredentials' - The private repository authentication credentials to use.
--
-- 'dockerSecurityOptions', 'awsEcsTaskDefinitionContainerDefinitionsDetails_dockerSecurityOptions' - A list of strings to provide custom labels for SELinux and AppArmor
-- multi-level security systems.
--
-- 'healthCheck', 'awsEcsTaskDefinitionContainerDefinitionsDetails_healthCheck' - The container health check command and associated configuration
-- parameters for the container.
--
-- 'disableNetworking', 'awsEcsTaskDefinitionContainerDefinitionsDetails_disableNetworking' - Whether to disable networking within the container.
--
-- 'volumesFrom', 'awsEcsTaskDefinitionContainerDefinitionsDetails_volumesFrom' - Data volumes to mount from another container.
--
-- 'environment', 'awsEcsTaskDefinitionContainerDefinitionsDetails_environment' - The environment variables to pass to a container.
--
-- 'secrets', 'awsEcsTaskDefinitionContainerDefinitionsDetails_secrets' - The secrets to pass to the container.
--
-- 'entryPoint', 'awsEcsTaskDefinitionContainerDefinitionsDetails_entryPoint' - The entry point that is passed to the container.
--
-- 'workingDirectory', 'awsEcsTaskDefinitionContainerDefinitionsDetails_workingDirectory' - The working directory in which to run commands inside the container.
--
-- 'environmentFiles', 'awsEcsTaskDefinitionContainerDefinitionsDetails_environmentFiles' - A list of files containing the environment variables to pass to a
-- container.
--
-- 'stopTimeout', 'awsEcsTaskDefinitionContainerDefinitionsDetails_stopTimeout' - The number of seconds to wait before the container is stopped if it
-- doesn\'t shut down normally on its own.
--
-- 'privileged', 'awsEcsTaskDefinitionContainerDefinitionsDetails_privileged' - Whether the container is given elevated privileges on the host container
-- instance. The elevated privileges are similar to the root user.
--
-- 'ulimits', 'awsEcsTaskDefinitionContainerDefinitionsDetails_ulimits' - A list of ulimits to set in the container.
--
-- 'portMappings', 'awsEcsTaskDefinitionContainerDefinitionsDetails_portMappings' - The list of port mappings for the container.
--
-- 'resourceRequirements', 'awsEcsTaskDefinitionContainerDefinitionsDetails_resourceRequirements' - The type and amount of a resource to assign to a container. The only
-- supported resource is a GPU.
--
-- 'memory', 'awsEcsTaskDefinitionContainerDefinitionsDetails_memory' - The amount (in MiB) of memory to present to the container. If the
-- container attempts to exceed the memory specified here, the container is
-- shut down. The total amount of memory reserved for all containers within
-- a task must be lower than the task memory value, if one is specified.
--
-- 'extraHosts', 'awsEcsTaskDefinitionContainerDefinitionsDetails_extraHosts' - A list of hostnames and IP address mappings to append to the
-- __\/etc\/hosts__ file on the container.
--
-- 'dockerLabels', 'awsEcsTaskDefinitionContainerDefinitionsDetails_dockerLabels' - A key-value map of labels to add to the container.
--
-- 'user', 'awsEcsTaskDefinitionContainerDefinitionsDetails_user' - The user to use inside the container.
--
-- The value can use one of the following formats.
--
-- -   @ user @
--
-- -   @ user @:@ group @
--
-- -   @ uid @
--
-- -   @ uid @:@ gid @
--
-- -   @ user @:@ gid @
--
-- -   @ uid @:@ group @
--
-- 'systemControls', 'awsEcsTaskDefinitionContainerDefinitionsDetails_systemControls' - A list of namespaced kernel parameters to set in the container.
--
-- 'linuxParameters', 'awsEcsTaskDefinitionContainerDefinitionsDetails_linuxParameters' - Linux-specific modifications that are applied to the container, such as
-- Linux kernel capabilities.
--
-- 'logConfiguration', 'awsEcsTaskDefinitionContainerDefinitionsDetails_logConfiguration' - The log configuration specification for the container.
--
-- 'firelensConfiguration', 'awsEcsTaskDefinitionContainerDefinitionsDetails_firelensConfiguration' - The FireLens configuration for the container. Specifies and configures a
-- log router for container logs.
--
-- 'dnsSearchDomains', 'awsEcsTaskDefinitionContainerDefinitionsDetails_dnsSearchDomains' - A list of DNS search domains that are presented to the container.
--
-- 'pseudoTerminal', 'awsEcsTaskDefinitionContainerDefinitionsDetails_pseudoTerminal' - Whether to allocate a TTY to the container.
--
-- 'dependsOn', 'awsEcsTaskDefinitionContainerDefinitionsDetails_dependsOn' - The dependencies that are defined for container startup and shutdown.
--
-- 'dnsServers', 'awsEcsTaskDefinitionContainerDefinitionsDetails_dnsServers' - A list of DNS servers that are presented to the container.
--
-- 'name', 'awsEcsTaskDefinitionContainerDefinitionsDetails_name' - The name of the container.
--
-- 'mountPoints', 'awsEcsTaskDefinitionContainerDefinitionsDetails_mountPoints' - The mount points for the data volumes in the container.
--
-- 'interactive', 'awsEcsTaskDefinitionContainerDefinitionsDetails_interactive' - If set to true, then containerized applications can be deployed that
-- require @stdin@ or a @tty@ to be allocated.
--
-- 'startTimeout', 'awsEcsTaskDefinitionContainerDefinitionsDetails_startTimeout' - The number of seconds to wait before giving up on resolving dependencies
-- for a container.
--
-- 'readonlyRootFilesystem', 'awsEcsTaskDefinitionContainerDefinitionsDetails_readonlyRootFilesystem' - Whether the container is given read-only access to its root file system.
--
-- 'links', 'awsEcsTaskDefinitionContainerDefinitionsDetails_links' - A list of links for the container in the form @ container_name:alias @.
-- Allows containers to communicate with each other without the need for
-- port mappings.
--
-- 'cpu', 'awsEcsTaskDefinitionContainerDefinitionsDetails_cpu' - The number of CPU units reserved for the container.
--
-- 'essential', 'awsEcsTaskDefinitionContainerDefinitionsDetails_essential' - Whether the container is essential. All tasks must have at least one
-- essential container.
--
-- 'memoryReservation', 'awsEcsTaskDefinitionContainerDefinitionsDetails_memoryReservation' - The soft limit (in MiB) of memory to reserve for the container.
newAwsEcsTaskDefinitionContainerDefinitionsDetails ::
  AwsEcsTaskDefinitionContainerDefinitionsDetails
newAwsEcsTaskDefinitionContainerDefinitionsDetails :: AwsEcsTaskDefinitionContainerDefinitionsDetails
newAwsEcsTaskDefinitionContainerDefinitionsDetails =
  AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
-> Maybe [Text]
-> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
-> Maybe Bool
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
-> Maybe [Text]
-> Maybe Text
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
-> Maybe Int
-> Maybe Bool
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
-> Maybe Int
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
-> Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
-> Maybe [Text]
-> Maybe Bool
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
-> Maybe [Text]
-> Maybe Text
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
-> Maybe Bool
-> Maybe Int
-> Maybe Bool
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Int
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
AwsEcsTaskDefinitionContainerDefinitionsDetails'
    { $sel:command:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
command =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:hostname:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
hostname = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:image:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
image = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:repositoryCredentials:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials =
        Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:dockerSecurityOptions:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
dockerSecurityOptions =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:healthCheck:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck =
        Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:disableNetworking:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
disableNetworking =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:volumesFrom:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom =
        Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:environment:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment =
        Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:secrets:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets = Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:entryPoint:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
entryPoint =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:workingDirectory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
workingDirectory =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:environmentFiles:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles =
        Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:stopTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
stopTimeout =
        Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:privileged:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
privileged =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:ulimits:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits = Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:portMappings:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings =
        Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:resourceRequirements:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements =
        Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:memory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
memory = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:extraHosts:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts =
        Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:dockerLabels:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe (HashMap Text Text)
dockerLabels =
        Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:user:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
user = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:systemControls:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls =
        Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:linuxParameters:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters =
        Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:logConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration =
        Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:firelensConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration =
        Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:dnsSearchDomains:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
dnsSearchDomains =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:pseudoTerminal:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
pseudoTerminal =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:dependsOn:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn =
        Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:dnsServers:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
dnsServers =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:name:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:mountPoints:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints =
        Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
forall a. Maybe a
Prelude.Nothing,
      $sel:interactive:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
interactive =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:startTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
startTimeout =
        Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:readonlyRootFilesystem:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
readonlyRootFilesystem =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:links:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
links = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:cpu:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
cpu = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:essential:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
essential =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:memoryReservation:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
memoryReservation =
        Maybe Int
forall a. Maybe a
Prelude.Nothing
    }

-- | The command that is passed to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_command :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [Prelude.Text])
awsEcsTaskDefinitionContainerDefinitionsDetails_command :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_command = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [Text] -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [Text]
command :: Maybe [Text]
$sel:command:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
command} -> Maybe [Text]
command) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [Text]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:command:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
command = Maybe [Text]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The hostname to use for the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_hostname :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Text)
awsEcsTaskDefinitionContainerDefinitionsDetails_hostname :: (Maybe Text -> f (Maybe Text))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_hostname = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Text -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Text
hostname :: Maybe Text
$sel:hostname:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
hostname} -> Maybe Text
hostname) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Text
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:hostname:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
hostname = Maybe Text
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The image used to start the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_image :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Text)
awsEcsTaskDefinitionContainerDefinitionsDetails_image :: (Maybe Text -> f (Maybe Text))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_image = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Text -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Text
image :: Maybe Text
$sel:image:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
image} -> Maybe Text
image) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Text
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:image:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
image = Maybe Text
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The private repository authentication credentials to use.
awsEcsTaskDefinitionContainerDefinitionsDetails_repositoryCredentials :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails)
awsEcsTaskDefinitionContainerDefinitionsDetails_repositoryCredentials :: (Maybe
   AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
 -> f (Maybe
         AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_repositoryCredentials = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails)
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
$sel:repositoryCredentials:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials} -> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:repositoryCredentials:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials = Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of strings to provide custom labels for SELinux and AppArmor
-- multi-level security systems.
awsEcsTaskDefinitionContainerDefinitionsDetails_dockerSecurityOptions :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [Prelude.Text])
awsEcsTaskDefinitionContainerDefinitionsDetails_dockerSecurityOptions :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_dockerSecurityOptions = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [Text] -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [Text]
dockerSecurityOptions :: Maybe [Text]
$sel:dockerSecurityOptions:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
dockerSecurityOptions} -> Maybe [Text]
dockerSecurityOptions) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [Text]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:dockerSecurityOptions:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
dockerSecurityOptions = Maybe [Text]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The container health check command and associated configuration
-- parameters for the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_healthCheck :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails)
awsEcsTaskDefinitionContainerDefinitionsDetails_healthCheck :: (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
 -> f (Maybe
         AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_healthCheck = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails)
     (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck :: Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
$sel:healthCheck:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck} -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:healthCheck:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck = Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | Whether to disable networking within the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_disableNetworking :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Bool)
awsEcsTaskDefinitionContainerDefinitionsDetails_disableNetworking :: (Maybe Bool -> f (Maybe Bool))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_disableNetworking = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Bool -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
disableNetworking :: Maybe Bool
$sel:disableNetworking:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
disableNetworking} -> Maybe Bool
disableNetworking) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Bool
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:disableNetworking:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
disableNetworking = Maybe Bool
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | Data volumes to mount from another container.
awsEcsTaskDefinitionContainerDefinitionsDetails_volumesFrom :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_volumesFrom :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_volumesFrom = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
$sel:volumesFrom:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:volumesFrom:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom = Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The environment variables to pass to a container.
awsEcsTaskDefinitionContainerDefinitionsDetails_environment :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_environment :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_environment = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
$sel:environment:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:environment:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment = Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The secrets to pass to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_secrets :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_secrets :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_secrets = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
$sel:secrets:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:secrets:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets = Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
    -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
-> (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
-> Iso
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The entry point that is passed to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_entryPoint :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [Prelude.Text])
awsEcsTaskDefinitionContainerDefinitionsDetails_entryPoint :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_entryPoint = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [Text] -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [Text]
entryPoint :: Maybe [Text]
$sel:entryPoint:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
entryPoint} -> Maybe [Text]
entryPoint) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [Text]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:entryPoint:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
entryPoint = Maybe [Text]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The working directory in which to run commands inside the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_workingDirectory :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Text)
awsEcsTaskDefinitionContainerDefinitionsDetails_workingDirectory :: (Maybe Text -> f (Maybe Text))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_workingDirectory = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Text -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Text
workingDirectory :: Maybe Text
$sel:workingDirectory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
workingDirectory} -> Maybe Text
workingDirectory) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Text
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:workingDirectory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
workingDirectory = Maybe Text
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of files containing the environment variables to pass to a
-- container.
awsEcsTaskDefinitionContainerDefinitionsDetails_environmentFiles :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_environmentFiles :: (Maybe
   [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_environmentFiles = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
$sel:environmentFiles:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles} -> Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:environmentFiles:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles = Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The number of seconds to wait before the container is stopped if it
-- doesn\'t shut down normally on its own.
awsEcsTaskDefinitionContainerDefinitionsDetails_stopTimeout :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Int)
awsEcsTaskDefinitionContainerDefinitionsDetails_stopTimeout :: (Maybe Int -> f (Maybe Int))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_stopTimeout = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Int
stopTimeout :: Maybe Int
$sel:stopTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
stopTimeout} -> Maybe Int
stopTimeout) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Int
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:stopTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
stopTimeout = Maybe Int
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | Whether the container is given elevated privileges on the host container
-- instance. The elevated privileges are similar to the root user.
awsEcsTaskDefinitionContainerDefinitionsDetails_privileged :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Bool)
awsEcsTaskDefinitionContainerDefinitionsDetails_privileged :: (Maybe Bool -> f (Maybe Bool))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_privileged = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Bool -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
privileged :: Maybe Bool
$sel:privileged:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
privileged} -> Maybe Bool
privileged) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Bool
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:privileged:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
privileged = Maybe Bool
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of ulimits to set in the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_ulimits :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_ulimits :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_ulimits = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
$sel:ulimits:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:ulimits:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits = Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
    -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
-> (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
-> Iso
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The list of port mappings for the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_portMappings :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_portMappings :: (Maybe
   [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_portMappings = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
$sel:portMappings:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:portMappings:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings = Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The type and amount of a resource to assign to a container. The only
-- supported resource is a GPU.
awsEcsTaskDefinitionContainerDefinitionsDetails_resourceRequirements :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_resourceRequirements :: (Maybe
   [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_resourceRequirements = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
$sel:resourceRequirements:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements} -> Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:resourceRequirements:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements = Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The amount (in MiB) of memory to present to the container. If the
-- container attempts to exceed the memory specified here, the container is
-- shut down. The total amount of memory reserved for all containers within
-- a task must be lower than the task memory value, if one is specified.
awsEcsTaskDefinitionContainerDefinitionsDetails_memory :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Int)
awsEcsTaskDefinitionContainerDefinitionsDetails_memory :: (Maybe Int -> f (Maybe Int))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_memory = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Int
memory :: Maybe Int
$sel:memory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
memory} -> Maybe Int
memory) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Int
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:memory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
memory = Maybe Int
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of hostnames and IP address mappings to append to the
-- __\/etc\/hosts__ file on the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_extraHosts :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_extraHosts :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_extraHosts = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
$sel:extraHosts:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:extraHosts:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts = Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
-> Iso
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A key-value map of labels to add to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_dockerLabels :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
awsEcsTaskDefinitionContainerDefinitionsDetails_dockerLabels :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_dockerLabels = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe (HashMap Text Text))
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe (HashMap Text Text)
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe (HashMap Text Text)
dockerLabels :: Maybe (HashMap Text Text)
$sel:dockerLabels:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe (HashMap Text Text)
dockerLabels} -> Maybe (HashMap Text Text)
dockerLabels) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe (HashMap Text Text)
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:dockerLabels:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe (HashMap Text Text)
dockerLabels = Maybe (HashMap Text Text)
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
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 AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The user to use inside the container.
--
-- The value can use one of the following formats.
--
-- -   @ user @
--
-- -   @ user @:@ group @
--
-- -   @ uid @
--
-- -   @ uid @:@ gid @
--
-- -   @ user @:@ gid @
--
-- -   @ uid @:@ group @
awsEcsTaskDefinitionContainerDefinitionsDetails_user :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Text)
awsEcsTaskDefinitionContainerDefinitionsDetails_user :: (Maybe Text -> f (Maybe Text))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_user = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Text -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Text
user :: Maybe Text
$sel:user:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
user} -> Maybe Text
user) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Text
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:user:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
user = Maybe Text
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of namespaced kernel parameters to set in the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_systemControls :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_systemControls :: (Maybe
   [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_systemControls = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
$sel:systemControls:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls} -> Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:systemControls:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls = Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Linux-specific modifications that are applied to the container, such as
-- Linux kernel capabilities.
awsEcsTaskDefinitionContainerDefinitionsDetails_linuxParameters :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails)
awsEcsTaskDefinitionContainerDefinitionsDetails_linuxParameters :: (Maybe
   AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
 -> f (Maybe
         AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_linuxParameters = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails)
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
$sel:linuxParameters:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters} -> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:linuxParameters:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters = Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The log configuration specification for the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_logConfiguration :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails)
awsEcsTaskDefinitionContainerDefinitionsDetails_logConfiguration :: (Maybe
   AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
 -> f (Maybe
         AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_logConfiguration = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails)
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
$sel:logConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration} -> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:logConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration = Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The FireLens configuration for the container. Specifies and configures a
-- log router for container logs.
awsEcsTaskDefinitionContainerDefinitionsDetails_firelensConfiguration :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails)
awsEcsTaskDefinitionContainerDefinitionsDetails_firelensConfiguration :: (Maybe
   AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
 -> f (Maybe
         AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_firelensConfiguration = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails)
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
$sel:firelensConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration} -> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:firelensConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration = Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of DNS search domains that are presented to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_dnsSearchDomains :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [Prelude.Text])
awsEcsTaskDefinitionContainerDefinitionsDetails_dnsSearchDomains :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_dnsSearchDomains = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [Text] -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [Text]
dnsSearchDomains :: Maybe [Text]
$sel:dnsSearchDomains:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
dnsSearchDomains} -> Maybe [Text]
dnsSearchDomains) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [Text]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:dnsSearchDomains:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
dnsSearchDomains = Maybe [Text]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Whether to allocate a TTY to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_pseudoTerminal :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Bool)
awsEcsTaskDefinitionContainerDefinitionsDetails_pseudoTerminal :: (Maybe Bool -> f (Maybe Bool))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_pseudoTerminal = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Bool -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
pseudoTerminal :: Maybe Bool
$sel:pseudoTerminal:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
pseudoTerminal} -> Maybe Bool
pseudoTerminal) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Bool
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:pseudoTerminal:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
pseudoTerminal = Maybe Bool
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The dependencies that are defined for container startup and shutdown.
awsEcsTaskDefinitionContainerDefinitionsDetails_dependsOn :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_dependsOn :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_dependsOn = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
$sel:dependsOn:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:dependsOn:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn = Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
    -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
-> Iso
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A list of DNS servers that are presented to the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_dnsServers :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [Prelude.Text])
awsEcsTaskDefinitionContainerDefinitionsDetails_dnsServers :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_dnsServers = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [Text] -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [Text]
dnsServers :: Maybe [Text]
$sel:dnsServers:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
dnsServers} -> Maybe [Text]
dnsServers) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [Text]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:dnsServers:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
dnsServers = Maybe [Text]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name of the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_name :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Text)
awsEcsTaskDefinitionContainerDefinitionsDetails_name :: (Maybe Text -> f (Maybe Text))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_name = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Text -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Text
name :: Maybe Text
$sel:name:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
name} -> Maybe Text
name) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Text
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:name:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Text
name = Maybe Text
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The mount points for the data volumes in the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_mountPoints :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
awsEcsTaskDefinitionContainerDefinitionsDetails_mountPoints :: (Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
 -> f (Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_mountPoints = (AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
    -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
$sel:mountPoints:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints} -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:mountPoints:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints = Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe
    [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  -> f (Maybe
          [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe
       [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
     -> f (Maybe
             [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
    -> Maybe
         [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
-> (Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
    -> f (Maybe
            [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
-> Iso
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
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 AnIso
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
  [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | If set to true, then containerized applications can be deployed that
-- require @stdin@ or a @tty@ to be allocated.
awsEcsTaskDefinitionContainerDefinitionsDetails_interactive :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Bool)
awsEcsTaskDefinitionContainerDefinitionsDetails_interactive :: (Maybe Bool -> f (Maybe Bool))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_interactive = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Bool -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
interactive :: Maybe Bool
$sel:interactive:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
interactive} -> Maybe Bool
interactive) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Bool
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:interactive:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
interactive = Maybe Bool
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The number of seconds to wait before giving up on resolving dependencies
-- for a container.
awsEcsTaskDefinitionContainerDefinitionsDetails_startTimeout :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Int)
awsEcsTaskDefinitionContainerDefinitionsDetails_startTimeout :: (Maybe Int -> f (Maybe Int))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_startTimeout = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Int
startTimeout :: Maybe Int
$sel:startTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
startTimeout} -> Maybe Int
startTimeout) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Int
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:startTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
startTimeout = Maybe Int
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | Whether the container is given read-only access to its root file system.
awsEcsTaskDefinitionContainerDefinitionsDetails_readonlyRootFilesystem :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Bool)
awsEcsTaskDefinitionContainerDefinitionsDetails_readonlyRootFilesystem :: (Maybe Bool -> f (Maybe Bool))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_readonlyRootFilesystem = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Bool -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
readonlyRootFilesystem :: Maybe Bool
$sel:readonlyRootFilesystem:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
readonlyRootFilesystem} -> Maybe Bool
readonlyRootFilesystem) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Bool
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:readonlyRootFilesystem:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
readonlyRootFilesystem = Maybe Bool
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | A list of links for the container in the form @ container_name:alias @.
-- Allows containers to communicate with each other without the need for
-- port mappings.
awsEcsTaskDefinitionContainerDefinitionsDetails_links :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe [Prelude.Text])
awsEcsTaskDefinitionContainerDefinitionsDetails_links :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_links = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text])
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe [Text] -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe [Text]
links :: Maybe [Text]
$sel:links:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
links} -> Maybe [Text]
links) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe [Text]
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:links:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe [Text]
links = Maybe [Text]
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails
 -> f AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The number of CPU units reserved for the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_cpu :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Int)
awsEcsTaskDefinitionContainerDefinitionsDetails_cpu :: (Maybe Int -> f (Maybe Int))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_cpu = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Int
cpu :: Maybe Int
$sel:cpu:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
cpu} -> Maybe Int
cpu) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Int
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:cpu:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
cpu = Maybe Int
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | Whether the container is essential. All tasks must have at least one
-- essential container.
awsEcsTaskDefinitionContainerDefinitionsDetails_essential :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Bool)
awsEcsTaskDefinitionContainerDefinitionsDetails_essential :: (Maybe Bool -> f (Maybe Bool))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_essential = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Bool -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
essential :: Maybe Bool
$sel:essential:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
essential} -> Maybe Bool
essential) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Bool
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:essential:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Bool
essential = Maybe Bool
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

-- | The soft limit (in MiB) of memory to reserve for the container.
awsEcsTaskDefinitionContainerDefinitionsDetails_memoryReservation :: Lens.Lens' AwsEcsTaskDefinitionContainerDefinitionsDetails (Prelude.Maybe Prelude.Int)
awsEcsTaskDefinitionContainerDefinitionsDetails_memoryReservation :: (Maybe Int -> f (Maybe Int))
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
-> f AwsEcsTaskDefinitionContainerDefinitionsDetails
awsEcsTaskDefinitionContainerDefinitionsDetails_memoryReservation = (AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int)
-> (AwsEcsTaskDefinitionContainerDefinitionsDetails
    -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Lens
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     AwsEcsTaskDefinitionContainerDefinitionsDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Int
memoryReservation :: Maybe Int
$sel:memoryReservation:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
memoryReservation} -> Maybe Int
memoryReservation) (\s :: AwsEcsTaskDefinitionContainerDefinitionsDetails
s@AwsEcsTaskDefinitionContainerDefinitionsDetails' {} Maybe Int
a -> AwsEcsTaskDefinitionContainerDefinitionsDetails
s {$sel:memoryReservation:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: Maybe Int
memoryReservation = Maybe Int
a} :: AwsEcsTaskDefinitionContainerDefinitionsDetails)

instance
  Core.FromJSON
    AwsEcsTaskDefinitionContainerDefinitionsDetails
  where
  parseJSON :: Value -> Parser AwsEcsTaskDefinitionContainerDefinitionsDetails
parseJSON =
    String
-> (Object
    -> Parser AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Value
-> Parser AwsEcsTaskDefinitionContainerDefinitionsDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"AwsEcsTaskDefinitionContainerDefinitionsDetails"
      ( \Object
x ->
          Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
-> Maybe [Text]
-> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
-> Maybe Bool
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
-> Maybe [Text]
-> Maybe Text
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
-> Maybe Int
-> Maybe Bool
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
-> Maybe Int
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
-> Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
-> Maybe [Text]
-> Maybe Bool
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
-> Maybe [Text]
-> Maybe Text
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
-> Maybe Bool
-> Maybe Int
-> Maybe Bool
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Int
-> AwsEcsTaskDefinitionContainerDefinitionsDetails
AwsEcsTaskDefinitionContainerDefinitionsDetails'
            (Maybe [Text]
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
 -> Maybe [Text]
 -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
 -> Maybe Bool
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
 -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
 -> Maybe Int
 -> Maybe Bool
 -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
 -> Maybe Int
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
 -> Maybe (HashMap Text Text)
 -> Maybe Text
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
 -> Maybe
      AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
 -> Maybe [Text]
 -> Maybe Bool
 -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe
      [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
 -> Maybe Bool
 -> Maybe Int
 -> Maybe Bool
 -> Maybe [Text]
 -> Maybe Int
 -> Maybe Bool
 -> Maybe Int
 -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
      -> Maybe [Text]
      -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
      -> Maybe Bool
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Command" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
   -> Maybe [Text]
   -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
   -> Maybe Bool
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
      -> Maybe [Text]
      -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
      -> Maybe Bool
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Hostname")
              Parser
  (Maybe Text
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
   -> Maybe [Text]
   -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
   -> Maybe Bool
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
      -> Maybe [Text]
      -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
      -> Maybe Bool
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Image")
              Parser
  (Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
   -> Maybe [Text]
   -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
   -> Maybe Bool
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails)
-> Parser
     (Maybe [Text]
      -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
      -> Maybe Bool
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RepositoryCredentials")
              Parser
  (Maybe [Text]
   -> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
   -> Maybe Bool
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
      -> Maybe Bool
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DockerSecurityOptions"
                              Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                          )
              Parser
  (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
   -> Maybe Bool
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails)
-> Parser
     (Maybe Bool
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HealthCheck")
              Parser
  (Maybe Bool
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DisableNetworking")
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"VolumesFrom" Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Environment" Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Secrets" Parser
  (Maybe
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]))
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EntryPoint" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"WorkingDirectory")
              Parser
  (Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EnvironmentFiles"
                              Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
forall a. Monoid a => a
Prelude.mempty
                          )
              Parser
  (Maybe Int
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StopTimeout")
              Parser
  (Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Privileged")
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Ulimits" Parser
  (Maybe
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]))
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
      -> Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PortMappings" Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
   -> Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
-> Parser
     (Maybe Int
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ResourceRequirements"
                              Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
forall a. Monoid a => a
Prelude.mempty
                          )
              Parser
  (Maybe Int
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Memory")
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
-> Parser
     (Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ExtraHosts" Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe (HashMap Text Text))
-> Parser
     (Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DockerLabels" Parser (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text) -> Parser (Maybe (HashMap Text Text))
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"User")
              Parser
  (Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SystemControls" Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
      -> Maybe
           AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LinuxParameters")
              Parser
  (Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
   -> Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LogConfiguration")
              Parser
  (Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails)
-> Parser
     (Maybe [Text]
      -> Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FirelensConfiguration")
              Parser
  (Maybe [Text]
   -> Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Bool
      -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DnsSearchDomains"
                              Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                          )
              Parser
  (Maybe Bool
   -> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PseudoTerminal")
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DependsOn" Parser
  (Maybe
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]))
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DnsServers" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe Text
   -> Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Name")
              Parser
  (Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser
     (Maybe
        (Maybe
           [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MountPoints" Parser
  (Maybe
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]))
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
-> Parser
     (Maybe
        [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Interactive")
              Parser
  (Maybe Int
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StartTimeout")
              Parser
  (Maybe Bool
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe [Text]
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReadonlyRootFilesystem")
              Parser
  (Maybe [Text]
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> Maybe Int
      -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Links" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
              Parser
  (Maybe Int
   -> Maybe Bool
   -> Maybe Int
   -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Cpu")
              Parser
  (Maybe Bool
   -> Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Essential")
              Parser
  (Maybe Int -> AwsEcsTaskDefinitionContainerDefinitionsDetails)
-> Parser (Maybe Int)
-> Parser AwsEcsTaskDefinitionContainerDefinitionsDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MemoryReservation")
      )

instance
  Prelude.Hashable
    AwsEcsTaskDefinitionContainerDefinitionsDetails

instance
  Prelude.NFData
    AwsEcsTaskDefinitionContainerDefinitionsDetails

instance
  Core.ToJSON
    AwsEcsTaskDefinitionContainerDefinitionsDetails
  where
  toJSON :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Value
toJSON
    AwsEcsTaskDefinitionContainerDefinitionsDetails' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
Maybe Text
Maybe (HashMap Text Text)
Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
memoryReservation :: Maybe Int
essential :: Maybe Bool
cpu :: Maybe Int
links :: Maybe [Text]
readonlyRootFilesystem :: Maybe Bool
startTimeout :: Maybe Int
interactive :: Maybe Bool
mountPoints :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
name :: Maybe Text
dnsServers :: Maybe [Text]
dependsOn :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
pseudoTerminal :: Maybe Bool
dnsSearchDomains :: Maybe [Text]
firelensConfiguration :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
logConfiguration :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
linuxParameters :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
systemControls :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
user :: Maybe Text
dockerLabels :: Maybe (HashMap Text Text)
extraHosts :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
memory :: Maybe Int
resourceRequirements :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
portMappings :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
ulimits :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
privileged :: Maybe Bool
stopTimeout :: Maybe Int
environmentFiles :: Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
workingDirectory :: Maybe Text
entryPoint :: Maybe [Text]
secrets :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
environment :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
volumesFrom :: Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
disableNetworking :: Maybe Bool
healthCheck :: Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
dockerSecurityOptions :: Maybe [Text]
repositoryCredentials :: Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
image :: Maybe Text
hostname :: Maybe Text
command :: Maybe [Text]
$sel:memoryReservation:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
$sel:essential:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
$sel:cpu:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
$sel:links:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
$sel:readonlyRootFilesystem:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
$sel:startTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
$sel:interactive:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
$sel:mountPoints:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
$sel:name:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
$sel:dnsServers:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
$sel:dependsOn:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
$sel:pseudoTerminal:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
$sel:dnsSearchDomains:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
$sel:firelensConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
$sel:logConfiguration:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
$sel:linuxParameters:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
$sel:systemControls:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
$sel:user:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
$sel:dockerLabels:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe (HashMap Text Text)
$sel:extraHosts:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
$sel:memory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
$sel:resourceRequirements:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
$sel:portMappings:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
$sel:ulimits:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
$sel:privileged:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
$sel:stopTimeout:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Int
$sel:environmentFiles:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
$sel:workingDirectory:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
$sel:entryPoint:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
$sel:secrets:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
$sel:environment:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
$sel:volumesFrom:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
$sel:disableNetworking:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Bool
$sel:healthCheck:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
$sel:dockerSecurityOptions:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
$sel:repositoryCredentials:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
$sel:image:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
$sel:hostname:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe Text
$sel:command:AwsEcsTaskDefinitionContainerDefinitionsDetails' :: AwsEcsTaskDefinitionContainerDefinitionsDetails -> Maybe [Text]
..} =
      [Pair] -> Value
Core.object
        ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
            [ (Text
"Command" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
command,
              (Text
"Hostname" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
hostname,
              (Text
"Image" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
image,
              (Text
"RepositoryCredentials" Text
-> AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
 -> Pair)
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails
repositoryCredentials,
              (Text
"DockerSecurityOptions" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
dockerSecurityOptions,
              (Text
"HealthCheck" Text
-> AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
 -> Pair)
-> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails
healthCheck,
              (Text
"DisableNetworking" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
disableNetworking,
              (Text
"VolumesFrom" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails]
volumesFrom,
              (Text
"Environment" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails]
environment,
              (Text
"Secrets" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails] -> Pair)
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails]
secrets,
              (Text
"EntryPoint" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
entryPoint,
              (Text
"WorkingDirectory" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
workingDirectory,
              (Text
"EnvironmentFiles" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                ([AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails]
environmentFiles,
              (Text
"StopTimeout" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
stopTimeout,
              (Text
"Privileged" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
privileged,
              (Text
"Ulimits" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails] -> Pair)
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails]
ulimits,
              (Text
"PortMappings" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails]
portMappings,
              (Text
"ResourceRequirements" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                ([AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails]
resourceRequirements,
              (Text
"Memory" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
memory,
              (Text
"ExtraHosts" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails]
extraHosts,
              (Text
"DockerLabels" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
dockerLabels,
              (Text
"User" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
user,
              (Text
"SystemControls" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                ([AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  [AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails]
systemControls,
              (Text
"LinuxParameters" Text
-> AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
 -> Pair)
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails
linuxParameters,
              (Text
"LogConfiguration" Text
-> AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
 -> Pair)
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails
logConfiguration,
              (Text
"FirelensConfiguration" Text
-> AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
 -> Pair)
-> Maybe
     AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe
  AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails
firelensConfiguration,
              (Text
"DnsSearchDomains" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
dnsSearchDomains,
              (Text
"PseudoTerminal" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
pseudoTerminal,
              (Text
"DependsOn" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
 -> Pair)
-> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails]
dependsOn,
              (Text
"DnsServers" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
dnsServers,
              (Text
"Name" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
              (Text
"MountPoints" Text
-> [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
 -> Pair)
-> Maybe
     [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
-> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails]
mountPoints,
              (Text
"Interactive" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
interactive,
              (Text
"StartTimeout" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
startTimeout,
              (Text
"ReadonlyRootFilesystem" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
readonlyRootFilesystem,
              (Text
"Links" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
links,
              (Text
"Cpu" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
cpu,
              (Text
"Essential" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
essential,
              (Text
"MemoryReservation" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
memoryReservation
            ]
        )