{-# 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.FraudDetector.GetModelVersion
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the details of the specified model version.
module Amazonka.FraudDetector.GetModelVersion
  ( -- * Creating a Request
    GetModelVersion (..),
    newGetModelVersion,

    -- * Request Lenses
    getModelVersion_modelId,
    getModelVersion_modelType,
    getModelVersion_modelVersionNumber,

    -- * Destructuring the Response
    GetModelVersionResponse (..),
    newGetModelVersionResponse,

    -- * Response Lenses
    getModelVersionResponse_arn,
    getModelVersionResponse_externalEventsDetail,
    getModelVersionResponse_ingestedEventsDetail,
    getModelVersionResponse_modelId,
    getModelVersionResponse_modelType,
    getModelVersionResponse_modelVersionNumber,
    getModelVersionResponse_status,
    getModelVersionResponse_trainingDataSchema,
    getModelVersionResponse_trainingDataSource,
    getModelVersionResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FraudDetector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newGetModelVersion' smart constructor.
data GetModelVersion = GetModelVersion'
  { -- | The model ID.
    GetModelVersion -> Text
modelId :: Prelude.Text,
    -- | The model type.
    GetModelVersion -> ModelTypeEnum
modelType :: ModelTypeEnum,
    -- | The model version number.
    GetModelVersion -> Text
modelVersionNumber :: Prelude.Text
  }
  deriving (GetModelVersion -> GetModelVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetModelVersion -> GetModelVersion -> Bool
$c/= :: GetModelVersion -> GetModelVersion -> Bool
== :: GetModelVersion -> GetModelVersion -> Bool
$c== :: GetModelVersion -> GetModelVersion -> Bool
Prelude.Eq, ReadPrec [GetModelVersion]
ReadPrec GetModelVersion
Int -> ReadS GetModelVersion
ReadS [GetModelVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetModelVersion]
$creadListPrec :: ReadPrec [GetModelVersion]
readPrec :: ReadPrec GetModelVersion
$creadPrec :: ReadPrec GetModelVersion
readList :: ReadS [GetModelVersion]
$creadList :: ReadS [GetModelVersion]
readsPrec :: Int -> ReadS GetModelVersion
$creadsPrec :: Int -> ReadS GetModelVersion
Prelude.Read, Int -> GetModelVersion -> ShowS
[GetModelVersion] -> ShowS
GetModelVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetModelVersion] -> ShowS
$cshowList :: [GetModelVersion] -> ShowS
show :: GetModelVersion -> String
$cshow :: GetModelVersion -> String
showsPrec :: Int -> GetModelVersion -> ShowS
$cshowsPrec :: Int -> GetModelVersion -> ShowS
Prelude.Show, forall x. Rep GetModelVersion x -> GetModelVersion
forall x. GetModelVersion -> Rep GetModelVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetModelVersion x -> GetModelVersion
$cfrom :: forall x. GetModelVersion -> Rep GetModelVersion x
Prelude.Generic)

-- |
-- Create a value of 'GetModelVersion' 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:
--
-- 'modelId', 'getModelVersion_modelId' - The model ID.
--
-- 'modelType', 'getModelVersion_modelType' - The model type.
--
-- 'modelVersionNumber', 'getModelVersion_modelVersionNumber' - The model version number.
newGetModelVersion ::
  -- | 'modelId'
  Prelude.Text ->
  -- | 'modelType'
  ModelTypeEnum ->
  -- | 'modelVersionNumber'
  Prelude.Text ->
  GetModelVersion
newGetModelVersion :: Text -> ModelTypeEnum -> Text -> GetModelVersion
newGetModelVersion
  Text
pModelId_
  ModelTypeEnum
pModelType_
  Text
pModelVersionNumber_ =
    GetModelVersion'
      { $sel:modelId:GetModelVersion' :: Text
modelId = Text
pModelId_,
        $sel:modelType:GetModelVersion' :: ModelTypeEnum
modelType = ModelTypeEnum
pModelType_,
        $sel:modelVersionNumber:GetModelVersion' :: Text
modelVersionNumber = Text
pModelVersionNumber_
      }

-- | The model ID.
getModelVersion_modelId :: Lens.Lens' GetModelVersion Prelude.Text
getModelVersion_modelId :: Lens' GetModelVersion Text
getModelVersion_modelId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersion' {Text
modelId :: Text
$sel:modelId:GetModelVersion' :: GetModelVersion -> Text
modelId} -> Text
modelId) (\s :: GetModelVersion
s@GetModelVersion' {} Text
a -> GetModelVersion
s {$sel:modelId:GetModelVersion' :: Text
modelId = Text
a} :: GetModelVersion)

