{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.DescribeModelCardExportJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes an Amazon SageMaker Model Card export job.
module Amazonka.SageMaker.DescribeModelCardExportJob
  ( -- * Creating a Request
    DescribeModelCardExportJob (..),
    newDescribeModelCardExportJob,

    -- * Request Lenses
    describeModelCardExportJob_modelCardExportJobArn,

    -- * Destructuring the Response
    DescribeModelCardExportJobResponse (..),
    newDescribeModelCardExportJobResponse,

    -- * Response Lenses
    describeModelCardExportJobResponse_exportArtifacts,
    describeModelCardExportJobResponse_failureReason,
    describeModelCardExportJobResponse_httpStatus,
    describeModelCardExportJobResponse_modelCardExportJobName,
    describeModelCardExportJobResponse_modelCardExportJobArn,
    describeModelCardExportJobResponse_status,
    describeModelCardExportJobResponse_modelCardName,
    describeModelCardExportJobResponse_modelCardVersion,
    describeModelCardExportJobResponse_outputConfig,
    describeModelCardExportJobResponse_createdAt,
    describeModelCardExportJobResponse_lastModifiedAt,
  )
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

-- | /See:/ 'newDescribeModelCardExportJob' smart constructor.
data DescribeModelCardExportJob = DescribeModelCardExportJob'
  { -- | The Amazon Resource Name (ARN) of the model card export job to describe.
    DescribeModelCardExportJob -> Text
modelCardExportJobArn :: Prelude.Text
  }
  deriving (DescribeModelCardExportJob -> DescribeModelCardExportJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelCardExportJob -> DescribeModelCardExportJob -> Bool
$c/= :: DescribeModelCardExportJob -> DescribeModelCardExportJob -> Bool
== :: DescribeModelCardExportJob -> DescribeModelCardExportJob -> Bool
$c== :: DescribeModelCardExportJob -> DescribeModelCardExportJob -> Bool
Prelude.Eq, ReadPrec [DescribeModelCardExportJob]
ReadPrec DescribeModelCardExportJob
Int -> ReadS DescribeModelCardExportJob
ReadS [DescribeModelCardExportJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelCardExportJob]
$creadListPrec :: ReadPrec [DescribeModelCardExportJob]
readPrec :: ReadPrec DescribeModelCardExportJob
$creadPrec :: ReadPrec DescribeModelCardExportJob
readList :: ReadS [DescribeModelCardExportJob]
$creadList :: ReadS [DescribeModelCardExportJob]
readsPrec :: Int -> ReadS DescribeModelCardExportJob
$creadsPrec :: Int -> ReadS DescribeModelCardExportJob
Prelude.Read, Int -> DescribeModelCardExportJob -> ShowS
[DescribeModelCardExportJob] -> ShowS
DescribeModelCardExportJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelCardExportJob] -> ShowS
$cshowList :: [DescribeModelCardExportJob] -> ShowS
show :: DescribeModelCardExportJob -> String
$cshow :: DescribeModelCardExportJob -> String
showsPrec :: Int -> DescribeModelCardExportJob -> ShowS
$cshowsPrec :: Int -> DescribeModelCardExportJob -> ShowS
Prelude.Show, forall x.
Rep DescribeModelCardExportJob x -> DescribeModelCardExportJob
forall x.
DescribeModelCardExportJob -> Rep DescribeModelCardExportJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeModelCardExportJob x -> DescribeModelCardExportJob
$cfrom :: forall x.
DescribeModelCardExportJob -> Rep DescribeModelCardExportJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModelCardExportJob' 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:
--
-- 'modelCardExportJobArn', 'describeModelCardExportJob_modelCardExportJobArn' - The Amazon Resource Name (ARN) of the model card export job to describe.
newDescribeModelCardExportJob ::
  -- | 'modelCardExportJobArn'
  Prelude.Text ->
  DescribeModelCardExportJob
newDescribeModelCardExportJob :: Text -> DescribeModelCardExportJob
newDescribeModelCardExportJob Text
pModelCardExportJobArn_ =
  DescribeModelCardExportJob'
    { $sel:modelCardExportJobArn:DescribeModelCardExportJob' :: Text
modelCardExportJobArn =
        Text
pModelCardExportJobArn_
    }

-- | The Amazon Resource Name (ARN) of the model card export job to describe.
describeModelCardExportJob_modelCardExportJobArn :: Lens.Lens' DescribeModelCardExportJob Prelude.Text
describeModelCardExportJob_modelCardExportJobArn :: Lens' DescribeModelCardExportJob Text
describeModelCardExportJob_modelCardExportJobArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJob' {Text
modelCardExportJobArn :: Text
$sel:modelCardExportJobArn:DescribeModelCardExportJob' :: DescribeModelCardExportJob -> Text
modelCardExportJobArn} -> Text
modelCardExportJobArn) (\s :: DescribeModelCardExportJob
s@DescribeModelCardExportJob' {} Text
a -> DescribeModelCardExportJob
s {$sel:modelCardExportJobArn:DescribeModelCardExportJob' :: Text
modelCardExportJobArn = Text
a} :: DescribeModelCardExportJob)

