{-# 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.SageMaker.Types.Model
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SageMaker.Types.Model where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.ContainerDefinition
import Amazonka.SageMaker.Types.InferenceExecutionConfig
import Amazonka.SageMaker.Types.Tag
import Amazonka.SageMaker.Types.VpcConfig

-- | The properties of a model as returned by the Search API.
--
-- /See:/ 'newModel' smart constructor.
data Model = Model'
  { -- | The containers in the inference pipeline.
    Model -> Maybe [ContainerDefinition]
containers :: Prelude.Maybe [ContainerDefinition],
    -- | A timestamp that indicates when the model was created.
    Model -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | Isolates the model container. No inbound or outbound network calls can
    -- be made to or from the model container.
    Model -> Maybe Bool
enableNetworkIsolation :: Prelude.Maybe Prelude.Bool,
    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for
    -- the model.
    Model -> Maybe Text
executionRoleArn :: Prelude.Maybe Prelude.Text,
    Model -> Maybe InferenceExecutionConfig
inferenceExecutionConfig :: Prelude.Maybe InferenceExecutionConfig,
    -- | The Amazon Resource Name (ARN) of the model.
    Model -> Maybe Text
modelArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the model.
    Model -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    Model -> Maybe ContainerDefinition
primaryContainer :: Prelude.Maybe ContainerDefinition,
    -- | A list of key-value pairs associated with the model. For more
    -- information, see
    -- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>
    -- in the /Amazon Web Services General Reference Guide/.
    Model -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    Model -> Maybe VpcConfig
vpcConfig :: Prelude.Maybe VpcConfig
  }
  deriving (Model -> Model -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Model -> Model -> Bool
$c/= :: Model -> Model -> Bool
== :: Model -> Model -> Bool
$c== :: Model -> Model -> Bool
Prelude.Eq, ReadPrec [Model]
ReadPrec Model
Int -> ReadS Model
ReadS [Model]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Model]
$creadListPrec :: ReadPrec [Model]
readPrec :: ReadPrec Model
$creadPrec :: ReadPrec Model
readList :: ReadS [Model]
$creadList :: ReadS [Model]
readsPrec :: Int -> ReadS Model
$creadsPrec :: Int -> ReadS Model
Prelude.Read, Int -> Model -> ShowS
[Model] -> ShowS
Model -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Model] -> ShowS
$cshowList :: [Model] -> ShowS
show :: Model -> String
$cshow :: Model -> String
showsPrec :: Int -> Model -> ShowS
$cshowsPrec :: Int -> Model -> ShowS
Prelude.Show, forall x. Rep Model x -> Model
forall x. Model -> Rep Model x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Model x -> Model
$cfrom :: forall x. Model -> Rep Model x
Prelude.Generic)

-- |
-- Create a value of 'Model' 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:
--
-- 'containers', 'model_containers' - The containers in the inference pipeline.
--
-- 'creationTime', 'model_creationTime' - A timestamp that indicates when the model was created.
--
-- 'enableNetworkIsolation', 'model_enableNetworkIsolation' - Isolates the model container. No inbound or outbound network calls can
-- be made to or from the model container.
--
-- 'executionRoleArn', 'model_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for
-- the model.
--
-- 'inferenceExecutionConfig', 'model_inferenceExecutionConfig' - Undocumented member.
--
-- 'modelArn', 'model_modelArn' - The Amazon Resource Name (ARN) of the model.
--
-- 'modelName', 'model_modelName' - The name of the model.
--
-- 'primaryContainer', 'model_primaryContainer' - Undocumented member.
--
-- 'tags', 'model_tags' - A list of key-value pairs associated with the model. For more
-- information, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>
-- in the /Amazon Web Services General Reference Guide/.
--
-- 'vpcConfig', 'model_vpcConfig' - Undocumented member.
newModel ::
  Model
newModel :: Model
newModel =
  Model'
    { $sel:containers:Model' :: Maybe [ContainerDefinition]
containers = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:Model' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:enableNetworkIsolation:Model' :: Maybe Bool
enableNetworkIsolation = forall a. Maybe a
Prelude.Nothing,
      $sel:executionRoleArn:Model' :: Maybe Text
executionRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceExecutionConfig:Model' :: Maybe InferenceExecutionConfig
inferenceExecutionConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:modelArn:Model' :: Maybe Text
modelArn = forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:Model' :: Maybe Text
modelName = forall a. Maybe a
Prelude.Nothing,
      $sel:primaryContainer:Model' :: Maybe ContainerDefinition
primaryContainer = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:Model' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:vpcConfig:Model' :: Maybe VpcConfig
vpcConfig = forall a. Maybe a
Prelude.Nothing
    }