-- | The model type.
getModelVersion_modelType :: Lens.Lens' GetModelVersion ModelTypeEnum
getModelVersion_modelType :: Lens' GetModelVersion ModelTypeEnum
getModelVersion_modelType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersion' {ModelTypeEnum
modelType :: ModelTypeEnum
$sel:modelType:GetModelVersion' :: GetModelVersion -> ModelTypeEnum
modelType} -> ModelTypeEnum
modelType) (\s :: GetModelVersion
s@GetModelVersion' {} ModelTypeEnum
a -> GetModelVersion
s {$sel:modelType:GetModelVersion' :: ModelTypeEnum
modelType = ModelTypeEnum
a} :: GetModelVersion)

-- | The model version number.
getModelVersion_modelVersionNumber :: Lens.Lens' GetModelVersion Prelude.Text
getModelVersion_modelVersionNumber :: Lens' GetModelVersion Text
getModelVersion_modelVersionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersion' {Text
modelVersionNumber :: Text
$sel:modelVersionNumber:GetModelVersion' :: GetModelVersion -> Text
modelVersionNumber} -> Text
modelVersionNumber) (\s :: GetModelVersion
s@GetModelVersion' {} Text
a -> GetModelVersion
s {$sel:modelVersionNumber:GetModelVersion' :: Text
modelVersionNumber = Text
a} :: GetModelVersion)

instance Core.AWSRequest GetModelVersion where
  type
    AWSResponse GetModelVersion =
      GetModelVersionResponse
  request :: (Service -> Service) -> GetModelVersion -> Request GetModelVersion
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 GetModelVersion
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetModelVersion)))
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 Text
-> Maybe ExternalEventsDetail
-> Maybe IngestedEventsDetail
-> Maybe Text
-> Maybe ModelTypeEnum
-> Maybe Text
-> Maybe Text
-> Maybe TrainingDataSchema
-> Maybe TrainingDataSourceEnum
-> Int
-> GetModelVersionResponse
GetModelVersionResponse'
            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
"arn")
            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
"externalEventsDetail")
            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
"ingestedEventsDetail")
            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
"modelId")
            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
"modelType")
            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
"modelVersionNumber")
            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
"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 (Maybe a)
Data..?> Key
"trainingDataSchema")
            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
"trainingDataSource")
            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))
      )

instance Prelude.Hashable GetModelVersion where
  hashWithSalt :: Int -> GetModelVersion -> Int
hashWithSalt Int
_salt GetModelVersion' {Text
ModelTypeEnum
modelVersionNumber :: Text
modelType :: ModelTypeEnum
modelId :: Text
$sel:modelVersionNumber:GetModelVersion' :: GetModelVersion -> Text
$sel:modelType:GetModelVersion' :: GetModelVersion -> ModelTypeEnum
$sel:modelId:GetModelVersion' :: GetModelVersion -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
modelId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ModelTypeEnum
modelType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
modelVersionNumber

instance Prelude.NFData GetModelVersion where
  rnf :: GetModelVersion -> ()
rnf GetModelVersion' {Text
ModelTypeEnum
modelVersionNumber :: Text
modelType :: ModelTypeEnum
modelId :: Text
$sel:modelVersionNumber:GetModelVersion' :: GetModelVersion -> Text
$sel:modelType:GetModelVersion' :: GetModelVersion -> ModelTypeEnum
$sel:modelId:GetModelVersion' :: GetModelVersion -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
modelId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ModelTypeEnum
modelType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
modelVersionNumber