instance Core.AWSRequest DescribeModelCardExportJob where
  type
    AWSResponse DescribeModelCardExportJob =
      DescribeModelCardExportJobResponse
  request :: (Service -> Service)
-> DescribeModelCardExportJob -> Request DescribeModelCardExportJob
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeModelCardExportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeModelCardExportJob)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe ModelCardExportArtifacts
-> Maybe Text
-> Int
-> Text
-> Text
-> ModelCardExportJobStatus
-> Text
-> Int
-> ModelCardExportOutputConfig
-> POSIX
-> POSIX
-> DescribeModelCardExportJobResponse
DescribeModelCardExportJobResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ExportArtifacts")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"FailureReason")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"ModelCardExportJobName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"ModelCardExportJobArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String 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 -> Either String 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 -> Either String a
Data..:> Key
"OutputConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"CreatedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"LastModifiedAt")
      )

instance Prelude.Hashable DescribeModelCardExportJob where
  hashWithSalt :: Int -> DescribeModelCardExportJob -> Int
hashWithSalt Int
_salt DescribeModelCardExportJob' {Text
modelCardExportJobArn :: Text
$sel:modelCardExportJobArn:DescribeModelCardExportJob' :: DescribeModelCardExportJob -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
modelCardExportJobArn

instance Prelude.NFData DescribeModelCardExportJob where
  rnf :: DescribeModelCardExportJob -> ()
rnf DescribeModelCardExportJob' {Text
modelCardExportJobArn :: Text
$sel:modelCardExportJobArn:DescribeModelCardExportJob' :: DescribeModelCardExportJob -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
modelCardExportJobArn

instance Data.ToHeaders DescribeModelCardExportJob where
  toHeaders :: DescribeModelCardExportJob -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"SageMaker.DescribeModelCardExportJob" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeModelCardExportJob where
  toJSON :: DescribeModelCardExportJob -> Value
toJSON DescribeModelCardExportJob' {Text
modelCardExportJobArn :: Text
$sel:modelCardExportJobArn:DescribeModelCardExportJob' :: DescribeModelCardExportJob -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              ( Key
"ModelCardExportJobArn"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
modelCardExportJobArn
              )
          ]
      )

instance Data.ToPath DescribeModelCardExportJob where
  toPath :: DescribeModelCardExportJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeModelCardExportJob where
  toQuery :: DescribeModelCardExportJob -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeModelCardExportJobResponse' smart constructor.