-- | The containers in the inference pipeline.
model_containers :: Lens.Lens' Model (Prelude.Maybe [ContainerDefinition])
model_containers :: Lens' Model (Maybe [ContainerDefinition])
model_containers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe [ContainerDefinition]
containers :: Maybe [ContainerDefinition]
$sel:containers:Model' :: Model -> Maybe [ContainerDefinition]
containers} -> Maybe [ContainerDefinition]
containers) (\s :: Model
s@Model' {} Maybe [ContainerDefinition]
a -> Model
s {$sel:containers:Model' :: Maybe [ContainerDefinition]
containers = Maybe [ContainerDefinition]
a} :: Model) 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

-- | A timestamp that indicates when the model was created.
model_creationTime :: Lens.Lens' Model (Prelude.Maybe Prelude.UTCTime)
model_creationTime :: Lens' Model (Maybe UTCTime)
model_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:Model' :: Model -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: Model
s@Model' {} Maybe POSIX
a -> Model
s {$sel:creationTime:Model' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: Model) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Isolates the model container. No inbound or outbound network calls can
-- be made to or from the model container.
model_enableNetworkIsolation :: Lens.Lens' Model (Prelude.Maybe Prelude.Bool)
model_enableNetworkIsolation :: Lens' Model (Maybe Bool)
model_enableNetworkIsolation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe Bool
enableNetworkIsolation :: Maybe Bool
$sel:enableNetworkIsolation:Model' :: Model -> Maybe Bool
enableNetworkIsolation} -> Maybe Bool
enableNetworkIsolation) (\s :: Model
s@Model' {} Maybe Bool
a -> Model
s {$sel:enableNetworkIsolation:Model' :: Maybe Bool
enableNetworkIsolation = Maybe Bool
a} :: Model)

-- | The Amazon Resource Name (ARN) of the IAM role that you specified for
-- the model.
model_executionRoleArn :: Lens.Lens' Model (Prelude.Maybe Prelude.Text)
model_executionRoleArn :: Lens' Model (Maybe Text)
model_executionRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe Text
executionRoleArn :: Maybe Text
$sel:executionRoleArn:Model' :: Model -> Maybe Text
executionRoleArn} -> Maybe Text
executionRoleArn) (\s :: Model
s@Model' {} Maybe Text
a -> Model
s {$sel:executionRoleArn:Model' :: Maybe Text
executionRoleArn = Maybe Text
a} :: Model)

-- | Undocumented member.
model_inferenceExecutionConfig :: Lens.Lens' Model (Prelude.Maybe InferenceExecutionConfig)
model_inferenceExecutionConfig :: Lens' Model (Maybe InferenceExecutionConfig)
model_inferenceExecutionConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe InferenceExecutionConfig
inferenceExecutionConfig :: Maybe InferenceExecutionConfig
$sel:inferenceExecutionConfig:Model' :: Model -> Maybe InferenceExecutionConfig
inferenceExecutionConfig} -> Maybe InferenceExecutionConfig
inferenceExecutionConfig) (\s :: Model
s@Model' {} Maybe InferenceExecutionConfig
a -> Model
s {$sel:inferenceExecutionConfig:Model' :: Maybe InferenceExecutionConfig
inferenceExecutionConfig = Maybe InferenceExecutionConfig
a} :: Model)

-- | The Amazon Resource Name (ARN) of the model.
model_modelArn :: Lens.Lens' Model (Prelude.Maybe Prelude.Text)
model_modelArn :: Lens' Model (Maybe Text)
model_modelArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe Text
modelArn :: Maybe Text
$sel:modelArn:Model' :: Model -> Maybe Text
modelArn} -> Maybe Text
modelArn) (\s :: Model
s@Model' {} Maybe Text
a -> Model
s {$sel:modelArn:Model' :: Maybe Text
modelArn = Maybe Text
a} :: Model)

-- | The name of the model.
model_modelName :: Lens.Lens' Model (Prelude.Maybe Prelude.Text)
model_modelName :: Lens' Model (Maybe Text)
model_modelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe Text
modelName :: Maybe Text
$sel:modelName:Model' :: Model -> Maybe Text
modelName} -> Maybe Text
modelName) (\s :: Model
s@Model' {} Maybe Text
a -> Model
s {$sel:modelName:Model' :: Maybe Text
modelName = Maybe Text
a} :: Model)

-- | Undocumented member.
model_primaryContainer :: Lens.Lens' Model (Prelude.Maybe ContainerDefinition)
model_primaryContainer :: Lens' Model (Maybe ContainerDefinition)
model_primaryContainer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe ContainerDefinition
primaryContainer :: Maybe ContainerDefinition
$sel:primaryContainer:Model' :: Model -> Maybe ContainerDefinition
primaryContainer} -> Maybe ContainerDefinition
primaryContainer) (\s :: Model
s@Model' {} Maybe ContainerDefinition
a -> Model
s {$sel:primaryContainer:Model' :: Maybe ContainerDefinition
primaryContainer = Maybe ContainerDefinition
a} :: Model)