instance Data.ToHeaders GetModelVersion where
  toHeaders :: GetModelVersion -> 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
"AWSHawksNestServiceFacade.GetModelVersion" ::
                          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 GetModelVersion where
  toJSON :: GetModelVersion -> Value
toJSON GetModelVersion' {Text
ModelTypeEnum
modelVersionNumber :: Text
modelType :: ModelTypeEnum
modelId :: Text
$sel:modelVersionNumber:GetModelVersion' :: GetModelVersion -> Text
$sel:modelType:GetModelVersion' :: GetModelVersion -> ModelTypeEnum
$sel:modelId:GetModelVersion' :: GetModelVersion -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just (Key
"modelId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
modelId),
            forall a. a -> Maybe a
Prelude.Just (Key
"modelType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ModelTypeEnum
modelType),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"modelVersionNumber" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
modelVersionNumber)
          ]
      )

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

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

-- | /See:/ 'newGetModelVersionResponse' smart constructor.
data GetModelVersionResponse = GetModelVersionResponse'
  { -- | The model version ARN.
    GetModelVersionResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The details of the external events data used for training the model
    -- version. This will be populated if the @trainingDataSource@ is
    -- @EXTERNAL_EVENTS@
    GetModelVersionResponse -> Maybe ExternalEventsDetail
externalEventsDetail :: Prelude.Maybe ExternalEventsDetail,
    -- | The details of the ingested events data used for training the model
    -- version. This will be populated if the @trainingDataSource@ is
    -- @INGESTED_EVENTS@.
    GetModelVersionResponse -> Maybe IngestedEventsDetail
ingestedEventsDetail :: Prelude.Maybe IngestedEventsDetail,
    -- | The model ID.
    GetModelVersionResponse -> Maybe Text
modelId :: Prelude.Maybe Prelude.Text,
    -- | The model type.
    GetModelVersionResponse -> Maybe ModelTypeEnum
modelType :: Prelude.Maybe ModelTypeEnum,
    -- | The model version number.
    GetModelVersionResponse -> Maybe Text
modelVersionNumber :: Prelude.Maybe Prelude.Text,
    -- | The model version status.
    --
    -- Possible values are:
    --
    -- -   @TRAINING_IN_PROGRESS@
    --
    -- -   @TRAINING_COMPLETE@
    --
    -- -   @ACTIVATE_REQUESTED@
    --
    -- -   @ACTIVATE_IN_PROGRESS@
    --
    -- -   @ACTIVE@
    --
    -- -   @INACTIVATE_REQUESTED@
    --
    -- -   @INACTIVATE_IN_PROGRESS@
    --
    -- -   @INACTIVE@
    --
    -- -   @ERROR@
    GetModelVersionResponse -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | The training data schema.
    GetModelVersionResponse -> Maybe TrainingDataSchema
trainingDataSchema :: Prelude.Maybe TrainingDataSchema,
    -- | The training data source.
    GetModelVersionResponse -> Maybe TrainingDataSourceEnum
trainingDataSource :: Prelude.Maybe TrainingDataSourceEnum,
    -- | The response's http status code.
    GetModelVersionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetModelVersionResponse -> GetModelVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetModelVersionResponse -> GetModelVersionResponse -> Bool
$c/= :: GetModelVersionResponse -> GetModelVersionResponse -> Bool
== :: GetModelVersionResponse -> GetModelVersionResponse -> Bool
$c== :: GetModelVersionResponse -> GetModelVersionResponse -> Bool
Prelude.Eq, ReadPrec [GetModelVersionResponse]
ReadPrec GetModelVersionResponse
Int -> ReadS GetModelVersionResponse
ReadS [GetModelVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetModelVersionResponse]
$creadListPrec :: ReadPrec [GetModelVersionResponse]
readPrec :: ReadPrec GetModelVersionResponse
$creadPrec :: ReadPrec GetModelVersionResponse
readList :: ReadS [GetModelVersionResponse]
$creadList :: ReadS [GetModelVersionResponse]
readsPrec :: Int -> ReadS GetModelVersionResponse
$creadsPrec :: Int -> ReadS GetModelVersionResponse
Prelude.Read, Int -> GetModelVersionResponse -> ShowS
[GetModelVersionResponse] -> ShowS
GetModelVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetModelVersionResponse] -> ShowS
$cshowList :: [GetModelVersionResponse] -> ShowS
show :: GetModelVersionResponse -> String
$cshow :: GetModelVersionResponse -> String
showsPrec :: Int -> GetModelVersionResponse -> ShowS
$cshowsPrec :: Int -> GetModelVersionResponse -> ShowS
Prelude.Show, forall x. Rep GetModelVersionResponse x -> GetModelVersionResponse
forall x. GetModelVersionResponse -> Rep GetModelVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetModelVersionResponse x -> GetModelVersionResponse
$cfrom :: forall x. GetModelVersionResponse -> Rep GetModelVersionResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetModelVersionResponse' 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:
--
-- 'arn', 'getModelVersionResponse_arn' - The model version ARN.
--
-- 'externalEventsDetail', 'getModelVersionResponse_externalEventsDetail' - The details of the external events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @EXTERNAL_EVENTS@
--
-- 'ingestedEventsDetail', 'getModelVersionResponse_ingestedEventsDetail' - The details of the ingested events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @INGESTED_EVENTS@.
--
-- 'modelId', 'getModelVersionResponse_modelId' - The model ID.
--
-- 'modelType', 'getModelVersionResponse_modelType' - The model type.
--
-- 'modelVersionNumber', 'getModelVersionResponse_modelVersionNumber' - The model version number.
--
-- 'status', 'getModelVersionResponse_status' - The model version status.
--
-- Possible values are:
--
-- -   @TRAINING_IN_PROGRESS@
--
-- -   @TRAINING_COMPLETE@
--
-- -   @ACTIVATE_REQUESTED@
--
-- -   @ACTIVATE_IN_PROGRESS@
--
-- -   @ACTIVE@
--
-- -   @INACTIVATE_REQUESTED@
--
-- -   @INACTIVATE_IN_PROGRESS@
--
-- -   @INACTIVE@
--
-- -   @ERROR@
--
-- 'trainingDataSchema', 'getModelVersionResponse_trainingDataSchema' - The training data schema.
--
-- 'trainingDataSource', 'getModelVersionResponse_trainingDataSource' - The training data source.
--
-- 'httpStatus', 'getModelVersionResponse_httpStatus' - The response's http status code.
newGetModelVersionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetModelVersionResponse
newGetModelVersionResponse :: Int -> GetModelVersionResponse
newGetModelVersionResponse Int
pHttpStatus_ =
  GetModelVersionResponse'
    { $sel:arn:GetModelVersionResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:externalEventsDetail:GetModelVersionResponse' :: Maybe ExternalEventsDetail
externalEventsDetail = forall a. Maybe a
Prelude.Nothing,
      $sel:ingestedEventsDetail:GetModelVersionResponse' :: Maybe IngestedEventsDetail
ingestedEventsDetail = forall a. Maybe a
Prelude.Nothing,
      $sel:modelId:GetModelVersionResponse' :: Maybe Text
modelId = forall a. Maybe a
Prelude.Nothing,
      $sel:modelType:GetModelVersionResponse' :: Maybe ModelTypeEnum
modelType = forall a. Maybe a
Prelude.Nothing,
      $sel:modelVersionNumber:GetModelVersionResponse' :: Maybe Text
modelVersionNumber = forall a. Maybe a
Prelude.Nothing,
      $sel:status:GetModelVersionResponse' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingDataSchema:GetModelVersionResponse' :: Maybe TrainingDataSchema
trainingDataSchema = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingDataSource:GetModelVersionResponse' :: Maybe TrainingDataSourceEnum
trainingDataSource = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetModelVersionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The model version ARN.
getModelVersionResponse_arn :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_arn :: Lens' GetModelVersionResponse (Maybe Text)
getModelVersionResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe Text
a -> GetModelVersionResponse
s {$sel:arn:GetModelVersionResponse' :: Maybe Text
arn = Maybe Text
a} :: GetModelVersionResponse)