data DescribeModelCardExportJobResponse = DescribeModelCardExportJobResponse'
  { -- | The exported model card artifacts.
    DescribeModelCardExportJobResponse
-> Maybe ModelCardExportArtifacts
exportArtifacts :: Prelude.Maybe ModelCardExportArtifacts,
    -- | The failure reason if the model export job fails.
    DescribeModelCardExportJobResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeModelCardExportJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | The name of the model card export job to describe.
    DescribeModelCardExportJobResponse -> Text
modelCardExportJobName :: Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the model card export job.
    DescribeModelCardExportJobResponse -> Text
modelCardExportJobArn :: Prelude.Text,
    -- | The completion status of the model card export job.
    --
    -- -   @InProgress@: The model card export job is in progress.
    --
    -- -   @Completed@: The model card export job is complete.
    --
    -- -   @Failed@: The model card export job failed. To see the reason for
    --     the failure, see the @FailureReason@ field in the response to a
    --     @DescribeModelCardExportJob@ call.
    DescribeModelCardExportJobResponse -> ModelCardExportJobStatus
status :: ModelCardExportJobStatus,
    -- | The name of the model card that the model export job exports.
    DescribeModelCardExportJobResponse -> Text
modelCardName :: Prelude.Text,
    -- | The version of the model card that the model export job exports.
    DescribeModelCardExportJobResponse -> Int
modelCardVersion :: Prelude.Int,
    -- | The export output details for the model card.
    DescribeModelCardExportJobResponse -> ModelCardExportOutputConfig
outputConfig :: ModelCardExportOutputConfig,
    -- | The date and time that the model export job was created.
    DescribeModelCardExportJobResponse -> POSIX
createdAt :: Data.POSIX,
    -- | The date and time that the model export job was last modified.
    DescribeModelCardExportJobResponse -> POSIX
lastModifiedAt :: Data.POSIX
  }
  deriving (DescribeModelCardExportJobResponse
-> DescribeModelCardExportJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelCardExportJobResponse
-> DescribeModelCardExportJobResponse -> Bool
$c/= :: DescribeModelCardExportJobResponse
-> DescribeModelCardExportJobResponse -> Bool
== :: DescribeModelCardExportJobResponse
-> DescribeModelCardExportJobResponse -> Bool
$c== :: DescribeModelCardExportJobResponse
-> DescribeModelCardExportJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeModelCardExportJobResponse]
ReadPrec DescribeModelCardExportJobResponse
Int -> ReadS DescribeModelCardExportJobResponse
ReadS [DescribeModelCardExportJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelCardExportJobResponse]
$creadListPrec :: ReadPrec [DescribeModelCardExportJobResponse]
readPrec :: ReadPrec DescribeModelCardExportJobResponse
$creadPrec :: ReadPrec DescribeModelCardExportJobResponse
readList :: ReadS [DescribeModelCardExportJobResponse]
$creadList :: ReadS [DescribeModelCardExportJobResponse]
readsPrec :: Int -> ReadS DescribeModelCardExportJobResponse
$creadsPrec :: Int -> ReadS DescribeModelCardExportJobResponse
Prelude.Read, Int -> DescribeModelCardExportJobResponse -> ShowS
[DescribeModelCardExportJobResponse] -> ShowS
DescribeModelCardExportJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelCardExportJobResponse] -> ShowS
$cshowList :: [DescribeModelCardExportJobResponse] -> ShowS
show :: DescribeModelCardExportJobResponse -> String
$cshow :: DescribeModelCardExportJobResponse -> String
showsPrec :: Int -> DescribeModelCardExportJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeModelCardExportJobResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeModelCardExportJobResponse x
-> DescribeModelCardExportJobResponse
forall x.
DescribeModelCardExportJobResponse
-> Rep DescribeModelCardExportJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeModelCardExportJobResponse x
-> DescribeModelCardExportJobResponse
$cfrom :: forall x.
DescribeModelCardExportJobResponse
-> Rep DescribeModelCardExportJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModelCardExportJobResponse' 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:
--
-- 'exportArtifacts', 'describeModelCardExportJobResponse_exportArtifacts' - The exported model card artifacts.
--
-- 'failureReason', 'describeModelCardExportJobResponse_failureReason' - The failure reason if the model export job fails.
--
-- 'httpStatus', 'describeModelCardExportJobResponse_httpStatus' - The response's http status code.
--
-- 'modelCardExportJobName', 'describeModelCardExportJobResponse_modelCardExportJobName' - The name of the model card export job to describe.
--
-- 'modelCardExportJobArn', 'describeModelCardExportJobResponse_modelCardExportJobArn' - The Amazon Resource Name (ARN) of the model card export job.
--
-- 'status', 'describeModelCardExportJobResponse_status' - The completion status of the model card export job.
--
-- -   @InProgress@: The model card export job is in progress.
--
-- -   @Completed@: The model card export job is complete.
--
-- -   @Failed@: The model card export job failed. To see the reason for
--     the failure, see the @FailureReason@ field in the response to a
--     @DescribeModelCardExportJob@ call.
--
-- 'modelCardName', 'describeModelCardExportJobResponse_modelCardName' - The name of the model card that the model export job exports.
--
-- 'modelCardVersion', 'describeModelCardExportJobResponse_modelCardVersion' - The version of the model card that the model export job exports.
--
-- 'outputConfig', 'describeModelCardExportJobResponse_outputConfig' - The export output details for the model card.
--
-- 'createdAt', 'describeModelCardExportJobResponse_createdAt' - The date and time that the model export job was created.
--
-- 'lastModifiedAt', 'describeModelCardExportJobResponse_lastModifiedAt' - The date and time that the model export job was last modified.
newDescribeModelCardExportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'modelCardExportJobName'
  Prelude.Text ->
  -- | 'modelCardExportJobArn'
  Prelude.Text ->
  -- | 'status'
  ModelCardExportJobStatus ->
  -- | 'modelCardName'
  Prelude.Text ->
  -- | 'modelCardVersion'
  Prelude.Int ->
  -- | 'outputConfig'
  ModelCardExportOutputConfig ->
  -- | 'createdAt'
  Prelude.UTCTime ->
  -- | 'lastModifiedAt'
  Prelude.UTCTime ->
  DescribeModelCardExportJobResponse
