{-# 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.ModelDashboardModelCard
-- 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.ModelDashboardModelCard 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.ModelCardSecurityConfig
import Amazonka.SageMaker.Types.ModelCardStatus
import Amazonka.SageMaker.Types.Tag
import Amazonka.SageMaker.Types.UserContext

-- | The model card for a model displayed in the Amazon SageMaker Model
-- Dashboard.
--
-- /See:/ 'newModelDashboardModelCard' smart constructor.
data ModelDashboardModelCard = ModelDashboardModelCard'
  { ModelDashboardModelCard -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | A timestamp that indicates when the model card was created.
    ModelDashboardModelCard -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    ModelDashboardModelCard -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | A timestamp that indicates when the model card was last updated.
    ModelDashboardModelCard -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) for a model card.
    ModelDashboardModelCard -> Maybe Text
modelCardArn :: Prelude.Maybe Prelude.Text,
    -- | The name of a model card.
    ModelDashboardModelCard -> Maybe Text
modelCardName :: Prelude.Maybe Prelude.Text,
    -- | The model card status.
    ModelDashboardModelCard -> Maybe ModelCardStatus
modelCardStatus :: Prelude.Maybe ModelCardStatus,
    -- | The model card version.
    ModelDashboardModelCard -> Maybe Int
modelCardVersion :: Prelude.Maybe Prelude.Int,
    -- | For models created in SageMaker, this is the model ARN. For models
    -- created outside of SageMaker, this is a user-customized string.
    ModelDashboardModelCard -> Maybe Text
modelId :: Prelude.Maybe Prelude.Text,
    -- | A model card\'s risk rating. Can be low, medium, or high.
    ModelDashboardModelCard -> Maybe Text
riskRating :: Prelude.Maybe Prelude.Text,
    -- | The KMS Key ID (@KMSKeyId@) for encryption of model card information.
    ModelDashboardModelCard -> Maybe ModelCardSecurityConfig
securityConfig :: Prelude.Maybe ModelCardSecurityConfig,
    -- | The tags associated with a model card.
    ModelDashboardModelCard -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
  }
  deriving (ModelDashboardModelCard -> ModelDashboardModelCard -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModelDashboardModelCard -> ModelDashboardModelCard -> Bool
$c/= :: ModelDashboardModelCard -> ModelDashboardModelCard -> Bool
== :: ModelDashboardModelCard -> ModelDashboardModelCard -> Bool
$c== :: ModelDashboardModelCard -> ModelDashboardModelCard -> Bool
Prelude.Eq, ReadPrec [ModelDashboardModelCard]
ReadPrec ModelDashboardModelCard
Int -> ReadS ModelDashboardModelCard
ReadS [ModelDashboardModelCard]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModelDashboardModelCard]
$creadListPrec :: ReadPrec [ModelDashboardModelCard]
readPrec :: ReadPrec ModelDashboardModelCard
$creadPrec :: ReadPrec ModelDashboardModelCard
readList :: ReadS [ModelDashboardModelCard]
$creadList :: ReadS [ModelDashboardModelCard]
readsPrec :: Int -> ReadS ModelDashboardModelCard
$creadsPrec :: Int -> ReadS ModelDashboardModelCard
Prelude.Read, Int -> ModelDashboardModelCard -> ShowS
[ModelDashboardModelCard] -> ShowS
ModelDashboardModelCard -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModelDashboardModelCard] -> ShowS
$cshowList :: [ModelDashboardModelCard] -> ShowS
show :: ModelDashboardModelCard -> String
$cshow :: ModelDashboardModelCard -> String
showsPrec :: Int -> ModelDashboardModelCard -> ShowS
$cshowsPrec :: Int -> ModelDashboardModelCard -> ShowS
Prelude.Show, forall x. Rep ModelDashboardModelCard x -> ModelDashboardModelCard
forall x. ModelDashboardModelCard -> Rep ModelDashboardModelCard x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModelDashboardModelCard x -> ModelDashboardModelCard
$cfrom :: forall x. ModelDashboardModelCard -> Rep ModelDashboardModelCard x
Prelude.Generic)