-- | The details of the external events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @EXTERNAL_EVENTS@
getModelVersionResponse_externalEventsDetail :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe ExternalEventsDetail)
getModelVersionResponse_externalEventsDetail :: Lens' GetModelVersionResponse (Maybe ExternalEventsDetail)
getModelVersionResponse_externalEventsDetail = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe ExternalEventsDetail
externalEventsDetail :: Maybe ExternalEventsDetail
$sel:externalEventsDetail:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe ExternalEventsDetail
externalEventsDetail} -> Maybe ExternalEventsDetail
externalEventsDetail) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe ExternalEventsDetail
a -> GetModelVersionResponse
s {$sel:externalEventsDetail:GetModelVersionResponse' :: Maybe ExternalEventsDetail
externalEventsDetail = Maybe ExternalEventsDetail
a} :: GetModelVersionResponse)

-- | The details of the ingested events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @INGESTED_EVENTS@.
getModelVersionResponse_ingestedEventsDetail :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe IngestedEventsDetail)
getModelVersionResponse_ingestedEventsDetail :: Lens' GetModelVersionResponse (Maybe IngestedEventsDetail)
getModelVersionResponse_ingestedEventsDetail = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe IngestedEventsDetail
ingestedEventsDetail :: Maybe IngestedEventsDetail
$sel:ingestedEventsDetail:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe IngestedEventsDetail
ingestedEventsDetail} -> Maybe IngestedEventsDetail
ingestedEventsDetail) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe IngestedEventsDetail
a -> GetModelVersionResponse
s {$sel:ingestedEventsDetail:GetModelVersionResponse' :: Maybe IngestedEventsDetail
ingestedEventsDetail = Maybe IngestedEventsDetail
a} :: GetModelVersionResponse)