newDescribeModelCardExportJobResponse :: Int
-> Text
-> Text
-> ModelCardExportJobStatus
-> Text
-> Int
-> ModelCardExportOutputConfig
-> UTCTime
-> UTCTime
-> DescribeModelCardExportJobResponse
newDescribeModelCardExportJobResponse
  Int
pHttpStatus_
  Text
pModelCardExportJobName_
  Text
pModelCardExportJobArn_
  ModelCardExportJobStatus
pStatus_
  Text
pModelCardName_
  Int
pModelCardVersion_
  ModelCardExportOutputConfig
pOutputConfig_
  UTCTime
pCreatedAt_
  UTCTime
pLastModifiedAt_ =
    DescribeModelCardExportJobResponse'
      { $sel:exportArtifacts:DescribeModelCardExportJobResponse' :: Maybe ModelCardExportArtifacts
exportArtifacts =
          forall a. Maybe a
Prelude.Nothing,
        $sel:failureReason:DescribeModelCardExportJobResponse' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeModelCardExportJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:modelCardExportJobName:DescribeModelCardExportJobResponse' :: Text
modelCardExportJobName =
          Text
pModelCardExportJobName_,
        $sel:modelCardExportJobArn:DescribeModelCardExportJobResponse' :: Text
modelCardExportJobArn =
          Text
pModelCardExportJobArn_,
        $sel:status:DescribeModelCardExportJobResponse' :: ModelCardExportJobStatus
status = ModelCardExportJobStatus
pStatus_,
        $sel:modelCardName:DescribeModelCardExportJobResponse' :: Text
modelCardName = Text
pModelCardName_,
        $sel:modelCardVersion:DescribeModelCardExportJobResponse' :: Int
modelCardVersion = Int
pModelCardVersion_,
        $sel:outputConfig:DescribeModelCardExportJobResponse' :: ModelCardExportOutputConfig
outputConfig = ModelCardExportOutputConfig
pOutputConfig_,
        $sel:createdAt:DescribeModelCardExportJobResponse' :: POSIX
createdAt =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreatedAt_,
        $sel:lastModifiedAt:DescribeModelCardExportJobResponse' :: POSIX
lastModifiedAt =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedAt_
      }

-- | The exported model card artifacts.
describeModelCardExportJobResponse_exportArtifacts :: Lens.Lens' DescribeModelCardExportJobResponse (Prelude.Maybe ModelCardExportArtifacts)
describeModelCardExportJobResponse_exportArtifacts :: Lens'
  DescribeModelCardExportJobResponse (Maybe ModelCardExportArtifacts)
describeModelCardExportJobResponse_exportArtifacts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Maybe ModelCardExportArtifacts
exportArtifacts :: Maybe ModelCardExportArtifacts
$sel:exportArtifacts:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse
-> Maybe ModelCardExportArtifacts
exportArtifacts} -> Maybe ModelCardExportArtifacts
exportArtifacts) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Maybe ModelCardExportArtifacts
a -> DescribeModelCardExportJobResponse
s {$sel:exportArtifacts:DescribeModelCardExportJobResponse' :: Maybe ModelCardExportArtifacts
exportArtifacts = Maybe ModelCardExportArtifacts
a} :: DescribeModelCardExportJobResponse)