-- | A list of key-value pairs associated with the model. For more
-- information, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>
-- in the /Amazon Web Services General Reference Guide/.
model_tags :: Lens.Lens' Model (Prelude.Maybe [Tag])
model_tags :: Lens' Model (Maybe [Tag])
model_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:Model' :: Model -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: Model
s@Model' {} Maybe [Tag]
a -> Model
s {$sel:tags:Model' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: Model) 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

-- | Undocumented member.
model_vpcConfig :: Lens.Lens' Model (Prelude.Maybe VpcConfig)
model_vpcConfig :: Lens' Model (Maybe VpcConfig)
model_vpcConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Model' {Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
$sel:vpcConfig:Model' :: Model -> Maybe VpcConfig
vpcConfig} -> Maybe VpcConfig
vpcConfig) (\s :: Model
s@Model' {} Maybe VpcConfig
a -> Model
s {$sel:vpcConfig:Model' :: Maybe VpcConfig
vpcConfig = Maybe VpcConfig
a} :: Model)

instance Data.FromJSON Model where
  parseJSON :: Value -> Parser Model
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"Model"
      ( \Object
x ->
          Maybe [ContainerDefinition]
-> Maybe POSIX
-> Maybe Bool
-> Maybe Text
-> Maybe InferenceExecutionConfig
-> Maybe Text
-> Maybe Text
-> Maybe ContainerDefinition
-> Maybe [Tag]
-> Maybe VpcConfig
-> Model
Model'
            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
"Containers" 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
"CreationTime")
            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
"EnableNetworkIsolation")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ExecutionRoleArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"InferenceExecutionConfig")
            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
"ModelArn")
            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
"ModelName")
            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
"PrimaryContainer")
            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
"Tags" 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
"VpcConfig")
      )

instance Prelude.Hashable Model where
  hashWithSalt :: Int -> Model -> Int
hashWithSalt Int
_salt Model' {Maybe Bool
Maybe [ContainerDefinition]
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe InferenceExecutionConfig
Maybe ContainerDefinition
Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
tags :: Maybe [Tag]
primaryContainer :: Maybe ContainerDefinition
modelName :: Maybe Text
modelArn :: Maybe Text
inferenceExecutionConfig :: Maybe InferenceExecutionConfig
executionRoleArn :: Maybe Text
enableNetworkIsolation :: Maybe Bool
creationTime :: Maybe POSIX
containers :: Maybe [ContainerDefinition]
$sel:vpcConfig:Model' :: Model -> Maybe VpcConfig
$sel:tags:Model' :: Model -> Maybe [Tag]
$sel:primaryContainer:Model' :: Model -> Maybe ContainerDefinition
$sel:modelName:Model' :: Model -> Maybe Text
$sel:modelArn:Model' :: Model -> Maybe Text
$sel:inferenceExecutionConfig:Model' :: Model -> Maybe InferenceExecutionConfig
$sel:executionRoleArn:Model' :: Model -> Maybe Text
$sel:enableNetworkIsolation:Model' :: Model -> Maybe Bool
$sel:creationTime:Model' :: Model -> Maybe POSIX
$sel:containers:Model' :: Model -> Maybe [ContainerDefinition]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ContainerDefinition]
containers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enableNetworkIsolation
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
executionRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InferenceExecutionConfig
inferenceExecutionConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ContainerDefinition
primaryContainer
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VpcConfig
vpcConfig

instance Prelude.NFData Model where
  rnf :: Model -> ()
rnf Model' {Maybe Bool
Maybe [ContainerDefinition]
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe InferenceExecutionConfig
Maybe ContainerDefinition
Maybe VpcConfig
vpcConfig :: Maybe VpcConfig
tags :: Maybe [Tag]
primaryContainer :: Maybe ContainerDefinition
modelName :: Maybe Text
modelArn :: Maybe Text
inferenceExecutionConfig :: Maybe InferenceExecutionConfig
executionRoleArn :: Maybe Text
enableNetworkIsolation :: Maybe Bool
creationTime :: Maybe POSIX
containers :: Maybe [ContainerDefinition]
$sel:vpcConfig:Model' :: Model -> Maybe VpcConfig
$sel:tags:Model' :: Model -> Maybe [Tag]
$sel:primaryContainer:Model' :: Model -> Maybe ContainerDefinition
$sel:modelName:Model' :: Model -> Maybe Text
$sel:modelArn:Model' :: Model -> Maybe Text
$sel:inferenceExecutionConfig:Model' :: Model -> Maybe InferenceExecutionConfig
$sel:executionRoleArn:Model' :: Model -> Maybe Text
$sel:enableNetworkIsolation:Model' :: Model -> Maybe Bool
$sel:creationTime:Model' :: Model -> Maybe POSIX
$sel:containers:Model' :: Model -> Maybe [ContainerDefinition]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [ContainerDefinition]
containers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
enableNetworkIsolation
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InferenceExecutionConfig
inferenceExecutionConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ContainerDefinition
primaryContainer
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VpcConfig
vpcConfig