-- | The model ID.
getModelVersionResponse_modelId :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_modelId :: Lens' GetModelVersionResponse (Maybe Text)
getModelVersionResponse_modelId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe Text
modelId :: Maybe Text
$sel:modelId:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
modelId} -> Maybe Text
modelId) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe Text
a -> GetModelVersionResponse
s {$sel:modelId:GetModelVersionResponse' :: Maybe Text
modelId = Maybe Text
a} :: GetModelVersionResponse)

-- | The model type.
getModelVersionResponse_modelType :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe ModelTypeEnum)
getModelVersionResponse_modelType :: Lens' GetModelVersionResponse (Maybe ModelTypeEnum)
getModelVersionResponse_modelType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe ModelTypeEnum
modelType :: Maybe ModelTypeEnum
$sel:modelType:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe ModelTypeEnum
modelType} -> Maybe ModelTypeEnum
modelType) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe ModelTypeEnum
a -> GetModelVersionResponse
s {$sel:modelType:GetModelVersionResponse' :: Maybe ModelTypeEnum
modelType = Maybe ModelTypeEnum
a} :: GetModelVersionResponse)

-- | The model version number.
getModelVersionResponse_modelVersionNumber :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_modelVersionNumber :: Lens' GetModelVersionResponse (Maybe Text)
getModelVersionResponse_modelVersionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe Text
modelVersionNumber :: Maybe Text
$sel:modelVersionNumber:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
modelVersionNumber} -> Maybe Text
modelVersionNumber) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe Text
a -> GetModelVersionResponse
s {$sel:modelVersionNumber:GetModelVersionResponse' :: Maybe Text
modelVersionNumber = Maybe Text
a} :: GetModelVersionResponse)