-- | The failure reason if the model export job fails.
describeModelCardExportJobResponse_failureReason :: Lens.Lens' DescribeModelCardExportJobResponse (Prelude.Maybe Prelude.Text)
describeModelCardExportJobResponse_failureReason :: Lens' DescribeModelCardExportJobResponse (Maybe Text)
describeModelCardExportJobResponse_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Maybe Text
a -> DescribeModelCardExportJobResponse
s {$sel:failureReason:DescribeModelCardExportJobResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeModelCardExportJobResponse)

-- | The response's http status code.
describeModelCardExportJobResponse_httpStatus :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.Int
describeModelCardExportJobResponse_httpStatus :: Lens' DescribeModelCardExportJobResponse Int
describeModelCardExportJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Int
a -> DescribeModelCardExportJobResponse
s {$sel:httpStatus:DescribeModelCardExportJobResponse' :: Int
httpStatus = Int
a} :: DescribeModelCardExportJobResponse)

-- | The name of the model card export job to describe.
describeModelCardExportJobResponse_modelCardExportJobName :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.Text
describeModelCardExportJobResponse_modelCardExportJobName :: Lens' DescribeModelCardExportJobResponse Text
describeModelCardExportJobResponse_modelCardExportJobName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Text
modelCardExportJobName :: Text
$sel:modelCardExportJobName:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Text
modelCardExportJobName} -> Text
modelCardExportJobName) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Text
a -> DescribeModelCardExportJobResponse
s {$sel:modelCardExportJobName:DescribeModelCardExportJobResponse' :: Text
modelCardExportJobName = Text
a} :: DescribeModelCardExportJobResponse)

-- | The Amazon Resource Name (ARN) of the model card export job.
describeModelCardExportJobResponse_modelCardExportJobArn :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.Text
describeModelCardExportJobResponse_modelCardExportJobArn :: Lens' DescribeModelCardExportJobResponse Text
describeModelCardExportJobResponse_modelCardExportJobArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Text
modelCardExportJobArn :: Text
$sel:modelCardExportJobArn:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Text
modelCardExportJobArn} -> Text
modelCardExportJobArn) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Text
a -> DescribeModelCardExportJobResponse
s {$sel:modelCardExportJobArn:DescribeModelCardExportJobResponse' :: Text
modelCardExportJobArn = Text
a} :: DescribeModelCardExportJobResponse)

-- | The completion status of the model card export job.
--
-- -   @InProgress@: The model card export job is in progress.
--
-- -   @Completed@: The model card export job is complete.
--
-- -   @Failed@: The model card export job failed. To see the reason for
--     the failure, see the @FailureReason@ field in the response to a
--     @DescribeModelCardExportJob@ call.
describeModelCardExportJobResponse_status :: Lens.Lens' DescribeModelCardExportJobResponse ModelCardExportJobStatus
describeModelCardExportJobResponse_status :: Lens' DescribeModelCardExportJobResponse ModelCardExportJobStatus
describeModelCardExportJobResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {ModelCardExportJobStatus
status :: ModelCardExportJobStatus
$sel:status:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> ModelCardExportJobStatus
status} -> ModelCardExportJobStatus
status) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} ModelCardExportJobStatus
a -> DescribeModelCardExportJobResponse
s {$sel:status:DescribeModelCardExportJobResponse' :: ModelCardExportJobStatus
status = ModelCardExportJobStatus
a} :: DescribeModelCardExportJobResponse)

-- | The name of the model card that the model export job exports.
describeModelCardExportJobResponse_modelCardName :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.Text
describeModelCardExportJobResponse_modelCardName :: Lens' DescribeModelCardExportJobResponse Text
describeModelCardExportJobResponse_modelCardName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Text
modelCardName :: Text
$sel:modelCardName:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Text
modelCardName} -> Text
modelCardName) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Text
a -> DescribeModelCardExportJobResponse
s {$sel:modelCardName:DescribeModelCardExportJobResponse' :: Text
modelCardName = Text
a} :: DescribeModelCardExportJobResponse)

-- | The version of the model card that the model export job exports.
describeModelCardExportJobResponse_modelCardVersion :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.Int
describeModelCardExportJobResponse_modelCardVersion :: Lens' DescribeModelCardExportJobResponse Int
describeModelCardExportJobResponse_modelCardVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {Int
modelCardVersion :: Int
$sel:modelCardVersion:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Int
modelCardVersion} -> Int
modelCardVersion) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} Int
a -> DescribeModelCardExportJobResponse
s {$sel:modelCardVersion:DescribeModelCardExportJobResponse' :: Int
modelCardVersion = Int
a} :: DescribeModelCardExportJobResponse)

-- | The export output details for the model card.
describeModelCardExportJobResponse_outputConfig :: Lens.Lens' DescribeModelCardExportJobResponse ModelCardExportOutputConfig
describeModelCardExportJobResponse_outputConfig :: Lens'
  DescribeModelCardExportJobResponse ModelCardExportOutputConfig
describeModelCardExportJobResponse_outputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {ModelCardExportOutputConfig
outputConfig :: ModelCardExportOutputConfig
$sel:outputConfig:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> ModelCardExportOutputConfig
outputConfig} -> ModelCardExportOutputConfig
outputConfig) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} ModelCardExportOutputConfig
a -> DescribeModelCardExportJobResponse
s {$sel:outputConfig:DescribeModelCardExportJobResponse' :: ModelCardExportOutputConfig
outputConfig = ModelCardExportOutputConfig
a} :: DescribeModelCardExportJobResponse)

-- | The date and time that the model export job was created.
describeModelCardExportJobResponse_createdAt :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.UTCTime
describeModelCardExportJobResponse_createdAt :: Lens' DescribeModelCardExportJobResponse UTCTime
describeModelCardExportJobResponse_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {POSIX
createdAt :: POSIX
$sel:createdAt:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> POSIX
createdAt} -> POSIX
createdAt) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} POSIX
a -> DescribeModelCardExportJobResponse
s {$sel:createdAt:DescribeModelCardExportJobResponse' :: POSIX
createdAt = POSIX
a} :: DescribeModelCardExportJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The date and time that the model export job was last modified.
describeModelCardExportJobResponse_lastModifiedAt :: Lens.Lens' DescribeModelCardExportJobResponse Prelude.UTCTime
describeModelCardExportJobResponse_lastModifiedAt :: Lens' DescribeModelCardExportJobResponse UTCTime
describeModelCardExportJobResponse_lastModifiedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelCardExportJobResponse' {POSIX
lastModifiedAt :: POSIX
$sel:lastModifiedAt:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> POSIX
lastModifiedAt} -> POSIX
lastModifiedAt) (\s :: DescribeModelCardExportJobResponse
s@DescribeModelCardExportJobResponse' {} POSIX
a -> DescribeModelCardExportJobResponse
s {$sel:lastModifiedAt:DescribeModelCardExportJobResponse' :: POSIX
lastModifiedAt = POSIX
a} :: DescribeModelCardExportJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance
  Prelude.NFData
    DescribeModelCardExportJobResponse
  where
  rnf :: DescribeModelCardExportJobResponse -> ()
rnf DescribeModelCardExportJobResponse' {Int
Maybe Text
Maybe ModelCardExportArtifacts
Text
POSIX
ModelCardExportJobStatus
ModelCardExportOutputConfig
lastModifiedAt :: POSIX
createdAt :: POSIX
outputConfig :: ModelCardExportOutputConfig
modelCardVersion :: Int
modelCardName :: Text
status :: ModelCardExportJobStatus
modelCardExportJobArn :: Text
modelCardExportJobName :: Text
httpStatus :: Int
failureReason :: Maybe Text
exportArtifacts :: Maybe ModelCardExportArtifacts
$sel:lastModifiedAt:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> POSIX
$sel:createdAt:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> POSIX
$sel:outputConfig:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> ModelCardExportOutputConfig
$sel:modelCardVersion:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Int
$sel:modelCardName:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Text
$sel:status:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> ModelCardExportJobStatus
$sel:modelCardExportJobArn:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Text
$sel:modelCardExportJobName:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Text
$sel:httpStatus:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Int
$sel:failureReason:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse -> Maybe Text
$sel:exportArtifacts:DescribeModelCardExportJobResponse' :: DescribeModelCardExportJobResponse
-> Maybe ModelCardExportArtifacts
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelCardExportArtifacts
exportArtifacts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
modelCardExportJobName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
modelCardExportJobArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelCardExportJobStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
modelCardName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
modelCardVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelCardExportOutputConfig
outputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
createdAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
lastModifiedAt