-- |
-- Create a value of 'ModelDashboardModelCard' 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:
--
-- 'createdBy', 'modelDashboardModelCard_createdBy' - Undocumented member.
--
-- 'creationTime', 'modelDashboardModelCard_creationTime' - A timestamp that indicates when the model card was created.
--
-- 'lastModifiedBy', 'modelDashboardModelCard_lastModifiedBy' - Undocumented member.
--
-- 'lastModifiedTime', 'modelDashboardModelCard_lastModifiedTime' - A timestamp that indicates when the model card was last updated.
--
-- 'modelCardArn', 'modelDashboardModelCard_modelCardArn' - The Amazon Resource Name (ARN) for a model card.
--
-- 'modelCardName', 'modelDashboardModelCard_modelCardName' - The name of a model card.
--
-- 'modelCardStatus', 'modelDashboardModelCard_modelCardStatus' - The model card status.
--
-- 'modelCardVersion', 'modelDashboardModelCard_modelCardVersion' - The model card version.
--
-- 'modelId', 'modelDashboardModelCard_modelId' - For models created in SageMaker, this is the model ARN. For models
-- created outside of SageMaker, this is a user-customized string.
--
-- 'riskRating', 'modelDashboardModelCard_riskRating' - A model card\'s risk rating. Can be low, medium, or high.
--
-- 'securityConfig', 'modelDashboardModelCard_securityConfig' - The KMS Key ID (@KMSKeyId@) for encryption of model card information.
--
-- 'tags', 'modelDashboardModelCard_tags' - The tags associated with a model card.
newModelDashboardModelCard ::
  ModelDashboardModelCard
newModelDashboardModelCard :: ModelDashboardModelCard
newModelDashboardModelCard =
  ModelDashboardModelCard'
    { $sel:createdBy:ModelDashboardModelCard' :: Maybe UserContext
createdBy =
        forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:ModelDashboardModelCard' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:ModelDashboardModelCard' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:ModelDashboardModelCard' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:modelCardArn:ModelDashboardModelCard' :: Maybe Text
modelCardArn = forall a. Maybe a
Prelude.Nothing,
      $sel:modelCardName:ModelDashboardModelCard' :: Maybe Text
modelCardName = forall a. Maybe a
Prelude.Nothing,
      $sel:modelCardStatus:ModelDashboardModelCard' :: Maybe ModelCardStatus
modelCardStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:modelCardVersion:ModelDashboardModelCard' :: Maybe Int
modelCardVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:modelId:ModelDashboardModelCard' :: Maybe Text
modelId = forall a. Maybe a
Prelude.Nothing,
      $sel:riskRating:ModelDashboardModelCard' :: Maybe Text
riskRating = forall a. Maybe a
Prelude.Nothing,
      $sel:securityConfig:ModelDashboardModelCard' :: Maybe ModelCardSecurityConfig
securityConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:ModelDashboardModelCard' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
modelDashboardModelCard_createdBy :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe UserContext)
modelDashboardModelCard_createdBy :: Lens' ModelDashboardModelCard (Maybe UserContext)
modelDashboardModelCard_createdBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe UserContext
createdBy :: Maybe UserContext
$sel:createdBy:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe UserContext
createdBy} -> Maybe UserContext
createdBy) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe UserContext
a -> ModelDashboardModelCard
s {$sel:createdBy:ModelDashboardModelCard' :: Maybe UserContext
createdBy = Maybe UserContext
a} :: ModelDashboardModelCard)

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

-- | Undocumented member.
modelDashboardModelCard_lastModifiedBy :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe UserContext)
modelDashboardModelCard_lastModifiedBy :: Lens' ModelDashboardModelCard (Maybe UserContext)
modelDashboardModelCard_lastModifiedBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe UserContext
lastModifiedBy :: Maybe UserContext
$sel:lastModifiedBy:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe UserContext
lastModifiedBy} -> Maybe UserContext
lastModifiedBy) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe UserContext
a -> ModelDashboardModelCard
s {$sel:lastModifiedBy:ModelDashboardModelCard' :: Maybe UserContext
lastModifiedBy = Maybe UserContext
a} :: ModelDashboardModelCard)