-- | The model version status.
--
-- Possible values are:
--
-- -   @TRAINING_IN_PROGRESS@
--
-- -   @TRAINING_COMPLETE@
--
-- -   @ACTIVATE_REQUESTED@
--
-- -   @ACTIVATE_IN_PROGRESS@
--
-- -   @ACTIVE@
--
-- -   @INACTIVATE_REQUESTED@
--
-- -   @INACTIVATE_IN_PROGRESS@
--
-- -   @INACTIVE@
--
-- -   @ERROR@
getModelVersionResponse_status :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_status :: Lens' GetModelVersionResponse (Maybe Text)
getModelVersionResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe Text
status :: Maybe Text
$sel:status:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
status} -> Maybe Text
status) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe Text
a -> GetModelVersionResponse
s {$sel:status:GetModelVersionResponse' :: Maybe Text
status = Maybe Text
a} :: GetModelVersionResponse)

-- | The training data schema.
getModelVersionResponse_trainingDataSchema :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe TrainingDataSchema)
getModelVersionResponse_trainingDataSchema :: Lens' GetModelVersionResponse (Maybe TrainingDataSchema)
getModelVersionResponse_trainingDataSchema = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe TrainingDataSchema
trainingDataSchema :: Maybe TrainingDataSchema
$sel:trainingDataSchema:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe TrainingDataSchema
trainingDataSchema} -> Maybe TrainingDataSchema
trainingDataSchema) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe TrainingDataSchema
a -> GetModelVersionResponse
s {$sel:trainingDataSchema:GetModelVersionResponse' :: Maybe TrainingDataSchema
trainingDataSchema = Maybe TrainingDataSchema
a} :: GetModelVersionResponse)

-- | The training data source.
getModelVersionResponse_trainingDataSource :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe TrainingDataSourceEnum)
getModelVersionResponse_trainingDataSource :: Lens' GetModelVersionResponse (Maybe TrainingDataSourceEnum)
getModelVersionResponse_trainingDataSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetModelVersionResponse' {Maybe TrainingDataSourceEnum
trainingDataSource :: Maybe TrainingDataSourceEnum
$sel:trainingDataSource:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe TrainingDataSourceEnum
trainingDataSource} -> Maybe TrainingDataSourceEnum
trainingDataSource) (\s :: GetModelVersionResponse
s@GetModelVersionResponse' {} Maybe TrainingDataSourceEnum
a -> GetModelVersionResponse
s {$sel:trainingDataSource:GetModelVersionResponse' :: Maybe TrainingDataSourceEnum
trainingDataSource = Maybe TrainingDataSourceEnum
a} :: GetModelVersionResponse)

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

instance Prelude.NFData GetModelVersionResponse where
  rnf :: GetModelVersionResponse -> ()
rnf GetModelVersionResponse' {Int
Maybe Text
Maybe ExternalEventsDetail
Maybe IngestedEventsDetail
Maybe ModelTypeEnum
Maybe TrainingDataSourceEnum
Maybe TrainingDataSchema
httpStatus :: Int
trainingDataSource :: Maybe TrainingDataSourceEnum
trainingDataSchema :: Maybe TrainingDataSchema
status :: Maybe Text
modelVersionNumber :: Maybe Text
modelType :: Maybe ModelTypeEnum
modelId :: Maybe Text
ingestedEventsDetail :: Maybe IngestedEventsDetail
externalEventsDetail :: Maybe ExternalEventsDetail
arn :: Maybe Text
$sel:httpStatus:GetModelVersionResponse' :: GetModelVersionResponse -> Int
$sel:trainingDataSource:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe TrainingDataSourceEnum
$sel:trainingDataSchema:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe TrainingDataSchema
$sel:status:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
$sel:modelVersionNumber:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
$sel:modelType:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe ModelTypeEnum
$sel:modelId:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
$sel:ingestedEventsDetail:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe IngestedEventsDetail
$sel:externalEventsDetail:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe ExternalEventsDetail
$sel:arn:GetModelVersionResponse' :: GetModelVersionResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExternalEventsDetail
externalEventsDetail
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IngestedEventsDetail
ingestedEventsDetail
      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 ModelTypeEnum
modelType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelVersionNumber
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrainingDataSchema
trainingDataSchema
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrainingDataSourceEnum
trainingDataSource
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus