{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.ECS.Types.ContainerOverride where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ECS.Types.EnvironmentFile
import Amazonka.ECS.Types.KeyValuePair
import Amazonka.ECS.Types.ResourceRequirement
import qualified Amazonka.Prelude as Prelude
data ContainerOverride = ContainerOverride'
{
ContainerOverride -> Maybe [Text]
command :: Prelude.Maybe [Prelude.Text],
ContainerOverride -> Maybe Int
cpu :: Prelude.Maybe Prelude.Int,
ContainerOverride -> Maybe [KeyValuePair]
environment :: Prelude.Maybe [KeyValuePair],
ContainerOverride -> Maybe [EnvironmentFile]
environmentFiles :: Prelude.Maybe [EnvironmentFile],
ContainerOverride -> Maybe Int
memory :: Prelude.Maybe Prelude.Int,
ContainerOverride -> Maybe Int
memoryReservation :: Prelude.Maybe Prelude.Int,
ContainerOverride -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
ContainerOverride -> Maybe [ResourceRequirement]
resourceRequirements :: Prelude.Maybe [ResourceRequirement]
}
deriving (ContainerOverride -> ContainerOverride -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ContainerOverride -> ContainerOverride -> Bool
$c/= :: ContainerOverride -> ContainerOverride -> Bool
== :: ContainerOverride -> ContainerOverride -> Bool
$c== :: ContainerOverride -> ContainerOverride -> Bool
Prelude.Eq, ReadPrec [ContainerOverride]
ReadPrec ContainerOverride
Int -> ReadS ContainerOverride
ReadS [ContainerOverride]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ContainerOverride]
$creadListPrec :: ReadPrec [ContainerOverride]
readPrec :: ReadPrec ContainerOverride
$creadPrec :: ReadPrec ContainerOverride
readList :: ReadS [ContainerOverride]
$creadList :: ReadS [ContainerOverride]
readsPrec :: Int -> ReadS ContainerOverride
$creadsPrec :: Int -> ReadS ContainerOverride
Prelude.Read, Int -> ContainerOverride -> ShowS
[ContainerOverride] -> ShowS
ContainerOverride -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ContainerOverride] -> ShowS
$cshowList :: [ContainerOverride] -> ShowS
show :: ContainerOverride -> String
$cshow :: ContainerOverride -> String
showsPrec :: Int -> ContainerOverride -> ShowS
$cshowsPrec :: Int -> ContainerOverride -> ShowS
Prelude.Show, forall x. Rep ContainerOverride x -> ContainerOverride
forall x. ContainerOverride -> Rep ContainerOverride x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ContainerOverride x -> ContainerOverride
$cfrom :: forall x. ContainerOverride -> Rep ContainerOverride x
Prelude.Generic)
newContainerOverride ::
ContainerOverride
newContainerOverride :: ContainerOverride
newContainerOverride =
ContainerOverride'
{ $sel:command:ContainerOverride' :: Maybe [Text]
command = forall a. Maybe a
Prelude.Nothing,
$sel:cpu:ContainerOverride' :: Maybe Int
cpu = forall a. Maybe a
Prelude.Nothing,
$sel:environment:ContainerOverride' :: Maybe [KeyValuePair]
environment = forall a. Maybe a
Prelude.Nothing,
$sel:environmentFiles:ContainerOverride' :: Maybe [EnvironmentFile]
environmentFiles = forall a. Maybe a
Prelude.Nothing,
$sel:memory:ContainerOverride' :: Maybe Int
memory = forall a. Maybe a
Prelude.Nothing,
$sel:memoryReservation:ContainerOverride' :: Maybe Int
memoryReservation = forall a. Maybe a
Prelude.Nothing,
$sel:name:ContainerOverride' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:resourceRequirements:ContainerOverride' :: Maybe [ResourceRequirement]
resourceRequirements = forall a. Maybe a
Prelude.Nothing
}
containerOverride_command :: Lens.Lens' ContainerOverride (Prelude.Maybe [Prelude.Text])
containerOverride_command :: Lens' ContainerOverride (Maybe [Text])
containerOverride_command = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe [Text]
command :: Maybe [Text]
$sel:command:ContainerOverride' :: ContainerOverride -> Maybe [Text]
command} -> Maybe [Text]
command) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe [Text]
a -> ContainerOverride
s {$sel:command:ContainerOverride' :: Maybe [Text]
command = Maybe [Text]
a} :: ContainerOverride) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerOverride_cpu :: Lens.Lens' ContainerOverride (Prelude.Maybe Prelude.Int)
containerOverride_cpu :: Lens' ContainerOverride (Maybe Int)
containerOverride_cpu = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe Int
cpu :: Maybe Int
$sel:cpu:ContainerOverride' :: ContainerOverride -> Maybe Int
cpu} -> Maybe Int
cpu) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe Int
a -> ContainerOverride
s {$sel:cpu:ContainerOverride' :: Maybe Int
cpu = Maybe Int
a} :: ContainerOverride)
containerOverride_environment :: Lens.Lens' ContainerOverride (Prelude.Maybe [KeyValuePair])
containerOverride_environment :: Lens' ContainerOverride (Maybe [KeyValuePair])
containerOverride_environment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe [KeyValuePair]
environment :: Maybe [KeyValuePair]
$sel:environment:ContainerOverride' :: ContainerOverride -> Maybe [KeyValuePair]
environment} -> Maybe [KeyValuePair]
environment) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe [KeyValuePair]
a -> ContainerOverride
s {$sel:environment:ContainerOverride' :: Maybe [KeyValuePair]
environment = Maybe [KeyValuePair]
a} :: ContainerOverride) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerOverride_environmentFiles :: Lens.Lens' ContainerOverride (Prelude.Maybe [EnvironmentFile])
containerOverride_environmentFiles :: Lens' ContainerOverride (Maybe [EnvironmentFile])
containerOverride_environmentFiles = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe [EnvironmentFile]
environmentFiles :: Maybe [EnvironmentFile]
$sel:environmentFiles:ContainerOverride' :: ContainerOverride -> Maybe [EnvironmentFile]
environmentFiles} -> Maybe [EnvironmentFile]
environmentFiles) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe [EnvironmentFile]
a -> ContainerOverride
s {$sel:environmentFiles:ContainerOverride' :: Maybe [EnvironmentFile]
environmentFiles = Maybe [EnvironmentFile]
a} :: ContainerOverride) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
containerOverride_memory :: Lens.Lens' ContainerOverride (Prelude.Maybe Prelude.Int)
containerOverride_memory :: Lens' ContainerOverride (Maybe Int)
containerOverride_memory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe Int
memory :: Maybe Int
$sel:memory:ContainerOverride' :: ContainerOverride -> Maybe Int
memory} -> Maybe Int
memory) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe Int
a -> ContainerOverride
s {$sel:memory:ContainerOverride' :: Maybe Int
memory = Maybe Int
a} :: ContainerOverride)
containerOverride_memoryReservation :: Lens.Lens' ContainerOverride (Prelude.Maybe Prelude.Int)
containerOverride_memoryReservation :: Lens' ContainerOverride (Maybe Int)
containerOverride_memoryReservation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe Int
memoryReservation :: Maybe Int
$sel:memoryReservation:ContainerOverride' :: ContainerOverride -> Maybe Int
memoryReservation} -> Maybe Int
memoryReservation) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe Int
a -> ContainerOverride
s {$sel:memoryReservation:ContainerOverride' :: Maybe Int
memoryReservation = Maybe Int
a} :: ContainerOverride)
containerOverride_name :: Lens.Lens' ContainerOverride (Prelude.Maybe Prelude.Text)
containerOverride_name :: Lens' ContainerOverride (Maybe Text)
containerOverride_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe Text
name :: Maybe Text
$sel:name:ContainerOverride' :: ContainerOverride -> Maybe Text
name} -> Maybe Text
name) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe Text
a -> ContainerOverride
s {$sel:name:ContainerOverride' :: Maybe Text
name = Maybe Text
a} :: ContainerOverride)
containerOverride_resourceRequirements :: Lens.Lens' ContainerOverride (Prelude.Maybe [ResourceRequirement])
containerOverride_resourceRequirements :: Lens' ContainerOverride (Maybe [ResourceRequirement])
containerOverride_resourceRequirements = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ContainerOverride' {Maybe [ResourceRequirement]
resourceRequirements :: Maybe [ResourceRequirement]
$sel:resourceRequirements:ContainerOverride' :: ContainerOverride -> Maybe [ResourceRequirement]
resourceRequirements} -> Maybe [ResourceRequirement]
resourceRequirements) (\s :: ContainerOverride
s@ContainerOverride' {} Maybe [ResourceRequirement]
a -> ContainerOverride
s {$sel:resourceRequirements:ContainerOverride' :: Maybe [ResourceRequirement]
resourceRequirements = Maybe [ResourceRequirement]
a} :: ContainerOverride) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromJSON ContainerOverride where
parseJSON :: Value -> Parser ContainerOverride
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ContainerOverride"
( \Object
x ->
Maybe [Text]
-> Maybe Int
-> Maybe [KeyValuePair]
-> Maybe [EnvironmentFile]
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe [ResourceRequirement]
-> ContainerOverride
ContainerOverride'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"command" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"cpu")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"environment" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"environmentFiles"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"memory")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"memoryReservation")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"name")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceRequirements"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
)
instance Prelude.Hashable ContainerOverride where
hashWithSalt :: Int -> ContainerOverride -> Int
hashWithSalt Int
_salt ContainerOverride' {Maybe Int
Maybe [Text]
Maybe [EnvironmentFile]
Maybe [KeyValuePair]
Maybe [ResourceRequirement]
Maybe Text
resourceRequirements :: Maybe [ResourceRequirement]
name :: Maybe Text
memoryReservation :: Maybe Int
memory :: Maybe Int
environmentFiles :: Maybe [EnvironmentFile]
environment :: Maybe [KeyValuePair]
cpu :: Maybe Int
command :: Maybe [Text]
$sel:resourceRequirements:ContainerOverride' :: ContainerOverride -> Maybe [ResourceRequirement]
$sel:name:ContainerOverride' :: ContainerOverride -> Maybe Text
$sel:memoryReservation:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:memory:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:environmentFiles:ContainerOverride' :: ContainerOverride -> Maybe [EnvironmentFile]
$sel:environment:ContainerOverride' :: ContainerOverride -> Maybe [KeyValuePair]
$sel:cpu:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:command:ContainerOverride' :: ContainerOverride -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
command
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
cpu
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [KeyValuePair]
environment
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [EnvironmentFile]
environmentFiles
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
memory
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
memoryReservation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ResourceRequirement]
resourceRequirements
instance Prelude.NFData ContainerOverride where
rnf :: ContainerOverride -> ()
rnf ContainerOverride' {Maybe Int
Maybe [Text]
Maybe [EnvironmentFile]
Maybe [KeyValuePair]
Maybe [ResourceRequirement]
Maybe Text
resourceRequirements :: Maybe [ResourceRequirement]
name :: Maybe Text
memoryReservation :: Maybe Int
memory :: Maybe Int
environmentFiles :: Maybe [EnvironmentFile]
environment :: Maybe [KeyValuePair]
cpu :: Maybe Int
command :: Maybe [Text]
$sel:resourceRequirements:ContainerOverride' :: ContainerOverride -> Maybe [ResourceRequirement]
$sel:name:ContainerOverride' :: ContainerOverride -> Maybe Text
$sel:memoryReservation:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:memory:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:environmentFiles:ContainerOverride' :: ContainerOverride -> Maybe [EnvironmentFile]
$sel:environment:ContainerOverride' :: ContainerOverride -> Maybe [KeyValuePair]
$sel:cpu:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:command:ContainerOverride' :: ContainerOverride -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
command
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
cpu
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [KeyValuePair]
environment
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [EnvironmentFile]
environmentFiles
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
memory
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
memoryReservation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ResourceRequirement]
resourceRequirements
instance Data.ToJSON ContainerOverride where
toJSON :: ContainerOverride -> Value
toJSON ContainerOverride' {Maybe Int
Maybe [Text]
Maybe [EnvironmentFile]
Maybe [KeyValuePair]
Maybe [ResourceRequirement]
Maybe Text
resourceRequirements :: Maybe [ResourceRequirement]
name :: Maybe Text
memoryReservation :: Maybe Int
memory :: Maybe Int
environmentFiles :: Maybe [EnvironmentFile]
environment :: Maybe [KeyValuePair]
cpu :: Maybe Int
command :: Maybe [Text]
$sel:resourceRequirements:ContainerOverride' :: ContainerOverride -> Maybe [ResourceRequirement]
$sel:name:ContainerOverride' :: ContainerOverride -> Maybe Text
$sel:memoryReservation:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:memory:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:environmentFiles:ContainerOverride' :: ContainerOverride -> Maybe [EnvironmentFile]
$sel:environment:ContainerOverride' :: ContainerOverride -> Maybe [KeyValuePair]
$sel:cpu:ContainerOverride' :: ContainerOverride -> Maybe Int
$sel:command:ContainerOverride' :: ContainerOverride -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"command" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
command,
(Key
"cpu" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
cpu,
(Key
"environment" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [KeyValuePair]
environment,
(Key
"environmentFiles" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [EnvironmentFile]
environmentFiles,
(Key
"memory" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
memory,
(Key
"memoryReservation" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
memoryReservation,
(Key
"name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
(Key
"resourceRequirements" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ResourceRequirement]
resourceRequirements
]
)