-- | A timestamp that indicates when the model card was last updated.
modelDashboardModelCard_lastModifiedTime :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe Prelude.UTCTime)
modelDashboardModelCard_lastModifiedTime :: Lens' ModelDashboardModelCard (Maybe UTCTime)
modelDashboardModelCard_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe POSIX
a -> ModelDashboardModelCard
s {$sel:lastModifiedTime:ModelDashboardModelCard' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: ModelDashboardModelCard) 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

-- | The Amazon Resource Name (ARN) for a model card.
modelDashboardModelCard_modelCardArn :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe Prelude.Text)
modelDashboardModelCard_modelCardArn :: Lens' ModelDashboardModelCard (Maybe Text)
modelDashboardModelCard_modelCardArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe Text
modelCardArn :: Maybe Text
$sel:modelCardArn:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
modelCardArn} -> Maybe Text
modelCardArn) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe Text
a -> ModelDashboardModelCard
s {$sel:modelCardArn:ModelDashboardModelCard' :: Maybe Text
modelCardArn = Maybe Text
a} :: ModelDashboardModelCard)

-- | The name of a model card.
modelDashboardModelCard_modelCardName :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe Prelude.Text)
modelDashboardModelCard_modelCardName :: Lens' ModelDashboardModelCard (Maybe Text)
modelDashboardModelCard_modelCardName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe Text
modelCardName :: Maybe Text
$sel:modelCardName:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
modelCardName} -> Maybe Text
modelCardName) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe Text
a -> ModelDashboardModelCard
s {$sel:modelCardName:ModelDashboardModelCard' :: Maybe Text
modelCardName = Maybe Text
a} :: ModelDashboardModelCard)

-- | The model card status.
modelDashboardModelCard_modelCardStatus :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe ModelCardStatus)
modelDashboardModelCard_modelCardStatus :: Lens' ModelDashboardModelCard (Maybe ModelCardStatus)
modelDashboardModelCard_modelCardStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe ModelCardStatus
modelCardStatus :: Maybe ModelCardStatus
$sel:modelCardStatus:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe ModelCardStatus
modelCardStatus} -> Maybe ModelCardStatus
modelCardStatus) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe ModelCardStatus
a -> ModelDashboardModelCard
s {$sel:modelCardStatus:ModelDashboardModelCard' :: Maybe ModelCardStatus
modelCardStatus = Maybe ModelCardStatus
a} :: ModelDashboardModelCard)

-- | The model card version.
modelDashboardModelCard_modelCardVersion :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe Prelude.Int)
modelDashboardModelCard_modelCardVersion :: Lens' ModelDashboardModelCard (Maybe Int)
modelDashboardModelCard_modelCardVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe Int
modelCardVersion :: Maybe Int
$sel:modelCardVersion:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Int
modelCardVersion} -> Maybe Int
modelCardVersion) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe Int
a -> ModelDashboardModelCard
s {$sel:modelCardVersion:ModelDashboardModelCard' :: Maybe Int
modelCardVersion = Maybe Int
a} :: ModelDashboardModelCard)

-- | For models created in SageMaker, this is the model ARN. For models
-- created outside of SageMaker, this is a user-customized string.
modelDashboardModelCard_modelId :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe Prelude.Text)
modelDashboardModelCard_modelId :: Lens' ModelDashboardModelCard (Maybe Text)
modelDashboardModelCard_modelId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe Text
modelId :: Maybe Text
$sel:modelId:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
modelId} -> Maybe Text
modelId) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe Text
a -> ModelDashboardModelCard
s {$sel:modelId:ModelDashboardModelCard' :: Maybe Text
modelId = Maybe Text
a} :: ModelDashboardModelCard)

-- | A model card\'s risk rating. Can be low, medium, or high.
modelDashboardModelCard_riskRating :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe Prelude.Text)
modelDashboardModelCard_riskRating :: Lens' ModelDashboardModelCard (Maybe Text)
modelDashboardModelCard_riskRating = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe Text
riskRating :: Maybe Text
$sel:riskRating:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
riskRating} -> Maybe Text
riskRating) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe Text
a -> ModelDashboardModelCard
s {$sel:riskRating:ModelDashboardModelCard' :: Maybe Text
riskRating = Maybe Text
a} :: ModelDashboardModelCard)

-- | The KMS Key ID (@KMSKeyId@) for encryption of model card information.
modelDashboardModelCard_securityConfig :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe ModelCardSecurityConfig)
modelDashboardModelCard_securityConfig :: Lens' ModelDashboardModelCard (Maybe ModelCardSecurityConfig)
modelDashboardModelCard_securityConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe ModelCardSecurityConfig
securityConfig :: Maybe ModelCardSecurityConfig
$sel:securityConfig:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe ModelCardSecurityConfig
securityConfig} -> Maybe ModelCardSecurityConfig
securityConfig) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe ModelCardSecurityConfig
a -> ModelDashboardModelCard
s {$sel:securityConfig:ModelDashboardModelCard' :: Maybe ModelCardSecurityConfig
securityConfig = Maybe ModelCardSecurityConfig
a} :: ModelDashboardModelCard)

-- | The tags associated with a model card.
modelDashboardModelCard_tags :: Lens.Lens' ModelDashboardModelCard (Prelude.Maybe [Tag])
modelDashboardModelCard_tags :: Lens' ModelDashboardModelCard (Maybe [Tag])
modelDashboardModelCard_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelDashboardModelCard' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ModelDashboardModelCard
s@ModelDashboardModelCard' {} Maybe [Tag]
a -> ModelDashboardModelCard
s {$sel:tags:ModelDashboardModelCard' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ModelDashboardModelCard) 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 ModelDashboardModelCard where
  parseJSON :: Value -> Parser ModelDashboardModelCard
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ModelDashboardModelCard"
      ( \Object
x ->
          Maybe UserContext
-> Maybe POSIX
-> Maybe UserContext
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe ModelCardStatus
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe ModelCardSecurityConfig
-> Maybe [Tag]
-> ModelDashboardModelCard
ModelDashboardModelCard'
            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
"CreatedBy")
            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
"LastModifiedBy")
            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
"LastModifiedTime")
            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
"ModelCardArn")
            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
"ModelCardName")
            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
"ModelCardStatus")
            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
"ModelCardVersion")
            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
"ModelId")
            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
"RiskRating")
            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
"SecurityConfig")
            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)
      )

instance Prelude.Hashable ModelDashboardModelCard where
  hashWithSalt :: Int -> ModelDashboardModelCard -> Int
hashWithSalt Int
_salt ModelDashboardModelCard' {Maybe Int
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe ModelCardSecurityConfig
Maybe ModelCardStatus
Maybe UserContext
tags :: Maybe [Tag]
securityConfig :: Maybe ModelCardSecurityConfig
riskRating :: Maybe Text
modelId :: Maybe Text
modelCardVersion :: Maybe Int
modelCardStatus :: Maybe ModelCardStatus
modelCardName :: Maybe Text
modelCardArn :: Maybe Text
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:tags:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe [Tag]
$sel:securityConfig:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe ModelCardSecurityConfig
$sel:riskRating:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:modelId:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:modelCardVersion:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Int
$sel:modelCardStatus:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe ModelCardStatus
$sel:modelCardName:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:modelCardArn:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:lastModifiedTime:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe POSIX
$sel:lastModifiedBy:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe UserContext
$sel:creationTime:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe POSIX
$sel:createdBy:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe UserContext
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContext
createdBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContext
lastModifiedBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastModifiedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelCardArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelCardName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelCardStatus
modelCardStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
modelCardVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
riskRating
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelCardSecurityConfig
securityConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags

instance Prelude.NFData ModelDashboardModelCard where
  rnf :: ModelDashboardModelCard -> ()
rnf ModelDashboardModelCard' {Maybe Int
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe ModelCardSecurityConfig
Maybe ModelCardStatus
Maybe UserContext
tags :: Maybe [Tag]
securityConfig :: Maybe ModelCardSecurityConfig
riskRating :: Maybe Text
modelId :: Maybe Text
modelCardVersion :: Maybe Int
modelCardStatus :: Maybe ModelCardStatus
modelCardName :: Maybe Text
modelCardArn :: Maybe Text
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:tags:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe [Tag]
$sel:securityConfig:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe ModelCardSecurityConfig
$sel:riskRating:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:modelId:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:modelCardVersion:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Int
$sel:modelCardStatus:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe ModelCardStatus
$sel:modelCardName:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:modelCardArn:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe Text
$sel:lastModifiedTime:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe POSIX
$sel:lastModifiedBy:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe UserContext
$sel:creationTime:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe POSIX
$sel:createdBy:ModelDashboardModelCard' :: ModelDashboardModelCard -> Maybe UserContext
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe UserContext
createdBy
      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 UserContext
lastModifiedBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelCardArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelCardName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelCardStatus
modelCardStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
modelCardVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
riskRating
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelCardSecurityConfig
securityConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags